/*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月 计算机科学与技...