《C语言班级管理系统程序》由会员分享,可在线阅读,更多相关《C语言班级管理系统程序(20页珍藏版)》请在人人文库网上搜索。
1、include #include #include #define N 100struct student char XUEHAO10;char BANJI6;char XINGMING6;char XINGBIE2;char SHENGRI8;char JIGUAN10;char XUEYUAN10;char TIANHUA10;void CAIDAN();void LURU();void SHAXUN();void sch_XUEHAO(FILE *fp);void sch_XINGMING(FILE *fp);void SHANCHU();void del_XUEHAO(FILE *fp。
2、);void del_XINGMING(FILE *fp);void TIANJIA();void XIUGAI();void XIANZHI();void TONGJI();main() char choose,yes_no;do CAIDAN();printf(n 请输入序号: (18) );choose=getch();switch(choose) case1: printf( %c,choose);LURU();break;case2: printf( %c,choose);SHAXUN();break;case3: printf( %c,choose);SHANCHU();break。
3、;case4: printf( %c,choose);TIANJIA();break;case5: printf( %c,choose);XIUGAI();break;case6: printf( %c,choose);XIANZHI();break;case7: printf( %c,choose);TONGJI();break;case8: break;default:printf(n %c 序号不对!n,choose);if(choose=8)break;printf(n 要继续选择吗 ? (Y/N) n);do yes_no=getch(); printf( %c,yes_no);wh。
4、ile(yes_no!=Y&yes_no!=y&yes_no!=N&yes_no!=n);while(yes_no=Y|yes_no=y);void CAIDAN() printf(nnn);printf( * n );printf( * 请输入序号: (1 8) * n );printf( * 1-录入学生信息 * n );printf( * 2-查询学生信息 * n );printf( * 3-删除学生信息 * n );printf( * 4-添加学生信息 * n );printf( * 5-修改学生信息 * n );printf( * 6-显示学生信息 * n );printf( * 7。
5、-查找同一个学院的人数 * n );printf( * 8-退出系统 * n );printf( * n );/*定义录入学生信息的函数*/void LURU() int i=1;struct student temp;FILE *fp;fp=fopen(123.dat,w);if(fp=NULL) printf(n 打开文件失败! n);return; printf(n 请输入第1个学生信息:n);printf( 学号(用#结束输入): );do gets(temp.XUEHAO);while(strcmp(temp.XUEHAO, )=0);printf( 班级(用#结束输入): );ge。
6、ts(temp.BANJI);printf( 姓名(用#结束输入): );gets(temp.XINGMING);printf( 性别(用#结束输入): );gets(temp.XINGBIE);printf( 生日(用#结束输入): );gets(temp.SHENGRI);printf( 籍贯(用#结束输入): );gets(temp.JIGUAN);printf( 学院(用#结束输入): );gets(temp.XUEYUAN);printf( 电话(用#结束输入): );gets(temp.TIANHUA);while(temp.XUEHAO0!=#&temp.BANJI0!=#&te。
7、mp.XINGMING0!=#&temp.XINGBIE0!=#&temp.SHENGRI0!=#&temp.JIGUAN0!=#&temp.XUEYUAN0!=#&temp.TIANHUA0!=#) fprintf(fp,%5s%10s%10s%10s%10s%10s%10s%10sn,temp.XUEHAO,temp.BANJI,temp.XINGMING,temp.XINGBIE,temp.SHENGRI,temp.JIGUAN,temp.XUEYUAN,temp.TIANHUA);i+;printf(n 请输入第 %d 个学生信息:n ,i);printf( 学号(用#结束输入): )。
8、;do gets(temp.XUEHAO);while(strcmp(temp.XUEHAO, )=0);printf( 班级(用#结束输入): );gets(temp.BANJI);printf( 姓名(用#结束输入): );gets(temp.XINGMING);printf( 性别(用#结束输入): );gets(temp.XINGBIE);printf( 生日(用#结束输入): );gets(temp.SHENGRI);printf( 籍贯(用#结束输入): );gets(temp.JIGUAN);printf( 学院(用#结束输入): );gets(temp.XUEYUAN);pri。
9、ntf( 电话(用#结束输入): );gets(temp.TIANHUA);fclose(fp);/*定义查询学生信息的函数*/void SHAXUN() char c;FILE *fp;fp=fopen(123.dat,r);if(fp=NULL) printf(n 打开文件失败! n);return; printf(n 按学号查询( 1 ),还是按姓名查询( 2 )? );c=getch();putch(c);if(c=1) sch_XUEHAO(fp);else if(c=2) sch_XINGMING(fp);else printf(n 非法字符!n);fclose(fp);/*定义按。
10、学号查询学生信息的函数*/void sch_XUEHAO(FILE *fp) int flag=0,n=0;char tempXUEHAO10;struct student temp;printf(n 请输入要查询学生信息的学号: );gets(tempXUEHAO);while(feof(fp)=0) fscanf(fp,%5s%10s%10s%10s%10s%10s%10s%10sn,&temp.XUEHAO,&temp.BANJI,&temp.XINGMING,&temp.XINGBIE,&temp.SHENGRI,&temp.JIGUAN,&temp.XUEYUAN,&temp.TIA。
11、NHUA);if(strcmp(tempXUEHAO,temp.XUEHAO)=0) if(flag=0)printf( 学号 班级 姓名 性别 生日 籍贯 学院 电话n);printf(%5s%10s%10s%10s%10s%10s%10s%10sn,temp.XUEHAO,temp.BANJI,temp.XINGMING,temp.XINGBIE,temp.SHENGRI,temp.JIGUAN,temp.XUEYUAN,temp.TIANHUA);flag=1;n+;if(n=0) printf(n 文件中无此信息!n);else if(flag=0) printf(n 文件中无此人!n。
12、);/*定义按姓名查询学生信息的函数*/void sch_XINGMING(FILE *fp) int flag=0,n=0;char tempXINGMING6;struct student temp;printf(n 请输入要查询学生信息的姓名: );gets(tempXINGMING);while(feof(fp)=0) fscanf(fp, %5s%10s%10s%10s%10s%10s%10s%10sn,&temp.XUEHAO,&temp.BANJI,&temp.XINGMING,&temp.XINGBIE,&temp.SHENGRI,&temp.JIGUAN,&temp.XUEY。
13、UAN,&temp.TIANHUA);if(strcmp(tempXINGMING,temp.XINGMING)=0) if(flag=0) printf( 学号 班级 姓名 性别 生日 籍贯 学院 电话n);printf(%5s%10s%10s%10s%10s%10s%10s%10sn,temp.XUEHAO,temp.BANJI,temp.XINGMING,temp.XINGBIE,temp.SHENGRI,temp.JIGUAN,temp.XUEYUAN,temp.TIANHUA);flag=1;n+;if(n=0) printf(n 文件中无此信息!n);else if(flag=0)。
14、 printf(n 文件中无此人!n);/*定义删除学生信息的函数*/void SHANCHU() char c;FILE *fp;fp=fopen(123.dat,r);if(fp=NULL) printf(n 文件打开失败!n );return; printf(n 按学号删除( 1 ),还是按姓名删除( 2 )? );c=getch();putch(c);if(c=1) del_XUEHAO(fp);else if(c=2) del_XINGMING(fp);else printf(n 非法字符!n);fclose(fp);/*定义按学号删除学生信息的函数*/void del_XUEHAO。
15、(FILE *fp) char tempXUEHAO10;int n=0,i=0,k;struct student stuN;while(feof(fp)=0) fscanf(fp,%5s%10s%10s%10s%10s%10s%10s%10sn,stui.XUEHAO,stui.BANJI,stui.XINGMING,stui.XINGBIE,stui.SHENGRI,stui.JIGUAN,stui.XUEYUAN,stui.TIANHUA);i+;n+;fclose(fp);printf(n 请输入要删除的学生信息的学号:);scanf(%s,tempXUEHAO);for(i=0;iX。
16、UEHAO)=0) find=p; break; if(p=stu+n) printf(n 无此信息!n);return; do printf(n 请输入新学生信息的学号:);do scanf(%s,temp.XUEHAO); while(strcmp(temp.XUEHAO, )=0);printf( 请输入新学生信息的班级:);scanf(%s,temp.BANJI);printf( 请输入新学生信息的姓名:);scanf(%s,temp.XINGMING);printf( 请输入新学生信息的性别:);scanf(%s,temp.XINGBIE);printf( 请输入新学生信息的生日:)。
17、;scanf(%s,temp.SHENGRI);printf( 请输入新学生信息的籍贯:);scanf(%s,temp.JIGUAN);printf( 请输入新学生信息的学院:);scanf(%s,temp.XUEYUAN);printf( 请输入新学生信息的电话:);scanf(%s,temp.TIANHUA);for(p=stu;pXUEHAO)=0&p!=find) printf(n 学号重复,要重新输入吗(Y/n)?);do c=getch();putch(c);while(c!=Y&c!=y&c!=N&c!=n);putchar(n);break;if(p=stu+n) *find=。
18、temp; break; while(c=Y|c=y);fp=fopen(123.dat,wb);if(fp=NULL) printf(n 打开文件失败!n ); return; for(p=stu;pXUEHAO,p-BANJI,p-XINGMING,p-XINGBIE,p-SHENGRI,p-JIGUAN,p-XUEYUAN,p-TIANHUA);fclose(fp);/*定义显示学生信息的函数*/void XIANZHI() int n=0,i=0;struct student stuN;FILE *fp;fp=fopen(123.dat,r);if(fp=NULL) printf(n 。
19、打开文件失败!n); return; printf(nn 学号 班级 姓名 性别 生日 籍贯 学院 电话n);while(feof(fp)=0) fscanf(fp,%5s%10s%10s%10s%10s%10s%10s%10sn,stui.XUEHAO,stui.BANJI,stui.XINGMING,stui.XINGBIE,stui.SHENGRI,stui.JIGUAN,stui.XUEYUAN,stui.TIANHUA); +i; +n; if(n=0)printf(n 文件中无此信息!n);else for(i=0;in;i+)printf(%5s%10s%10s%10s%10s%。
20、10s%10s%10sn,stui.XUEHAO,stui.BANJI,stui.XINGMING,stui.XINGBIE,stui.SHENGRI,stui.JIGUAN,stui.XUEYUAN,stui.TIANHUA);printf(nn 文件中共有 %d 个信息!n,n);fclose(fp);/*定义在同一个学院的学生人数的函数*/void TONGJI() int i=0,n=0,k=0;char tempXUEYUAN10;struct student stuN;FILE *fp;fp=fopen(123.dat,r);if(fp=NULL) printf(n 打开文件失败!。
21、n); return; while(feof(fp)=0)fscanf(fp,%5s%10s%10s%10s%10s%10s%10s%10sn,&stui.XUEHAO,&stui.BANJI,&stui.XINGMING,&stui.XINGBIE,&stui.SHENGRI,&stui.JIGUAN,&stui.XUEYUAN,&stui.TIANHUA);i+;n+; fclose(fp);printf(nn 请输入学院名称: );scanf(%s,tempXUEYUAN);printf(nn 学号 班级 姓名 性别 生日 籍贯 学院 电话n);for(i=0;in;i+)if(strcmp(tempXUEYUAN,stui.XUEYUAN)=0)printf(n%5s%10s%10s%10s%10s%10s%10s%10sn,stui.XUEHAO,stui.BANJI,stui.XINGMING,stui.XINGBIE,stui.SHENGRI,stui.JIGUAN,stui.XUEYUAN,stui.TIANHUA);k+;printf(nn 共有%d个学生在这个学院!n,k);20 / 20文档可自由编辑。