




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计报告( 2012 /2013 学年 第 二 学期)题 目: 学生籍贯信息记录簿 专 业 学 生 姓 名 班 级 学 号 指 导 教 师 指 导 单 位 日 期 评 分 细 则评分项优秀良好中等差遵守机房规章制度上机时的表现学习态度程序准备情况程序设计能力团队合作精神课题功能实现情况算法设计合理性用户界面设计报告书写认真程度内容详实程度文字表达熟练程度回答问题准确度简 短 评 语教师签名: 年 月 日评分等级备注评分等级有五种:优秀、良好、中等、及格、不及格学生籍贯信息记录簿一、 课题内容和要求编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。具体功能:(1)创建信息链表并以磁盘文件保存;(2)读取磁盘文件并显示输出所有学生的籍贯信息;(3)按学号或姓名查询其籍贯;(4)按籍贯查询并输出该籍贯的所有学生;(5)能添加、删除和修改学生的籍贯信息;(6)显示输出江苏籍和非江苏籍学生的信息并可分别存盘。二、 需求分析模块1:显示基本信息(创建信息链表并以磁盘文件保存,读取磁盘文件)模块2:输出籍贯信息(显示输出所有学生的籍贯信息)模块3:根据条件查询(按学号或姓名查询其籍贯,按籍贯查询)模块4:输出学生信息(输出该籍贯的所有学生)模块5:基本信息管理(添加、删除和修改学生的籍贯信息)模块6:分别显示存盘(显示输出江苏籍和非江苏籍学生的信息并可分别存盘)模块7:结束程序(退出系统)三、 概要设计四、 源程序代码#include#include#include#include#define MAX 100 /宏定义最多输入人数typedef struct char num50; char name50; char address50;Student; /定义了一个新的结构体类型StudentStudent stuMAX; /定义结构体型数组int n; /定义一个全局变量,表示第n个学生int t;int s=0;void Input(); /输入信息void Display(); /2.读取最初输入的信息并显示void Readfile(); /读取文件student.dat的信息void Modify(int i); /5.修改第i个学生的姓名和籍贯void Save1(); /将最初输入的内容存档到student.dat文件中void Save2(); /传送格式化输出到student.dat文件void Dis(); /6.显示输出江苏,非江苏学生信息void Find(int i); /3.按学号或姓名查询籍贯 void Finds(); /4按籍贯查找学生void main()char choose;doif(s=0)int M=35;printf(欢迎大家进入南京邮电大学籍贯管理系统n);s+; printf(*n);printf(1.输入信息并存档n); printf(2.读取信息并显示n);printf(3.按学号或姓名查询籍贯n);printf(4.按籍贯查询学生n);printf(5.修改(删除)指定姓名或学号的学生的姓名和籍贯n); printf(6.显示输出江苏,非江苏学生信息n);printf(*n);scanf(%s,&choose); switch(choose)case 1:Input();Save1();break;case 2:Readfile();Display();break;case 3:Readfile();Find(1);break;case 4:Readfile();Finds();break;case 5:Readfile();Find(0);break;case 6:Readfile();Dis();break;default:printf(输入错误,请重新输入:n); while(1);void Save2(int t) /传送格式化输出到student.dat文件中FILE* fp;fp=fopen(student.dat,w); /以只写的方式打开student.dat文件fprintf(fp,%s %s %sn,stut.num,,stut.address);/格式化输出:学号姓名地址fclose(fp);void Input() /输入信息 n=0;doprintf(请输入第%d个学生信息,输入Finish结束输入(输入格式:学号 姓名 籍贯)n,n+1);scanf(%s,stun.num);if(strcmp(stun.num,Finish)=0) break;scanf(%s,);scanf(%s,stun.address);n+;while(1);void Save1() /将最初输入的内容存档到student.dat文件中int i;FILE* fp;if(fp=fopen(student.dat,a+)=NULL)/以读写的方式打开student.dat文件fp=fopen(student.dat,w); /以只写的方式打开student.dat文件for(i=0;in;i+) fprintf(fp,%s %s %sn,stui.num,,stui.address);/用格式化输出函数输出内容到student.datfclose(fp);void Display() /2.读取信息并显示 int i;printf( 学号 姓名 籍贯:n);for(i=0;in;i+) printf(%5s %5s %5sn,stui.num , ,stui.address);void Find(int f) /3.按学号或姓名查询籍贯int i;int choose,k;char ans50; /定义字符串型数组,用于查找doprintf(1.按学号查询n);printf(2.按姓名查找n);printf(3.返回主菜单n);scanf(%d,&choose);if(choose=1)printf(请输入学号n);scanf(%s,ans);k=-1;for(i=0;in;i+) if(strcmp(ans,stui.num)=0) k=i;break;if(k=-1) printf(不存在该学生信息n);else if(f=1)printf(%s %s %sn,stuk.num,,stuk.address);else Modify(k);/执行修改第t个学生的姓名和籍贯的函数else if(choose=2)printf(请输入姓名n);scanf(%s,ans);k=-1;for(i=0;in;i+) if(strcmp(ans,)=0) k=i;break; if(k=-1) printf(不存在该学生信息n);else if(f=1)printf(%s %s %sn,stuk.num,,stuk.address);else Modify(k);/执行修改第t个学生的姓名和籍贯的函数else return;while(1);void Modify(int t) /4.修改第t个学生的姓名和籍贯int choose;int i;printf(1.删除n);printf(2.修改n);scanf(%d,&choose);if(choose=1) for(i=t;i请重新输入该学生信息:n);scanf(%s %s %s,stut.num,,&stut.address); Save2(t); /传送修改过的格式化输出到student.dat文件中void Readfile() /读取文本文件student.dat的信息FILE *fp;if(fp=fopen(student.dat,r)=NULL) return ;/以只读的方式打开student.dat文件n=0;while(!feof(fp) /判断文件指针是否指向文件结束处 fscanf(fp,%s%s%s,stun.num,,&stun.address);/利用fscanf()函数输入信息n+;fclose(fp);void Dis() /5.显示输出江苏,非江苏学生信息int i;printf(江苏学生:n);printf(学号 姓名 籍贯n);for(i=0;in;i+)if(strcmp(stui.address,江苏)=0)/比较字符串大小printf(%s %5s %5sn,stui.num,,stui.address);printf(n);printf(n);printf(非江苏学生:n);printf(学号 姓名 籍贯n);for(i=0;in;i+)if(strcmp(stui.address,江苏)!=0)printf(%s %7s %5sn,stui.num,,stui.address);void Finds() int i,k=-1;int choose;char ans50;printf(请输入籍贯n);scanf(%s,ans);for(i=0;in;i+) if(strcmp(ans,stui.address)=0) k=1; printf(%s %s %sn,stui.num,,stui.address); if(k=-1) printf(无此省份学生信息n);return;五、 测试数据及其结果分析截取了调试时的图片,基本符合要求,但然后一些不人性化的地方值得修改。截图如下:此处为录入信息此处为显示和查询信息此处为查询和修改(删除)信息以及显示江苏和非江苏籍贯学生六、 调试过程中的问题1.在录入信息的时候,可能会填错信息,在按了回车之后,不能马上回去修改,只能全部录入完之后再选择修改(删除),进行修改,不够人性化。2.在选择删除之后,没有删除成功的提示,不够人性化。3.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 纺织品设计师证书考试的职业素养提升试题及答案
- 中学生艾滋病知识普及课件
- 驿站合伙合同协议书
- 纺织工程师证书考试解析中的关键试题及答案
- 废旧门窗回收合同协议书
- 《跨国物流操作》课件
- 合同协议书范文
- 合同毁约协议书
- 爱情合同协议书
- 退款合同协议书
- 2025年安徽省C20教育联盟中考三模语文试题(含答案)
- 药品注册与生产作业指导书
- 2025年中考语文备考之课内文言文主题阅读训练主题二:治国劝谏篇(解析版)
- 计算机毕设管理系统答辩
- 2025年湖北行测试题及答案
- 闽教版四年级英语下册全册单元知识点
- 2025视频号内容生态发展白皮书
- 新高考背景下2025年高考物理命题趋势分析与复习备考策略讲座
- 管道焊接施工方案
- 2025年四川成都农业科技职业学院招聘工作人员16人高频重点模拟试卷提升(共500题附带答案详解)
- 2024年全国高考甲卷历史试题含答案解析
评论
0/150
提交评论