学生信息管理系统C语言代码(1).docx

上传人:小飞机 文档编号:3424251 上传时间:2023-03-13 格式:DOCX 页数:10 大小:38.63KB
返回 下载 相关 举报
学生信息管理系统C语言代码(1).docx_第1页
第1页 / 共10页
学生信息管理系统C语言代码(1).docx_第2页
第2页 / 共10页
学生信息管理系统C语言代码(1).docx_第3页
第3页 / 共10页
学生信息管理系统C语言代码(1).docx_第4页
第4页 / 共10页
学生信息管理系统C语言代码(1).docx_第5页
第5页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《学生信息管理系统C语言代码(1).docx》由会员分享,可在线阅读,更多相关《学生信息管理系统C语言代码(1).docx(10页珍藏版)》请在三一办公上搜索。

1、学生信息管理系统C语言代码#include #include #include struct shengri int year; int month; int day; ; struct student char name40; char sno20; char sid20; struct shengri birth; int address200; ; struct student *stu=NULL; int current=0; int total=0; void insert if(stu=NULL) stu=(struct student *)malloc(total*sizeof(

2、struct student); if(current=total) printf(对不起,由于人数已满,不能添加新学生信息n); return; printf(请输入学生姓名: ); scanf(%s,stucurrent.name); printf(请输入学生学号: ); scanf(%s,stucurrent.sno); printf(请输入学生身份证号码: ); scanf(%s,stucurrent.sid); printf(请输入学生出生日期格式(年-月-日): ); scanf( %d-%d-%d,&stucurrent.birth.year,&stucurrent.birth.

3、month,&stucurrent.birth.day); printf(请输入学生家庭地址: ); scanf(%s,stucurrent.address); current+; return; void query char name40; char xuehao40; int i,item,flag; printf(n); printf(1.按学号查询n); printf(2.按姓名查询n); printf(3.退出本菜单n); printf(n); while(1) printf(n); printf(请选择子菜单编号:); scanf(%d,&item); flag=0; switc

4、h(item) case 1: printf(请输入要查询的学生的学号:); scanf(%s,xuehao); for(i=0;icurrent;i+) if(strcmp(stui.sno,xuehao)=0) flag=1; printf(学生信息如下n); printf(姓名: %sn,stui.name); printf(学号: %sn,stui.sno); printf(身份证号: %sn,stui.sid); printf(出生日期: %d-%d-%dn,stui.birth.year,stui.birth.month,stui.birth.day); printf(家庭地址:

5、%sn,stui.address); return; if(flag=0) printf(n); printf( 警告:!学号为%s的学生不存在!,xuehao); break; break; case 2: printf(请输入要查询的学生的姓名:); scanf(%s,name); for(i=0;icurrent;i+) if(strcmp(stui.name,name)=0) flag=1; printf(学生信息如下n); printf(姓名: %sn,stui.name); printf(学号: %sn,stui.sno); printf(身份证号: %sn,stui.sid);

6、printf(出生日期: %d-%d-%dn,stui.birth.year,stui.birth.month,stui.birth.day); printf(家庭地址: %sn,stui.address); return; if(flag=0) printf(n); printf( 警告:!姓名为%s学生不存在!,name); break; case 3: return; default: printf(!非法输入,请在1-3之间选择!n); void update char name40; int i; printf(请输入要修改的学生姓名: ); scanf(%s,name); for(

7、i=0;i current;i+) if(strcmp(stui.name,name)=0) printf(请输入修改后的学生姓名: ); scanf(%s,stui.name); printf(n); printf(修改前的学生学号为: ); printf(%s,stui.sno); printf(n); printf(请输入修改后的学生学号: ); scanf(%s,stui.sno); printf(n); printf(修改前的学生身份证号为: ); printf(%s,stui.sid); printf(n); printf(请输入修改后的学生身份证号: ); scanf(%s,st

8、ui.sid); printf(n); printf(修改前的学生出生日期,格式(年-月-日):); printf(%d-%d-%d,stui.birth.year,stui.birth.month,stui.birth.day); printf(n); printf(请输入修改后的学生出生日期,格式(年-月-日):); scanf(%d-%d-%d,&stui.birth.year,&stui.birth.month,&stui.birth.day); printf(n); printf(修改前的家庭住址为: ); printf(%s,stui.address); printf(n); pr

