学生学籍管理源代码(C语言改良版).doc_第1页
学生学籍管理源代码(C语言改良版).doc_第2页
学生学籍管理源代码(C语言改良版).doc_第3页
学生学籍管理源代码(C语言改良版).doc_第4页
学生学籍管理源代码(C语言改良版).doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include #include string.h#define MAX 40#define PRINT1 printf(-n)#define PRINT2 printf(学号-姓名-性别-年龄-生日-籍贯-政治面貌-年级-班级-系别-专业nn)int sum=0;int number=6;int a=0;struct stu char name20; int num; char sex; int age; int grade; int class; char zhuanye30; ;struct dom char date30; char jiguan30; char zhengzhimianmao30; char xibie30; struct stu st;sMAX,p;/ /*保存信息*/ save_message() FILE *fp; int i; if(fp=fopen(dom.txt,wt)=NULL) printf(读文件错误!n); return 0; for(i=1;i= sum;i+) if(fwrite(&si,sizeof(struct dom),1,fp)!=1) printf(写文件错误!n); return 0; fclose(fp); int menu()/菜单界面 int i; printf(nnn *学籍管理系统*nn); printf( 1.录入学生信息nn); printf( 2.打印学生信息nn); printf( 3.更新学生信息nn); printf( 4.查询学生信息nn); printf( 0.退出系统nn); printf( 请选择(0-4):); do printf(请选择:); scanf(%d,&i); while(i4); return i; int shuru() /输入学生的信息 printf(n 学号: ); scanf(%d,&sa.st.num); if(sa.st.num=0) return 0; printf(n 姓名: ); scanf(%s,); printf(n 性别(男生用M表示,女生用F表示):); getchar(); scanf(%c,&sa.st.sex); printf(n 年龄: ); scanf(%d,&sa.st.age); printf(n 生日: ); scanf(%s,&sa.date); printf(n 籍贯: ); scanf(%s,&sa.jiguan); printf(n 政治面貌: ); scanf(%s,&sa.zhengzhimianmao); printf(n 年级: ); scanf(%d,&sa.st.grade); printf(n 班级: ); scanf(%d,&sa.st.class); printf(n 系别: ); scanf(%s,&sa.xibie); printf(n 专业: ); scanf(%s,&sa.st.zhuanye); return 0;/输入模块 input() char ch; printf(nn录入学生信息(最多%d个)n,MAX); printf(-n); printf(请输入第%d个学生的信息n,+a);shuru(); sum=a;printf(是否继续输入?:n);scanf(%c,&ch);ch=getchar();while(ch=y)printf(请输入第%d个学生的信息n,+a); shuru(); sum=a;ch=getchar(); printf(n);printf(是否继续输入?:);scanf(%c,&ch); if(ch=n) printf(n-%d个学生的信息输入完毕!-n,a); sum=a; printf(n按任意键返回主菜单!); getchar();return 0; /*读取信息*/ int read_message() FILE *fp; int i=1; if(fp=fopen(dom.txt,rt)=NULL) printf(nn*暂时还没有任何信息,按任意键进入主菜单选择基本信息的录入!*n); return 0; while(!feof(fp)/判断函数是否真的结束 fread(&si,sizeof(struct dom),1,fp); i+; fclose(fp); return(i); /*输出模块*/ output_message() int i;printf(nn -学生信息表- nn);PRINT2;PRINT1;for(i=1;i=sum;i+)if(si.st.num!=0) printf(%2d%9s%2c%7d%9s%9s%9s%5d%6d%9s%9snn,si.st.num,,si.st.sex,si.st.age, &si.date,&si.jiguan,&si.zhengzhimianmao,si.st.grade,si.st.class,&si.xibie,si.st.zhuanye); printf(n); / /*添加学生信息*/ insert_message() int i=sum+1,flag=0; char choice; printf(nn 添加一个新同学n); printf( -n); do printf(n 新学号: ); scanf(%d,&si.st.num); printf(n 姓名: ); scanf(%s,); printf(n 性别(男生用M表示,女生用F表示):); getchar(); scanf(%c,&si.st.sex); printf(n 年龄: ); scanf(%d,&si.st.age); printf(n 生日: ); scanf(%s,&si.date); printf(n 籍贯: ); scanf(%s,&si.jiguan); printf(n 政治面貌: ); scanf(%s,&si.zhengzhimianmao); printf(n 年级: ); scanf(%d,&si.st.grade); printf(n 班级: ); scanf(%d,&si.st.class); printf(n 系别: ); scanf(%s,&si.xibie); printf(n 专业: ); scanf(%s,&si.st.zhuanye); sum+; printf(n 要继续吗?(Y/N); getchar(); scanf(%c,&choice); if(choice=y | choice=Y) flag=1; i+; printf(n 继续!n); else if(choice=n|choice=N) flag=0; while(flag=1); printf(n 按任意键返回主菜单!); return 0; /*删除模块*/ del_message() int flag,del_num,i,k; char choice; do printf(n 输入要删除的学生学号: ); scanf(%d,&del_num); for(i=0;isum;i+) if(del_num=si.st.num) for(k=i;ksum-1;k+) sk=sk+1; sum-; printf(nn 继续吗?(Y/N); getchar(); scanf(%c,&choice); if(choice=y | choice=Y) flag=1; printf(n 继续!n); else flag=0; while(flag=1); printf(nn 按任意键返回主菜单!); getchar(); return 0; /*修改模块*/ revise_message()int i=0,choices,revise_num,flag=0; char choice; do printf(n 输入要修改的学生号: ); scanf(%d,&revise_num); for(i=0;isum;i+) if(si.st.num=revise_num) printf(n -学生信息-n); PRINT1; PRINT2; printf(%2d%9s%6c%7d%9s%9s%9s%5d%6d%9s%9snn,si.st.num,,si.st.sex,si.st.age, &si.date,&si.jiguan,&si.zhengzhimianmao,si.st.grade,si.st.class,&si.xibie,si.st.zhuanye); printf(n 您要修改哪一项?n); printf(n 1.学号n); printf(n 2.姓名n); printf(n 3.性别n); printf(n 4.年龄n); printf(n 5.生日n); printf(n 6.籍贯n); printf(n 7.政治面貌n); printf(n 8.年级n); printf(n 9.班级n); printf(n 10.系别n); printf(n 11.专业n); printf(n 请选择(1-11): ); scanf(%d,&choices); switch(choices) case 1:printf(n 输入修改后的学号); scanf(%d,&si.st.num);break; case 2:printf(n 输入修改后的姓名); scanf(%s,);break; case 3:printf(n 输入修改后的性别); scanf(%s,si.st.sex);break; case 4:printf(n 输入修改后的年龄); scanf(%d,&si.st.age);break; case 5:printf(n 输入修改后的生日); scanf(%s,&si.date);break; case 6:printf(n 输入修改后的籍贯); scanf(%s,&si.jiguan);break; case 7:printf(n 输入修改后的政治面貌); scanf(%s,&si.zhengzhimianmao);break; case 8:printf(n 输入修改后的年级); scanf(%d,&si.st.grade);break; case 9:printf(n 输入修改后的班级); scanf(%d,&si.st.class);break; case 10:printf(n 输入修改后的系别); scanf(%s,&si.xibie);break; case 11:printf(n 输入修改后的专业); scanf(%s,&si.st.zhuanye);break; PRINT1; PRINT2; printf(%2d%9s%6c%7d%9s%9s%9s%5d%6d%9s%9snn,si.st.num,,si.st.sex,si.st.age, &si.date,&si.jiguan,&si.zhengzhimianmao,si.st.grade,si.st.class,&si.xibie,si.st.zhuanye); break; if(i=sum) printf(n 该学生不存在!); return 0; while(flag=1); getchar(); printf(n 按任意键返回主菜单! ); return 0; /*更新模块*/ renew_message() int choice; do printf(nnn *更新学生信息*nn); printf( 1.添加学生信息nn); printf( 2.删除学生信息nn); printf( 3.修改学生信息nn); printf( 0.返回主菜单nn); printf( 请选择(0-3): ); scanf(%d,&choice); switch(choice) case 1:insert_message();break; case 2:del_message();break; case 3:revise_message();break; case 0:break; while(choice!=0); return 0; / inquire_name() /*按姓名查询*/ int i,j=0; char inquire_name10; printf(n 输入要查询的学生姓名: ); scanf(%s,inquire_name); for(i=0;isum;i+) if(strcmp(,inquire_name)=0&si.st.num!=0) printf(n -学生信息- n); PRINT1; PRINT2; printf(%2d%9s%6c%7d%9s%9s%9s%5d%6d%9s%9snn,si.st.num,,si.st.sex,si.st.age, &si.date,&si.jiguan,&si.zhengzhimianmao,si.st.grade,si.st.class,&si.xibie,si.st.zhuanye); else j+; if(j=sum) printf(n 该学生不存在!); return 0; int inquire_num() /*按学号查询*/ int i,j=0,inquire_num; printf(n 输入要查询的学生学号: ); scanf(%d,&inquire_num); for(i=0;isum;i+) if(inquire_num=si.st.num) printf(n -学生信息-n); PRINT1; PRINT2; printf(%2d%9s%6c%7d%9s%9s%9s%5d%6d%9s%9snn,si.st.num,,si.st.sex,si.st.age, &si.date,&si.jiguan,&si.zhengzhimianmao,si.st.grade,si.st.class,&si.xibie,si.st.zhuanye); else

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论