程序设计学生籍贯信息记录簿.docx
- 文档编号:10151030
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:15
- 大小:373.47KB
程序设计学生籍贯信息记录簿.docx
《程序设计学生籍贯信息记录簿.docx》由会员分享,可在线阅读,更多相关《程序设计学生籍贯信息记录簿.docx(15页珍藏版)》请在冰豆网上搜索。
程序设计学生籍贯信息记录簿
程序设计报告
(2012/2013学年第二学期)
题目:
学生籍贯信息记录簿
专业
学生姓名
班级学号
指导教师
指导单位
日期
评分细则
评分项
优秀
良好
中等
差
遵守机房规章制度
上机时的表现
学习态度
程序准备情况
程序设计能力
团队合作精神
课题功能实现情况
算法设计合理性
用户界面设计
报告书写认真程度
内容详实程度
文字表达熟练程度
回答问题准确度
简短评语
教师签名:
年月日
评分等级
备注
评分等级有五种:
优秀、良好、中等、及格、不及格
学生籍贯信息记录簿
一、课题内容和要求
编制一个学生籍贯信息记录簿,每个学生信息包括:
学号、姓名、籍贯。
具体功能:
(1)创建信息链表并以磁盘文件保存;
(2)读取磁盘文件并显示输出所有学生的籍贯信息;
(3)按学号或姓名查询其籍贯;
(4)按籍贯查询并输出该籍贯的所有学生;
(5)能添加、删除和修改学生的籍贯信息;
(6)显示输出江苏籍和非江苏籍学生的信息并可分别存盘。
二、需求分析
模块1:
显示基本信息(创建信息链表并以磁盘文件保存,读取磁盘文件)
模块2:
输出籍贯信息(显示输出所有学生的籍贯信息)
模块3:
根据条件查询(按学号或姓名查询其籍贯,按籍贯查询)
模块4:
输出学生信息(输出该籍贯的所有学生)
模块5:
基本信息管理(添加、删除和修改学生的籍贯信息)
模块6:
分别显示存盘(显示输出江苏籍和非江苏籍学生的信息并可分别存盘)
模块7:
结束程序(退出系统)
三、概要设计
四、源程序代码
#include<>
#include<>
#include<>
#include<>
#defineMAX100取最初输入的信息并显示
voidReadfile();改第i个学生的姓名和籍贯
voidSave1();示输出江苏,非江苏学生信息
voidFind(inti);学号或姓名查询籍贯
voidFinds();入信息并存档\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);
}
voidSave2(intt)um,stu[t].name,stu[t].address);um);
if(strcmp(stu[n].num,"Finish")==0)break;
scanf("%s",stu[n].name);
scanf("%s",stu[n].address);
n++;
}
while
(1);
}
voidSave1()um,stu[i].name,stu[i].address);取信息并显示
{
inti;
printf("学号姓名籍贯:
\n");
for(i=0;i { printf("%5s%5s%5s\n",stu[i].num,stu[i].name,stu[i].address); } } voidFind(intf)学号或姓名查询籍贯 { inti; intchoose,k; charans[50];学号查询\n"); printf("2.按姓名查找\n"); printf("3.返回主菜单\n"); scanf("%d",&choose); if(choose==1) { printf("请输入学号\n"); scanf("%s",ans); k=-1; for(i=0;i if(strcmp(ans,stu[i].num)==0) { k=i; break; } if(k==-1) printf("不存在该学生信息\n"); else { if(f==1) printf("%s%s%s\n",stu[k].num,stu[k].name,stu[k].address); else Modify(k);ame)==0) { k=i;break; } if(k==-1) printf("不存在该学生信息\n"); else { if(f==1) printf("%s%s%s\n",stu[k].num,stu[k].name,stu[k].address); else Modify(k);改第t个学生的姓名和籍贯 { intchoose; inti; printf("1.删除\n"); printf("2.修改\n"); scanf("%d",&choose); if(choose==1) { for(i=t;i { stu[i]=stu[i+1]; } n--; } else { printf(">>>>请重新输入该学生信息: \n"); scanf("%s%s%s",stu[t].num,stu[t].name,&stu[t].address); } Save2(t);um,stu[n].name,&stu[n].address);示输出江苏,非江苏学生信息 { inti; printf("江苏学生: \n"); printf("学号姓名籍贯\n"); for(i=0;i if(strcmp(stu[i].address,"江苏")==0)um,stu[i].name,stu[i].address); } } printf("\n");printf("\n"); printf("非江苏学生: \n"); printf("学号姓名籍贯\n"); for(i=0;i if(strcmp(stu[i].address,"江苏")! =0) { printf("%s%7s%5s\n",stu[i].num,stu[i].name,stu[i].address); } } } voidFinds() { inti,k=-1; intchoose; charans[50]; printf("请输入籍贯\n"); scanf("%s",ans); for(i=0;i if(strcmp(ans,stu[i].address)==0) { k=1; printf("%s%s%s\n",stu[i].num,stu[i].name,stu[i].address); } if(k=-1) printf("无此省份学生信息\n"); return; } 五、测试数据及其结果分析 截取了调试时的图片,基本符合要求,但然后一些不人性化的地方值得修改。 截图如下: 此处为录入信息 此处为显示和查询信息 此处为查询和修改(删除)信息以及显示江苏和非江苏籍贯学生 六、调试过程中的问题 1.在录入信息的时候,可能会填错信息,在按了回车之后,不能马上回去修改,只能全部录入完之后再选择修改(删除),进行修改,不够人性化。 2.在选择删除之后,没有删除成功的提示,不够人性化。 3.调试的画面不够美观。 七、课程设计总结 这次的程序设计和以往的上机有点不同,它要求的更多,所以设计考虑的也更多。 在写程序的过程中,我们分别写了很多程序,但大部分都有或多或少的问题,然后不能运行。 翻书,问前辈,最后一起做了一个程序。 在调试方面,我觉得问题多多,界面谈不上多友好,人性化方面做的不足,但确实,我们能力有限,想把程序做的更好更完美,但黔驴技穷。 但正如老师所说,一个学生应当具备能够回答提问的能力,所以,这方面,我会努力去提高的。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 学生 籍贯 信息 记录簿
![提示](https://static.bdocx.com/images/bang_tan.gif)