1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 学生作业完成情况管理程序--C语言--数据结构--顺序表实现

学生作业完成情况管理程序--C语言--数据结构--顺序表实现

时间:2022-08-06 14:44:38

相关推荐

学生作业完成情况管理程序--C语言--数据结构--顺序表实现

学生作业完成情况管理程序

【题目描述】

请设计一个学生作业完成情况管理程序。

假设某门课程一学期要完成10次作业,每次老师要进行批改,给出分数后还要进行登记。学期期末要根据每次作业的成绩计算出最终的平时成绩(满分100)。

该程序应该具有下列功能:

(1) 通过键盘输入某位学生某次作业的分数;

(2) 给定学号,显示某位学生作业完成情况;

(3) 给定某个班级的班号,显示该班所有学生的作业完成情况;

(4) 给定某位学生的学号,修改该学生的作业完成信息;

(5) 给定某位学生的学号,删除该学生的信息;

(6) 提供一些统计各类信息的功能或排序功能。

代码

#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include<stdlib.h> #include<string.h> #include<conio.h> #define max 100 typedef struct student{char name[15];int number;int zuoye[10];int zongfen;int bh;}elemtype;typedef struct{elemtype elem[max];int length;}slt;void createlist(slt *l){int i, j, n;printf("请问你要输入几位学生\n");scanf("%d", &n);for (i = 1; i <= n; i++){l->elem[i].zongfen = 0;printf("\n 第%d 位学生的名字 :", i);scanf("%s", l->elem[i].name);printf("学号:");scanf("%d", &l->elem[i].number);printf("班号:");scanf("%d", &l->elem[i].bh);for (j = 0; j < 10; j++){printf(" 第%d 次作业 :", j + 1);scanf("%d", &l->elem[i].zuoye[j]);l->elem[i].zongfen += l->elem[i].zuoye[j];}}l->length = n;printf("%d\n", l->length);printf("\n\n 输入完毕!按任意键返回主菜单! ");getch(); // getch有停顿作用}void printlist(slt *l){int i, j;for (i = 1; i <= l->length; i++){printf(" 名字:%s 学号:%d 班号%d\n", l->elem[i].name, l->elem[i].number, l->elem[i].bh);for (j = 0; j < 10; j++){printf("第%d 次作业 :%d\n", j + 1, l->elem[i].zuoye[j]);}printf(" 总分 :%d\n", l->elem[i].zongfen);}getch();}int locatelist(slt *l, int x) //查找{int i, k, j;i = 1;while (((l->elem[i].number) != x) && (i <= 100))++i;if (l->elem[i].number == x){}//printf("\n\n 查看完毕!按任意键返回主菜单! ");else{return(0);printf("不存在%d\n");}getch();}int deletelist(slt *l, int i){int j, x;if (i < 1 || i >l->length)printf("no insert position!\n");else{for (j = i; j <= l->length - 1; j++){l->elem[j] = l->elem[j + 1];}l->length--;}return ;}void H3(slt *l)//修改成绩{int i, j, x;printf("请输入修改学生的学号\n");scanf("%d", &x);i = 1;while (((l->elem[i].number) != x) && (i <= 100))++i;if (l->elem[i].number == x){printf(" 名字:%s 学号%d\n", l->elem[i].name, l->elem[i].number);for (j = 0; j < 10; j++){printf("第%d 次作业 :%d\n", j + 1, l->elem[i].zuoye[j]);printf(" 修改为 :");scanf("%d", &l->elem[i].zuoye[j]);}getch();}else{printf("不存在%d\n");getch();}}void H4(slt *l) //查找学号,显示成绩{int k, i, j, x;printf("请输入你要查找学生的学号 :");scanf("%d", &x);i = 1;while (((l->elem[i].number) != x) && (i <= 100))++i;if (l->elem[i].number == x){printf(" 名字:%s 学号%d\n", l->elem[i].name, l->elem[i].number);for (j = 0; j < 10; j++){printf("第%d 次作业 :%d\n", j + 1, l->elem[i].zuoye[j]);}getch();}else{printf("不存在%d\n");getch();}}void H5(slt *l)//删除{int i, x;printf("输入学号");scanf("%d", &x);for (i = 1; i <= l->length; i++){if (l->elem[i].number == x);{deletelist(l, i);printlist(l);}}}void H8(slt *l) //班号显示成绩{int i, a, s = 0, j;printf("输出班号显示各班级成绩\n");scanf("%d", &a);for (i = 1; i <= l->length; i++){if (l->elem[i].bh == a){printf(" 名字:%s 学号%d\n", l->elem[i].name, l->elem[i].number);for (j = 0; j < 10; j++){printf("第%d 次作业 :%d\n", j + 1, l->elem[i].zuoye[j]);}printf("总分;%d ", l->elem[i].zongfen); getch();}}printf("/n");printf("\n\n 显示完毕!按任意键返回主菜单! ");getch();}void H6(slt *l){int i, j;struct student temp;printf(" 从高到低排序 :\n");for (i = 1; i <= l->length - 1; i++){for (j = 1; j <= l->length - 1 - i; j++){if (l->elem[j].zongfen > l->elem[i].zongfen){temp.zongfen = l->elem[j].zongfen;l->elem[j].zongfen = l->elem[j + 1].zongfen;l->elem[j + 1].zongfen = temp.zongfen;}}}for (i = 1; i <= l->length; i++){printf("%d 姓名:%s 总分:%d\n", i + 1, l->elem[i].name, l->elem[i].zongfen);} printf("\n\n 排序完毕!按任意键返回主菜单! "); getch(); //getch有停顿作用}intmain(){slt l;//struct l[1] = { "c",123,{1,2,3,4,5,6,7,8,9,0},99,1,0};l.length = 0;/*createlist(&l);printlist(&l);*/int m;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\t8 班级的班号,显示该班所有学生的作业完成情况 ");printf("\n\t\t\t7 退出系统 ");printf("\n\t\t\t 请选择 :");scanf("%d", &m);switch (m){case 1://录入信息system("cls");createlist(&l);break;case 2://显示system("cls");printlist(&l);break;case 3://修改作业system("cls");H3(&l);break;case 4://查找system("cls");H4(&l);break;case 5:system("cls");H5(&l);break;case 8://班级成绩system("cls");H8(&l);break;case 6:system("cls");H6(&l); break;case 7: exit(0);default:;}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。