c语言信息统计职业学院官网,C语言_课程设计报告_学生成绩管理系统.doc

河北机电职业技术学院计算机信息工程系

程序设计基础课程设计

设计题目:学生成绩管理系统

班 级: 软件1301班

姓 名: x x x

学 号: 060123130141

指导教师: 李芳

日 期: 2014、1、10

《学生成绩管理系统》设计与实现

课程设计目标

加深对《C语言程序设计》课程中所学知识的理解,进一步巩固C语言语法规则,学会编制结构清晰、风格良好、数据结构适当的C语言程序,培养解决综合性实际问题的能力。

系统功能需求

添加记录:增加记录。

显示记录:显示全部记录。

学号查询记录:按学号查询记录。

姓名查询记录:按姓名查询记录。

按学号删除记录:根据学号删除记录。

删除全部记录:记录全被删除。

按学号排序:根据学号排序。

成绩统计:统计学生成绩(优、良、中、及格、不及格)。

成绩排序:根据成绩由高到低排序。

高低分统计:统计最高分、最低分和不及格人数。

数据写入:将全部记录写入磁盘当中。

数据读取:将全部记录从磁盘中读取出来。

0.退出:退出管理系统。

系统设计及功能实现

关于菜单。

其实菜单的设计挺简单的,只要printf就可以了。然而需要进行选择菜单的操作,所以就需要scanf了,并且只能输入菜单的号码,如果输入其他数字,则提示“重新输入”。所以就运用了if函数,利用if(cn<0||cn>12)来进行判断,如果在范围内,则正常运行,如果没在范围内则提示出错重新输入。

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(cn<0||cn>12){

printf("\t出错啦,请重新选择功能编号!");

scanf("%d",&cn);

}

else

break;

}

return cn;

}

关于按姓名查找记录。

按姓名查找记录,也许有同名的记录,所以需要将同名的记录同时打印出来。

姓名查找,在我的设计中的位置是在第二位,所以需要运用下标来进行定位,则用到了for(i=0;i<100;i++){

if(strcmp(name,array[i].name)==0){

a[k++]=i;

来进行定位。

接下来则需要判断则用到了if函数。if(k!=0){

printf("\t**************显示学生信息****************\n");

printf("\t学号 姓名 性别 成绩\n");

for(i=0;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************************************************\

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值