学生作业完成情况管理程序文件.docx
- 文档编号:26806305
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:16
- 大小:212.43KB
学生作业完成情况管理程序文件.docx
《学生作业完成情况管理程序文件.docx》由会员分享,可在线阅读,更多相关《学生作业完成情况管理程序文件.docx(16页珍藏版)》请在冰豆网上搜索。
学生作业完成情况管理程序文件
东莞理工学院
课程设计
课程数据结构
题目学生作业完成情况管理程序
1问题要求及任务描述
1.1题目要求
学生作业完成情况管理程序(2人)
1)问题描述
请设计一个学生作业完成情况管理程序。
假设某门课程一学期要留10次作业,每次老师要进行批改,给出分数后还要进行登记。
学期期末要根据每次作业的成绩计算出最终的平时成绩(满分100)。
作业登记信息应该包含:
学号、姓名、10次作业的完成情况。
2)基本要求
该程序应该具有下列功能:
(1)通过键盘输入某位学生某次作业的分数;
(2)给定学号,显示某位学生作业完成情况;
(3)给定某位学生的学号,修改该学生的作业完成信息;
(4)给定某位学生的学号,删除该学生的信息;
(5)按学生的最终平时成绩进行排序;
(6)输出平均分数。
1.2主要任务
1、学生信息和成绩的输入
2、学生信息的查询
3、学生信息的修改
4、学生信息的删除
2解决问题的主要思路和方法
2.1关键问题
学生信息的输入
2.2拟采用解决问题的方法
我使用了循环语句进行输入,先输入人数,然后输入学生信息,再输入学生成绩
2.3主要算法和处理流程图
Y
N
3程序实现
3.1程序实现时应考虑的问题
main函数里面有switch开关语句
main函数调用H1函数
main函数调用H2函数
main函数调用H3函数
main函数调用H4函数
main函数调用H5函数
main函数调用H6函数
3.2主要源代码及说明
#include
#include
#include
#include
#definemax10
structstudent
{
charname[15];
intnumber;
intzuoye[10];
intzongfen;
}stu[max];
staticintn;
voidH1()
{
inti,j;
printf("请问你要输入几位学生:
");
scanf("%d",&n);
for(i=0;i { printf("\n第%d位学生的名字: ",i+1); scanf("%s",stu[i].name); printf("学号: "); scanf("%d",&stu[i].number); for(j=0;j<10;j++) { printf("第%d次作业: ",j+1); scanf("%d",&stu[i].zuoye[j]); stu[i].zongfen+=stu[i].zuoye[j]; } } printf("\n\n输入完毕! 按任意键返回主菜单! "); getch();//getch有停顿作用 } voidH2() { inti,k,j; for(i=0;i { printf("名字: %s学号: %d\n",stu[i].name,stu[i].number); } printf("请输入你要查看学生的学号: "); scanf("%d",&k); printf("注: 0分表示没做作业\n"); for(i=0;i { if(k==stu[i].number) { printf("名字: %s学号%d\n",stu[i].name,stu[i].number); for(j=0;j<10;j++) { printf("第%d次作业: %d\n",j+1,stu[i].zuoye[j]); } } } printf("\n\n查看完毕! 按任意键返回主菜单! "); getch();//getch有停顿作用 } voidH3() { inti,k,j; for(i=0;i { printf("名字: %s学号: %d\n",stu[i].name,stu[i].number); } printf("请输入你要修改学生的学号: "); scanf("%d",&k); printf("修改他的第几次作业: "); scanf("%d",&j); for(i=0;i { if(k==stu[i].number) { printf("修改为: "); scanf("%d",&stu[i].zuoye[j-1]); } } printf("\n\n修改完毕! 按任意键返回主菜单! "); getch();//getch有停顿作用 } voidH4() { inti,k,j; for(i=0;i { printf("名字: %s学号: %d\n",stu[i].name,stu[i].number); } printf("请输入你要删除学生的学号: "); scanf("%d",&k); for(i=0;i { if(k==stu[i].number) { for(j=i;j { stu[j]=stu[j+1]; } n=n-1; } } printf("\n\n删除完毕! 按任意键返回主菜单! "); getch();//getch有停顿作用 } voidH5() { inti,j; structstudenttemp; printf("从高到低排序: \n"); for(i=0;i { for(j=i+1;j { if(stu[j].zongfen>stu[i].zongfen) { temp=stu[j]; stu[j]=stu[i]; stu[i]=temp; } } } for(i=0;i { printf("%d姓名: %s总分: %d\n",i+1,stu[i].name,stu[i].zongfen); } printf("\n\n排序完毕! 按任意键返回主菜单! "); getch();//getch有停顿作用 } voidH6() { inti; for(i=0;i { printf("姓名: %s平均分: %d\n",stu[i].name,stu[i].zongfen/10); } printf("\n\n显示完毕! 按任意键返回主菜单! "); getch();//getch有停顿作用 } main() { intm; while (1) { system("cls"); printf("\n\t\t\t学生作业完成情况管理"); printf("\n\t\t\t1输入作业分数"); printf("\n\t\t\t2学生作业情况"); printf("\n\t\t\t3修改作业分数"); printf("\n\t\t\t4删除作业信息"); printf("\n\t\t\t5平时成绩排序"); printf("\n\t\t\t6输出平均分数"); printf("\n\t\t\t7退出系统"); printf("\n\t\t\t请选择: "); scanf("%d",&m); switch(m) { case1: system("cls"); H1(); break; case2: system("cls"); H2(); break; case3: system("cls"); H3(); break; case4: system("cls"); H4(); break; case5: system("cls"); H5(); break; case6: system("cls"); H6(); case7: exit(0); default: ; } } } 4测试 4.1测试结果及分析 程序菜单: 成绩录入: 信息修改: 删除信息: 信息排序: 平均分: 5小结 5.1本问题解决方法及程序实现小结 1、system函数直接引用#include 2、exit(0)函数引用#include 3、getch()函数引用#include 4、printf和scanf引用#include 5.2尚未解决的问题及下一步工作思路 系统很多地方对输入错误的数据没有进一步的判断和申明,导致系统不怎么完善. 6参考文献 《C语言》苏小红电子工业出版社2010年5月出版
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 作业 完成 情况 管理程序 文件