ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:374.83KB ,
资源ID:27010398      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27010398.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(程序设计学生籍贯信息记录簿.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

程序设计学生籍贯信息记录簿.docx

1、程序设计学生籍贯信息记录簿程序设计报告( 2012 /2013 学年 第 二 学期)题 目: 学生籍贯信息记录簿 专 业 学 生 姓 名 班 级 学 号 指 导 教 师 指 导 单 位 日 期 评 分 细 则评分项优秀良好中等差遵守机房规章制度上机时的表现学习态度程序准备情况程序设计能力团队合作精神课题功能实现情况算法设计合理性用户界面设计报告书写认真程度容详实程度文字表达熟练程度回答问题准确度简 短 评 语教师签名: 年 月 日评分等级备注评分等级有五种:优秀、良好、中等、及格、不及格学生籍贯信息记录簿一、 课题容和要求编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。具体功能

2、:(1)创建信息链表并以磁盘文件保存;(2)读取磁盘文件并显示输出所有学生的籍贯信息;(3)按学号或姓名查询其籍贯;(4)按籍贯查询并输出该籍贯的所有学生;(5)能添加、删除和修改学生的籍贯信息;(6)显示输出籍和非籍学生的信息并可分别存盘。二、 需求分析模块1:显示基本信息(创建信息链表并以磁盘文件保存,读取磁盘文件)模块2:输出籍贯信息(显示输出所有学生的籍贯信息)模块3:根据条件查询(按学号或姓名查询其籍贯,按籍贯查询)模块4:输出学生信息(输出该籍贯的所有学生)模块5:基本信息管理(添加、删除和修改学生的籍贯信息)模块6:分别显示存盘(显示输出籍和非籍学生的信息并可分别存盘)模块7:结

3、束程序(退出系统)三、 概要设计四、 源程序代码#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(); /读取文

4、件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; do if(s=0) int M=35; printf(欢迎大家进入邮电大学籍贯管理系统n); s+; printf(*n); print

5、f(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();Fi

6、nds();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.name,stut.address);/格式化输出:学号姓名地址 fclose(fp);void

7、Input() /输入信息 n=0; do printf(请输入第%d个学生信息,输入Finish结束输入(输入格式:学号 姓名 籍贯)n,n+1); scanf(%s,stun.num); if(strcmp(stun.num,Finish)=0) break; scanf(%s,stun.name); scanf(%s,stun.address); n+; while(1);void Save1() /将最初输入的容存档到student.dat文件中 int i; FILE* fp; if(fp=fopen(student.dat,a+)=NULL)/以读写的方式打开student.dat

8、文件 fp=fopen(student.dat,w); /以只写的方式打开student.dat文件 for(i=0;in;i+) fprintf(fp,%s %s %sn,stui.num,stui.name,stui.address);/用格式化输出函数输出容到student.dat fclose(fp);void Display() /2.读取信息并显示 int i; printf( 学号 姓名 籍贯:n); for(i=0;in;i+) printf(%5s %5s %5sn,stui.num ,stui.name ,stui.address); void Find(int f) /3

9、.按学号或姓名查询籍贯 int i; int choose,k; char ans50; /定义字符串型数组,用于查找 do printf(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,st

10、uk.num,stuk.name,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,stui.name)=0) k=i;break; if(k=-1) printf(不存在该学生信息n); else if(f=1) printf(%s %s %sn,stuk.num,stuk.name,stuk.address); else Modify(k);/执行修改第t个学生的姓名和籍贯的

11、函数 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.name,&stut.address); Save2(t); /传送修改过的格式化输出到student.dat文件中void Readfile() /读取文本文件student.dat的信息 FILE *fp;

12、 if(fp=fopen(student.dat,r)=NULL) return ;/以只读的方式打开student.dat文件 n=0; while(!feof(fp) /判断文件指针是否指向文件结束处 fscanf(fp,%s%s%s,stun.num,stun.name,&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)/比较字符串

13、大小 printf(%s %5s %5sn,stui.num,stui.name,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.name,stui.address); void Finds() int i,k=-1; int choose; char ans50; printf(请输入籍贯n); scanf(%s,ans); for(i=0;in;i

14、+) if(strcmp(ans,stui.address)=0) k=1; printf(%s %s %sn,stui.num,stui.name,stui.address); if(k=-1) printf(无此省份学生信息n); return;五、 测试数据及其结果分析截取了调试时的图片,基本符合要求,但然后一些不人性化的地方值得修改。截图如下:此处为录入信息此处为显示和查询信息此处为查询和修改(删除)信息以及显示和非籍贯学生六、 调试过程中的问题1.在录入信息的时候,可能会填错信息,在按了回车之后,不能马上回去修改,只能全部录入完之后再选择修改(删除),进行修改,不够人性化。2.在选择删除之后,没有删除成功的提示,不够人性化。3.调试的画面不够美观。七、 课程设计总结这次的程序设计和以往的上机有点不同,它要求的更多,所以设计考虑的也更多。在写程序的过程中,我们分别写了很多程序,但大部分都有或多或少的问题,然后不能运行。翻书,问前辈,最后一起做了一个程序。在调试方面,我觉得问题多多,界面谈不上多友好,人性化方面做的不足,但确实,我们能力有限,想把程序做的更好更完美,但黔驴技穷。但正如老师所说,一个学生应当具备能够回答提问的能力,所以,这方面,我会努力去提高的。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1