- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
河北机电职业技术学院计算机信息工程系
程序设计基础课程设计
设计题目:学生成绩管理系统
班 级: 软件1301班
姓 名: x x x
学 号: 060123130141
指导教师: 李芳
日 期: 2014、1、10
《学生成绩管理系统》设计与实现
课程设计目标
加深对《C语言程序设计》课程中所学知识的理解,进一步巩固C语言语法规则,学会编制结构清晰、风格良好、数据结构适当的C语言程序,培养解决综合性实际问题的能力。
系统功能需求
添加记录:增加记录。
显示记录:显示全部记录。
学号查询记录:按学号查询记录。
姓名查询记录:按姓名查询记录。
按学号删除记录:根据学号删除记录。
删除全部记录:记录全被删除。
按学号排序:根据学号排序。
成绩统计:统计学生成绩(优、良、中、及格、不及格)。
成绩排序:根据成绩由高到低排序。
高低分统计:统计最高分、最低分和不及格人数。
数据写入:将全部记录写入磁盘当中。
数据读取:将全部记录从磁盘中读取出来。
0.退出:退出管理系统。
系统设计及功能实现
关于菜单。
其实菜单的设计挺简单的,只要printf就可以了。然而需要进行选择菜单的操作,所以就需要scanf了,并且只能输入菜单的号码,如果输入其他数字,则提示“重新输入”。所以就运用了if函数,利用if(cn0||cn12)来进行判断,如果在范围内,则正常运行,如果没在范围内则提示出错重新输入。
int menu_select()
{
int cn;
printf(\n);
printf(\t********************学生成绩管理********************\n);
printf(\t\t 1. 添加记录\n);
printf(\t\t 2. 显示记录\n);
printf(\t\t 3. 学号查询记录\n);
printf(\t\t 4. 姓名查询记录\n);
printf(\t\t 5. 按学号删除记录\n);
printf(\t\t 6. 删除全部记录\n);
printf(\t\t 7. 按学号排序\n);
printf(\t\t 8. 成绩统计\n);
printf(\t\t 9. 成绩排序\n);
printf(\t\t 10. 高低分统计\n);
printf(\t\t 11. 数据写入\n);
printf(\t\t 12. 数据读取\n);
printf(\t\t 0. 退出\n);
printf(\t****************************************************\n);
printf(\t请选择功能(0~12); );
scanf(%d,cn);
for( ; ;){
if(cn0||cn12){
printf(\t出错啦,请重新选择功能编号!);
scanf(%d,cn);
}
else
break;
}
return cn;
}
关于按姓名查找记录。
按姓名查找记录,也许有同名的记录,所以需要将同名的记录同时打印出来。
姓名查找,在我的设计中的位置是在第二位,所以需要运用下标来进行定位,则用到了for(i=0;i100;i++){
if(strcmp(name,array[i].name)==0){
a[k++]=i;
来进行定位。
接下来则需要判断则用到了if函数。if(k!=0){
printf(\t**************显示学生信息****************\n);
printf(\t学号 姓名 性别 成绩\n);
for(i=0;ik;i++){
printf(\t%-8d%-8s%-4c%10.1f\n,array[a[i]].num,array[a[i]].name,array[a[i]].sex,array[a[i]].score);
}
printf(\t************************************************\n);
}
else
printf(\t没找到学生姓名 %s 的学生记录! \n,name)
}
排序
文档评论(0)