#include "cfunc.h"
int print() {/*开始界面设计*/
int n;
clrscr(); /*清屏*/
printf("\n\n");
printf("\t*************************************************************\n");
printf("\t* *\n");
printf("\t* *\n");
printf("\t* *\n");
printf("\t*----------------WELCOME TO ACADEMIC SYSTEM !---------------*\n");
printf("\t* *\n");
printf("\t* 1:STUDENT MANAGEMENT *\n");
printf("\t* 2:COURSE MANAGEMENT *\n");
printf("\t* 0:Exit MANAGEMENT *\n");
printf("\t* *\n");
printf("\t*************************************************************\n");
printf("\t\tNow please select 1,2 or 0: ");
scanf("%d",&n);getchar();
return n;
}
int menu(char *m[],int n) {
int i;
int select;
clrscr();/*清屏幕*/
gotoxy(1,1); /*移动光标*/
textcolor(WHITE); /*设置文本显示颜色为白色*/
textbackground(BLUE); /*设置背景颜色为蓝色*/
gotoxy(19,2); /*移动光标*/
putch(0xc9); /*输出左上角边框┏*/
for(i=1;i<44;i++)
putch(0xcd); /*输出上边框水平线*/
putch(0xbb); /*输出右上角边框 ┓*/
for(i=3;i<20;i++){
gotoxy(19,i);
putch(0xba); /*输出左垂直线*/
gotoxy(63,i);
putch(0xba);
} /*输出右垂直线*/
gotoxy(19,20);putch(0xc8); /*输出左上角边框┗*/
for(i=1;i<44;i++)
putch(0xcd); /*输出下边框水平线*/
putch(0xbc); /*输出右下角边框┛*/
window(20,3,62,19); /* 制作显示菜单的窗口,大小根据菜单条数设计*/
clrscr(); /*清屏*/
for(i=0;i<n;i++){ /*输出主菜单数组*/
gotoxy(8,i+4);
cprintf("%s",m[i]);
}
textbackground(BLACK); /*设置背景颜色为黑色*/
window(1,1,80,25); /*恢复原窗口大小*/
gotoxy(10,21); /*移动光标*/
do{
printf("\n\t\t Enter your choice(0~%d) to continue...",n-2);
scanf("%d",&select); getchar(); /*输入选择项*/
}while(select<0||select>n); /*选择项不在0~13之间重输*/
return select; /*返回选择项,主程序根据该数调用相应的函数*/
}
main(){
int i;
char *m1[]={"*****Student System ******", /*定义菜单字符串数组*/
" 1. Init list", /*初始化,从学生文件中打开学生记录*/
" 2. Scorce management", /*学生成绩管理*/
" 3. Search record ", /*按照姓名查找记录*/
" 4. Append a record to list", /*在文件中追加记录*/
" 5. Modefiy a record to list", /*修改记录*/
" 6. Delete a record from list", /*从表中删除记录*/
" 7. Save the file", /*将单链表中记录保存到文件中*/
" 0. exit" /*返回主界面*/
};
char *m2[]={"*****Score System *****", /*定义成绩管理菜单字符串数组*/
" 1. Init list", /*初始化,录入学生成绩保存到成绩文件*/
" 2. Average of each subject", /*每个学生总成绩计算*/
" 3. Sort and order ", /*按照总成绩排序*/
" 4. filter score", /*按照分数段分类浏览*/
" 5. Display number and score", /*浏览学生成绩*/
" 0. return" /*返回学生管理菜单*/
};
char *m3[]={"*****Course System *****", /*定义课程管理菜单字符串数组*/
" 1. Init list", /*初始化,建立或者读出所学课程表单*/
" 2. Sort of course", /*所有课程上课顺序*/
" 3. Plan ", /*每个学期课程安排*/
" 0. return" /*返回主界面*/
};
Student *heads=NULL;/*学生文件信息内存中存储为链表*/
Course hc;/*课程信息存储为图*/
FILE *fps,fpc; /*文件指针*/
int s1,s2,s3; /*保存选择结果变量*/
char ch; /*保存(y,Y,n,N)*/
textcolor(GREEN);/*设置屏幕前景色*/
clrscr();/*清屏*/
do {/*开始界面中有三个功能,可以管理学生成绩记录和课程记录以及退出界面*/
clrscr();
textcolor(GREEN);
s1=print();/*调用开始管理界面*/
if (s1==1) {/*选择1进入学生成绩管理界面*/
do {/*循环进入管理学生成绩记录的菜单界面*/
clrscr();
s2=menu(m1,9);/*调用界面菜单*/
if(s2==0) {
if(flag==1){ /*若对链表的数据有修改且未进行存盘操作,则此标志为1*/
printf("\nWhether save the modified record to file?(y/n):");
scanf("%c",&ch);
if(ch=='y'||ch=='Y')/*如果选择了y,表示要存盘*/
save_s(heads);
}
printf("the student system quit.\n");
break;
}
switch(s2){/*菜单命令选择*/
case 1:heads=init_s();break;/*可以新建或者打开文件的内容到内存*/
case 2:
do {/*循环的功能是进入成绩管理界面*/
clrscr();
s3=menu(m2,7);/*调用成绩管理菜单*/
if (s3==0)/*输入0表示输出*/
break;
switch(s3){/*成绩处理菜单命令选择*/
case 1:input_g(heads,hc.cr);break;/*录入每门课的成绩和课程信息*/
case 2:ave_g(heads);break;/*计算每科的平均分*/
case 3:sort_g(heads);break;/*为成绩排序*/
case 4:filt_g(heads);break;/*分类成绩筛选*/
case 5:print_g(heads);break;/*输出成绩*/
}
}while(1);
break;
case 3:sear_s(heads);break;/*查找某个学生的成绩*/
case 4:heads=appe_s(heads);break;/*追加记录*/
case 5:heads=modi_s(heads);break;/*修改记录*/
case 6:heads=dele_s(heads);break;/*删除记录*/
case 7:save_s(heads);break;/*保存到文件*/
}
}while(1);
}
else if (s1==2) {/*选择2进入课程管理界面*/
do {/*循环管理课程*/
clrscr();
s2=menu(m3,5);/*调用课程管理菜单*/
if (s2==0) {clrscr(); break;}
switch(s2){
case 1:init_c(&hc);break;/*录入课程信息*/
case 2:sort_c(&hc);break;/*课程进度安排*/
case 3:plan_c(&hc);break;/*每个学期课程信息*/
}
}while(1);
}
else if (s1==0){/*选择0表示退出整个系统*/
clrscr();
gotoxy(20,15);
textcolor(WHITE);
cprintf("Press any key to exit.");
getch();/*敲入任意键,退出*/
exit(0);
}
}while(1);
}
没有合适的资源?快使用搜索试试~ 我知道了~
c语言开发范例大全全部代码
共1551个文件
c:552个
exe:539个
obj:303个
5星 · 超过95%的资源 需积分: 31 290 下载量 3 浏览量
2011-04-11
22:36:51
上传
评论 10
收藏 5.15MB RAR 举报
温馨提示
清华大学出版的c语言开发范例大全里面的全部代码,给学习c的同学能提供高质量的代码
资源推荐
资源详情
资源评论
收起资源包目录
c语言开发范例大全全部代码 (1551个子文件)
1001 0B
1010 54B
CFUNC.BAK 15KB
CMAIN.BAK 6KB
EXP534.BAK 2KB
EXP413.BAK 2KB
CHEAD.BAK 2KB
EXP457.BAK 2KB
EXP445.BAK 2KB
EXP452.BAK 2KB
EXP456.BAK 2KB
EXP475.BAK 2KB
EXP421.BAK 2KB
EXP450.BAK 2KB
EXP411.BAK 2KB
EXP448.BAK 2KB
EXP405.BAK 2KB
EXP417.BAK 2KB
EXP442.BAK 2KB
EXP407.BAK 2KB
EXP443.BAK 1KB
EXP446.BAK 1KB
EXP509.BAK 1KB
EXP441.BAK 1KB
EXP434.BAK 1KB
EXP408.BAK 1KB
EXP507.BAK 1KB
EXP454.BAK 1KB
EXP293.BAK 1KB
EXP510.BAK 1KB
EXP376.BAK 1KB
EXP437.BAK 1KB
EXP436.BAK 1KB
EXP439.BAK 1KB
EXP433.BAK 1015B
EXP493.BAK 1004B
EXP458.BAK 987B
EXP403.BAK 980B
EXP435.BAK 963B
EXP498.BAK 955B
EXP527.BAK 918B
EXP402.BAK 918B
EXP492.BAK 902B
EXP390.BAK 888B
EXP398.BAK 882B
EXP533.BAK 862B
EXP495.BAK 854B
EXP268.BAK 835B
EXP352.BAK 767B
EXP318.BAK 756B
EXP257.BAK 733B
EXP531.BAK 717B
EXP499.BAK 713B
EXP315.BAK 708B
EXP506.BAK 707B
EXP387.BAK 703B
EXP321.BAK 703B
EXP314.BAK 696B
EXP500.BAK 669B
EXP347.BAK 664B
EXP277.BAK 644B
EXP503.BAK 636B
EXP339.BAK 633B
EXP271.BAK 601B
EXP348.BAK 600B
EXP501.BAK 586B
EXP307.BAK 568B
EXP399.BAK 566B
E003.BAK 561B
EXP490.BAK 561B
EXP515.BAK 553B
EXP392.BAK 540B
EXP4951.BAK 534B
EXP378.BAK 529B
EXP494.BAK 521B
EXP272.BAK 517B
EXP377.BAK 492B
EXP256.BAK 480B
EXP350.BAK 469B
EXP477.BAK 453B
EXP357.BAK 446B
EXP349.BAK 424B
EXP312.BAK 420B
EXP249.BAK 414B
EXP280.BAK 380B
EXP276.BAK 378B
EXP341.BAK 362B
EXP346.BAK 344B
EXP340.BAK 335B
EXP355.BAK 319B
EXP360.BAK 318B
EXP520.BAK 314B
EXP308.BAK 309B
EXP395.BAK 303B
EXP514.BAK 298B
EXP343.BAK 285B
EXP463.BAK 270B
EXP328.BAK 262B
EXP338.BAK 241B
EXP294.BAK 220B
共 1551 条
- 1
- 2
- 3
- 4
- 5
- 6
- 16
goldboyfish
- 粉丝: 1
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页