c语言课程设计

发布 2022-09-30 17:58:28 阅读 1905

/*13. 源程序*/

#include <>

#include <>

#include <>

#include <>

#include <>

#include <>

#define left 0x4b00 /*左*/

#define right 0x4d00 /*右*/

#define down 0x5000 /*下*/

#define up 0x4800 /*上*/

#define space 0x3920 /*空格*/

#define esc 0x011b /*esc键*/

#define enter 0x1c0d /*回车键*/

#define backspace 0xe08 /*擦除键*/

#define alt_b 12288 /*组合键alt_b */

#define alt_m 12800/*组合键alt_m */

#define alt_h 8960/*组合键alt_h */

int key;/*按键变量*/

int textx,texty;/*光标坐标,x行,y列*/

struct menustruct/*菜单用的结构体*/

char name[10];/主菜单名*/

char str[10][20];/选项*/

int n;/*选项数*/

ml[3];/使用了3个,可根据需要增删*/

typedef struct booklist/*书的结构体*/

char num[20];/图书编号*/

char name[20];/书名*/

int price;/*书的***/

char person[20];/借阅人*/

int yes;/*判断书是否存在或者已经借出,1存在,0借出*/

struct booklist *next;

book;

typedef struct memberlist/*会员的结构体*/

char name[20];/会员的姓名*/

char sex[2];/会员的性别*/

int age;/*会员的年龄*/

struct memberlist *next;

member;

char s**e[4096];/保存文本区域空间*/

*char s**1[4096];*

char c[4096];/清屏专用空间*/

int i,j;/*常用变量*/

void menu();初始化界面*/

void selectitem();定义菜单*/

void drawselectitem();显示主菜单*/

void blacktext(int x,int y,char *z);/选中菜单*/

void redtext(int x,int y,char *z);/正常菜单*/

void run();具体操作过程*/

void drawml(int n);/显示下拉菜单*/

void moveml(int n,int x);/菜单选项的控制*/

void enter(int m,int n);/菜单选项的具体功能*/

void bookadd();添加图书*/

void bookconsult();图书查询*/

void bookdel();删除图书资料*/

void bookborrow();借书*/

void bookreturn();还书*/

void memberadd();增加会员*/

void memberconsult();查询会员*/

void memberdel();删除会员*/

void memberbook();查询会员借书信息*/

void help();帮助*/

void ver();版本信息*/

void clrscr();自定义清屏函数*/

void drawframe(int left,int up,int right,int down,int textcolor,int backgroundcolor);/画边框*/

***主函数***

void main(void)

menu();初始化界面*/

run();具体操作过程*/

*初始化界面*/

void menu()

system("cls");调用系统的清屏命令*/

textbackground(blue);/将背景设置为蓝色*/

window(1,1,25,80);

clrscr();

textx=3;/*光标初始化位置*/

texty=2;

gotoxy(1,2);

printf("%c",218);/画左上角*/

for(i=0;i<78;i++)

printf("%c",196); 画水平直线*/

printf("%c",191);/画右上角*/

for(i=3;i<=23;i++)

gotoxy(1,i);

printf("%c",179); 画垂直线*/

gotoxy(80,i);

printf("%c",179);

printf("%c",192); 画左下角*/

for(i=0;i<78;i++)

printf("%c",196);

printf("%c",217); 画右下角*/

gotoxy(1,1);

textcolor(7); 设置灰色*/

for(i=0;i<80;i++)

cprintf("%c",219);/用符号实现画主菜单的灰色背景区*/

selectitem();调用选项函数*/

drawselectitem();画选项*/

gettext(2,3,78,23,c); 保存当前文本区域*/

*定义菜单*/

void selectitem()

strcpy(ml[0].name,"book");下面的具体选项补空格是为了各菜单黑色背景相同*/

strcpy(ml[0].str[0],"add ")添加图书*/

strcpy(ml[0].str[1],"consult ")查询图书*/

strcpy(ml[0].str[2],"del ")删除图书资料*/

strcpy(ml[0].str[3],"borrow ")借书*/

strcpy(ml[0].str[4],"return ")还书*/

strcpy(ml[0].str[5],"exit ")退出系统*/

ml[0].n=6; /保存菜单的项数*/

strcpy(ml[1].name,"member");

strcpy(ml[1].str[0],"add ")添加新会员*/

strcpy(ml[1].str[1],"consult ")查询会员资料*/

strcpy(ml[1].str[2],"del ")删除会员资料*/

strcpy(ml[1].str[3],"member&book ")

ml[1].n=4;

strcpy(ml[2].name,"help");系统帮助*/

strcpy(ml[2].str[0],"this system ")

strcpy(ml[2].str[1],"ver ")

ml[2].n=2;

*显示主单名*/

void drawselectitem()

for(i=0;i<3;i++)

redtext(i,1,ml[i].name); 显示主菜单名,且首字母为红色*/

*正常显示菜单*/

void redtext(int x,int y,char *z)

textbackground(7); 设置背景颜色为浅灰色*/

gotoxy(3+x*20,y);

for(j=0;z[j];j++)

if(j==0)

textcolor(red);/第一个字母显示红色*/

else textcolor(black); 设置黑色*/

cprintf("%c",z[j]);输出菜单名*/

*显示选中菜单*/

void blacktext(int x,int y,char *z)

textbackground(0); 设置背景颜色为黑色*/

textcolor(15); 设置文本颜色为白色*/

gotoxy(3+20*x,y);/定位坐标*/

cputs(z); 输出菜单名字符串*/

*按键操作过程*/

void run()

while(1)

gotoxy(texty,textx);

key=bioskey(0);/接收按键*/

switch(key)

case alt_b:

case esc: drawml(0);break; /显示下拉菜单1*/

case alt_m: drawml(1);break;/*显示下拉菜单2*/

case alt_h: drawml(2);/显示下拉菜单3*/

case up: /上光标键的操作控制*/

if(textx==3)

textx=23;

textx--;

gotoxy(texty,textx);

break;

case down: /下光标键的操作控制*/

if(textx==23)

textx=3;

textx++;

gotoxy(texty,textx);

break;

case left: /左光标键的操作控制*/

if(texty==2)

texty=79;

texty--;

gotoxy(texty,textx);

break;

case backspace: /擦除键的设置*/

if(texty==2&&textx==3)

continue; else

if(texty!=2)

texty--;擦除键的细节问题,先擦去东西,然后光标还要往后退一格*/

else

C语言课程课程设计

课程设计报告。课程名称 c语言程序设计 系别 xxx 专业班级 xxx班 学号 xxxxxxxxxx 姓名 xxx 课程题目 10或100以内儿童加减乘除算术游戏。完成日期 2013.6.14 19 指导老师 xxx 2013年 6月 21日。附件 一 程序模块图。二 源程序。include inc...

C语言课程设计

目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。xx xx学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 课程类别 专业基础课。制订时间 2010年11月 计算机科学与技术系制。c语言程序课程设计教学...

C语言课程设计

目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。珠海学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 2010级计算机科学与技术系各专业。课程类别 专业基础课。制订时间 2010年11月 计算机科学与技...