9、intf(请输入修改后的家庭地址: ); scanf(%s,stui.address); return; printf( !该学生不存在,请重新选择!n); return; void deiete char name40; int i,k; char a; printf(请输入要删除的学生姓名: ); scanf(%s,name); printf(n); for(i=0;i current;i+) if(strcmp(stui.name,name)=0) printf(要删除的学生姓名为:%sn,stui.name); printf(n); printf(你确定要删除吗?继续请按y,放弃请按n

10、n); printf(n); printf(请选择:); scanf(%s,&a); if (a=y|a=Y) for(k=i;kcurrent;k+) strcpy(stuk.name,stuk+1.name); break; if(a=n|a=N) printf(放弃删除!); return; printf(!非法输入!); return; if(i=current) printf(!警告:姓名为%s的学生不存在!nn,name); else printf(该学生已成功删除!n); current-; return; void list int i; printf(一共有%d个学生信息n,

11、current); printf(n); printf(学生信息列表为:n); printf(n); for(i=0;icurrent;i+) printf(第%d个学生信息如下:n,i+1); printf( 姓名: %sn,stui.name); printf( 学号: %sn,stui.sno); printf( 身份证号码: %sn,stui.sid); printf( 出生日期:%d-%d-%dn,stui.birth.year,stui.birth.month,stui.birth.day); printf( 地址:%sn,stui.address); printf(n); ret

12、urn; void save int count; FILE*fs; fs=fopen(studentdata.dat,wb); if(fs=NULL) printf(不能打开文件n); return; count=fwrite(stu,sizeof(struct student),current,fs); fclose(fs); if(count!=current) printf(保存失败n); return; printf(保存成功!n); return; void load FILE *fs; int count=0; int succ=0; fs=fopen(studentdata.d

13、at,rb); if(fs=NULL) printf(不能打开文件!n); return; succ=fseek(fs,0,2); if(succ!=0) printf(文件操作失败!n); return; count=ftell(fs); fseek(fs,0,0); current=count/sizeof(struct student); stu=(struct student *)malloc(total*sizeof(struct student); count=fread(stu,sizeof(struct student),current,fs); fclose(fs); if(

14、count!=current) printf(读取文件失败n); return; printf(读取文件成功n); return; void main int choice; printf( n尊敬的用户您好,欢迎使用学生信息管理系统n); printf(n 1.进入系统后,先按“7”加载学生信息,再查询;n); printf(n 2.按照菜单提示输入数字代号;n); printf(n 3.增加学生信息后,切记保存按“6”;n); printf(n 4.谢谢您的使用!n); printf(n); printf(n); printf(nt *学*生*信*息*管*理*系*统*n); printf(

15、n); printf(n); printf( 主编:计算机应用班:第五组作品n); printf(n); printf( 由胡磊,李文娟,冉琼,梁凯华,马立虎共同参与完成n); printf(n); printf(请您输入要录入的学生总人数:); scanf(%d,&total); while(1) printf(-); printf( -); printf( *学生信息管理系统程序功能*n); printf( -n); printf(n); printf( 1: -录 入 学 生 信 息- n); printf( 2: -查 询 学 生 信 息- n); printf( 3: -修 改 学

16、生 信 息- n); printf( 4: -删 除 学 生 信 息- n); printf( 5: -列 出 学 生 信 息- n); printf( 6: -保 存 学 生 信 息- n); printf( 7: -加 载 学 生 信 息- n); printf( 0: -退 出 程序 - n); printf(-n); printf(nn); printf( 请选择:); scanf(%d,&choice); printf(nn); switch(choice) case 1:insert;break; case 2:query;break; case 3:update;break; case 4:deiete;break; case 5:list;break; case 6:save;break; case 7:load;break; case 0:return; default: printf(非法选择!请重新选择!);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号