




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学生籍贯信息记录簿学生籍贯信息记录簿设计课程设计报告内容1. 选择题目 题目:学生籍贯信息记录簿设计2. 内容摘要摘要:学生籍贯信息管理系统是典型的信息管理系统,根据开发要求,主要完成对学生姓名、学号、籍贯等管理。随着学校办学规模的不断扩大、办学层次的多样化、在校生的不断增多。开发这系统可以是教务处老师减轻工作压力,比较系统的对学生进行管理,加快速度、加强管理,使各项管理更加规范化 。本系统管理内容广泛,全面涉及管理学生资料信息的管理。3. 索引关键词关键词:学生籍贯管理,结构体,循环,函数4. 目录目录1题目要求42设计思想43系统完成及功能44界面设计55正文56结论147参考资料148后记159附录155.正文1.1课程设计题目要求1. 要求利用C语言面向过程的编程思想来完成系统的设计; 2. 突出C语言的函数特征,以多个函数实现每一个子功能; 3. 画出功能模块图; 4. 进行简单界面设计,能够实现友好的交互; 5. 具有清晰的程序流程图和数据结构的详细定义; 6. 熟练掌握C语言对文件的各种操作。2.1设计思想程序运用结构体数组和循环进行程序的编写.3.1系统完成功能及功能框图1每条记录包括一个学生学号、姓名、籍贯。2输入功能:可以一次完成无数条记录的输入。3显示功能:完成全部学生记录的显示。4查找功能:完成按姓名、学号查找学生记录,并显示。5修改功能:通过查找学生姓名、学号,修改学生记录。6保存功能:将学生记录保存到任何自定义的文件中。7读取功能:将保存到文件中的学生记录读取出来。8应提供一个界面来调用各个功能,调用界面和功能的操作界面应尽可能清晰美观。主要功能 输出编辑删除查询录入4.1界面设计 5.1核心算法及说明 #include #include #include #include #define MAX 300struct student char name10; / 姓名 char no50; / 学号 char ad20; /籍贯;struct data int count; / 当前学生数组中学生的个数 struct student stuMAX; / 学生数组 dd; / 显示主菜单void menu() system(cls); printf(n); printf(ttt*n); printf(ttt* *n); printf(ttt* 学生籍贯信息记录簿 *n); printf(ttt* *n); printf(ttt* 0 退出 *n); printf(ttt* 1 查看所有学生信息 *n); printf(ttt* 2 输入学生记录 *n); printf(ttt* 3 删除学生记录 *n); printf(ttt* 4 编辑学生记录 *n); printf(ttt* 5 查询(学号) *n); printf(ttt* 6 查询(姓名) *n); printf(ttt* 7 查询(籍贯) *n); printf(ttt* *n); printf(ttt*n); printf(ttt* 制作人:苑小叶 崔京 *n); / 等待用户按回车后回到主菜单void to_menu() char c1,c2; printf(nnn按回车键返回主菜单.); scanf(%c%c,&c1,&c2); menu(); / 查看所有学生信息void view_data() int i; printf(姓名t学号t籍贯); printf(n-n); for(i=0;idd.count;i+) printf(%st%st%sn,,dd.stui.no,dd.stui.ad); / 将数据从结构体数组保存到文件中void save_data() FILE *fp; int i,k; k=dd.count; fp=fopen(c:/dada.txt,w); fwrite(&k,sizeof(int),1,fp); for(i=0;ik;i+) fwrite(&dd.stui,sizeof(struct student),1,fp); fclose(fp); / 输入学生记录void add_data() struct student st; int b; int k; int i,j; while(1) j=0; printf(n请输入学生信息:); printf(n姓名t学号t籍贯); printf(n-n); scanf(%s%s%s,,st.no,st.ad); for(i=0;idd.count;i+) if(strcmp(dd.stui.no,st.no)=0) j=1; printf(学号录入重复,请重新输入!); break; if(j=1) continue; if(j=0) k = dd.count; strcpy(,); strcpy(dd.stuk.no,st.no); strcpy(dd.stuk.ad,st.ad); dd.count+; printf(nn继续添加学生信息1-yes 0-no:); scanf(%d,&b); if(b=0) break; save_data();/ 将数据从文件读到结构体数组中void read_data()FILE *fp;int i,k;struct student st;k=0;if(access(c:/dada.txt,0)=-1)/ 如果文件不存在fp=fopen(c:/dada.txt,w);fwrite(&k,sizeof(int),1,fp);fclose(fp);fp=fopen(c:/dada.txt,r);fread(&k,sizeof(int),1,fp);dd.count=k;for(i=0;ik;i+)fread(&st,sizeof(struct student),1,fp);strcpy(,);strcpy(dd.stui.no,st.no); strcpy(dd.stui.ad,st.ad);fclose(fp);/ 删除学生记录void delete_data()int i,k;char no50;printf(n请输入要删除学生的学号:);scanf(%s,no);k=-1;for(i=0;idd.count;i+)if(strcmp(dd.stui.no,no)=0) k=i;break;if(k=-1)printf(nn没有找到该学生(学号-%s)!,no);elsefor(i=k;idd.count;i+) strcpy(,dd.stui+1.name); strcpy(dd.stui.no,dd.stui+1.no); strcpy(dd.stui.ad,dd.stui+1.ad);dd.count-;save_data();printf(nn删除(学号-%s)成功!,no);/ 编辑学生记录void edit_data()int i,k;char no50,ad20;printf(n请输入要编辑学生的学号:);scanf(%s,no);k=-1;for(i=0;idd.count;i+)if(strcmp(dd.stui.no,no)=0)k=i;break;if(k=-1)printf(nn没有找到该学生(学号-%s)!,no);elseprintf(n姓名:%s,学号:%s,,dd.stuk.no);printf(n请修改学生数据:); printf(n籍贯:); scanf(%s,ad); strcpy(dd.stuk.ad,ad); / 查询(学号)void query_data_no()int i,k;char no50;printf(n请输入要查询学生的学号:);scanf(%s,no);k=-1;for(i=0;idd.count;i+)if(strcmp(dd.stui.no,no)=0)printf(nn姓名t学号t籍贯);printf(n-n);k=i;printf(%st%st%sn,,dd.stui.no,dd.stui.ad);if(k=-1)printf(nn没有找到该学生(学号-%s)!,no);/ 查询(姓名)void query_data_name()int i,k;char name10;printf(n请输入要查询学生的姓名:);scanf(%s,name);k=-1;for(i=0;idd.count;i+)if(strcmp(,name)=0)printf(nn姓名t学号t籍贯);printf(n-n);k=i;printf(%st%st%sn,,dd.stui.no,dd.stui.ad);if(k=-1)printf(nn没有找到该学生(姓名-%s)!,name); /查询(籍贯)void query_data_address() int i,sum=0;char ad20; printf(请输入籍贯信息:); scanf(%s,ad); printf(该籍贯的学生有:); for(i=0;idd.count;i+) if(strcmp(dd.stui.ad,ad)=0) printf(%st,); sum+; if(sum=0) printf( 0 人 n);/ 主函数void main()int fun;read_data();menu();while(1)printf(请输入功能号0-7:,&fun);scanf(%d,&fun);switch(fun)case 0:/ 退出break;case 1:/ 查看所有学生信息view_data();break;case 2:/ 输入学生记录add_data();break;case 3:/ 删除学生记录delete_data();break;case 4:/ 编辑学生记录edit_data();break;case 5:/ 查询(学号)query_data_no();break; case 6:/ 查询(姓名) query_data_name();break; case 7:/ 查询(籍贯)query_data_address(); break;if(fun=0) break;to_menu(); 6.结论各项功能均能实现,但程序存在缺陷,如录入重复学号,没有出现提示功能,需要修改和完善。7.参考资料C语言设计第三版 清华大学出版社出版8.后记虽然该系统可以运行最基本的功能,但该系统仍然有不完善之处,有待添加更丰富的功能.感谢康亚男老师给与的细心指导,感谢同伴的积极配合共同完成了程序.9.附录系统公共数据结构如下:#difine MAX300 定义常量N表示可录入最大学生数int i,j、k,sum, i表示第几位学生,jk都用来存放赋的值,sum表示查询时该学生不存在的学生数0人int count存放学生总人数int i 变量i存放循环次数stuct student 定义一个名为student的结构体,这个结构体定义了学生的基本信息char no 定义学生的学号char name 定义学生的姓名char ad定义学生的籍贯int b 用来跳出某项功能 struct student、struct student stuMAX,定义两个结构体,两者是嵌套的。dd是全局的结构体变量名袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学课件开场
- 沧州市人民医院急诊科年度综合能力评估
- 石家庄市人民医院护理服务创新资格认证
- 2025第二人民医院主动脉内球囊反搏技术考核
- 唐山市人民医院微生物标本规范采集与送检考核
- 2025广东江门市开平市教育系统赴高校招聘急需紧缺人才16人模拟试卷附答案详解
- 上海市人民医院超声报告质量考核
- 2025广东省第二中医院招聘内分泌科医师1人考前自测高频考点模拟试题及答案详解一套
- 邢台市中医院朊病毒污染器械处理考核
- 2025贵州省民族研究院第十三届贵州人才博览会引进人才考前自测高频考点模拟试题及参考答案详解
- 做有梦想的少年+课件-2025-2026学年统编版道德与法治七年级上册
- 财务内账表格大全-出纳实 用模板
- 糖尿病护理操作规范手册(2023修订)
- 中小学古诗词竞赛题库合集
- 产后腹直肌分离的诊断与治疗
- 人民陪审员刑事培训课件
- 2025年陕西音乐联考试题及答案
- 2025年高一的数学知识点大纲
- 2025至2030拖拉机市场前景分析及行业深度研究及发展前景投资评估分析
- 2025年平面图形的画法说课教学课件
- 养老院保洁培训课件
评论
0/150
提交评论