欢迎您访问学生成绩管理系统的思路和void思路!

学生成绩管理系统的思路和void思路

更新时间:2023-03-05 20:10:56作者:佚名

学生成绩管理系统思路

学生成绩管理系统首先要对系统进行初始化,启动一个新的学生成绩系统。 系统初始化记录学生的姓名、学号、系,然后录入学生各科成绩,包括数学、英语、语文。 记录每个班级的成绩后,可以查看学生的平均成绩,是否及格。 成绩查询包括学号查询、姓名查询、院系查询、全部输出。 可以清楚看到通过人数,按分数排序,最后还可以增删学生成绩,或者更改学生成绩,避免人为输入成绩出错。

基本功能 1.结构

定义一个结构体,结构体的关键字,定义的结构体对象。 学号 char ID[20]; 名称字符名称[10]; 每个分数浮动标记,总分数浮动所有平均分数浮动;

2.条目(无效())

使用循环将数据从[0]输入到各种信息,计数器num+1。

2.删除(无效())

使用循环将数组中的信息与要删除的信息进行比较。 如果相同,则删除此项并将后面的信息前移一位, num-1; 如果没有项目,提示重新输入。

3.修改(无效())

使用循环将数组中的信息与要修改的信息进行比较。 如果相同,则重新复制修改; 如果没有项目,提示重新输入。

4.插入(无效())

提示输入插入的位置,将位置和位置的信息向后移动一位,将新的信息输入位置。 计数器编号+1。

5.排序(无效排序())

取排序的平均分数,依次比较相邻的两个分数,如果顺序小于前者,则交换。 重复访问元素的工作,直到不需要交换相邻元素为止,也就是说元素已经排序完毕。

6.显示(无效())

使用循环打印出输入的信息。

7.查询(无效x())

提示查询该学生的学号二级c语言成绩查询二级c语言成绩查询,使用循环比较,如果相同,打印出这条信息; 如果没有此项,提示重新输入。

8.主函数main()

使用无限循环while和()实现各个函数的调用,系统根据输入的数字控制相应的函数,同时显示可供选择的选项。

#include
#include
#include
#include
struct Student{   //每个学生对应一个结构体 
	char ID[20];//学号 
	char Name[10];//姓名 
	float Mark1;//语文成绩 
	float Mark2;//数学成绩 
	float Mark3;//英语成绩 
	float Mark4;//计算机成绩 
	float All; //总分 
	float Average;//平均成绩 
}students[1000];
int num=0; //计数器
void Copy(struct Student *arr,int i,int j)
{
	strcpy(arr[i].ID,arr[j].ID);
	strcpy(arr[i].Name,arr[j].Name);
	arr[i].Mark1 = arr[j].Mark1;
	arr[i].Mark2 = arr[j].Mark2;
	arr[i].Mark3 = arr[j].Mark3;
	arr[i].Mark4 = arr[j].Mark4;
	arr[i].All = arr[j].All;
	arr[i].Average = arr[j].Average;
}
int Student_SearchByName(char name[])//通过姓名来检索学生
{
     int i;
     for (i=0;i二级c语言成绩查询_c语言成绩管理系统课程设计_c语言成绩管理系统代码

"); } else { printf("你要修改的学生信息为: "); Student_DisplaySingle(index); printf("-- 请输入新值-- "); printf("请输入学号:"); scanf("%s",&students[index].ID); getchar(); printf("请输入姓名:"); scanf("%s",&students[index].Name); getchar(); printf("请输入语文成绩:"); scanf("%f",&students[index].Mark1); getchar(); printf("请输入数学成绩:"); scanf("%f",&students[index].Mark2); getchar(); printf("请输入英语成绩:"); scanf("%f",&students[index].Mark3); getchar(); printf("请输入计算机成绩:"); scanf("%f",&students[index].Mark4); //重新录入一套新的数据替代 getchar(); students[index].All=students[index].Mark1+students[index].Mark2+students[index].Mark3+students[index].Mark4; students[index].Average=(students[index].Mark1+students[index].Mark2+students[index].Mark3+students[index].Mark4)/4; } printf("是否继续?(y/n)"); if (getchar()=='n') { break; } } } void deletee()//删除学生信息 { int i; while(1) { char id[20]; int index; printf("请输入要删除的学生的学号:"); scanf("%s",&id); getchar(); index=Student_SearchByIndex(id); //调用搜查id函数,根据其返回值确定位置 if (index==-1) { printf("学生不存在! "); } else { printf("你要删除的学生信息为: "); Student_DisplaySingle(index); printf("是否真的要删除?(y/n)"); if (getchar()=='y') { for (i=index;inum) { printf("输入的位置有误,请重新输入,当前共%d条数据 ",num); scanf("%d",&a);} b=num-1; for(;b>=a-1;b--) { //strcpy(students[b+1].ID,students[b].ID); //strcpy(students[b+1].Name,students[b].Name); //students[b+1].Mark1=students[b].Mark1; //students[b+1].Mark2=students[b].Mark2; //students[b+1].Mark3=students[b].Mark3; //students[b+1].Mark4=students[b].Mark4; //students[b+1].All=students[b].All; //students[b+1].Average=students[b].Average; Copy(students,b+1,b); //根据其输入的位置,将其及以后的数据向后移动一个位置 } num++; printf("请输入学号:"); scanf("%s",&students[a-1].ID); getchar(); printf("请输入姓名:"); scanf("%s",&students[a-1].Name); getchar(); printf("请输入语文成绩:"); scanf("%f",&students[a-1].Mark1); getchar(); printf("请输入数学成绩:"); scanf("%f",&students[a-1].Mark2); getchar(); printf("请输入英语成绩:"); scanf("%f",&students[a-1].Mark3); getchar(); printf("请输入计算机成绩:"); scanf("%f",&students[a-1].Mark4); //输入新数据

c语言成绩管理系统代码_二级c语言成绩查询_c语言成绩管理系统课程设计

getchar(); students[a-1].All=students[a-1].Mark1+students[a-1].Mark2+students[a-1].Mark3+students[a-1].Mark4; students[a-1].Average=(students[a-1].Mark1+students[a-1].Mark2+students[a-1].Mark3+students[a-1].Mark4)/4; } void search()//查询学生信息 { while(1) { char name[20]; int index; printf("请输入要查询的学生的姓名:"); scanf("%s",&name); getchar(); index=Student_SearchByName(name); //调用搜查name函数,根据其返回值确定位置 if (index==-1) { printf("学生不存在! "); } else { printf("你要查询的学生信息为: "); Student_DisplaySingle(index); } printf("是否继续?(y/n)"); if (getchar()=='n') { break; } } } void sort()//根据平均分排序 { int i,j; //struct students tmp; for (i=0;imax) max=students[a].Mark1; } for(a=0;a二级c语言成绩查询_c语言成绩管理系统代码_c语言成绩管理系统课程设计

max=students[0].Mark2; for(a=1;amax) max=students[a].Mark2; } for(a=0;amax) max=students[a].Mark3; } for(a=0;amax) max=students[a].Mark4; } for(a=0;a

代码修改如下

1.关于复制包含数组成员的结构体的问题

2.学号唯一性受限(函数)

3.新增文件读写

存在的问题

1.输出格式

2.插入()时,不判断学号的唯一性

为您推荐

中国有哪些比较好的医学类院校?二本的医学院院校名单

中国有哪些比较好的医学类院校?二本的医学院有哪些?下文有途网小编给大家整理了二本医学类院校名单,供参考!全国比较好的二本医科大学温州医科大学1932年1月,改为私立山西川至医学专科学校。南京工程学院是江苏省属普通本科高校,坐落于历史文化名城南京。二本医学院什么专业好就业

2023-03-05 20:09

(知识点)一曝十寒文人著作的成语有关典故

“一曝十寒”原意是说,即使是最容易生长的植物,晒一天,冻十天,也不可能生长(曝:晒。也说“一暴十寒”“十寒一暴”。虽有天下易生之物也,一日暴(同“曝”)之,十日寒之,未有能生者也。后人将“一日暴之,十日寒之”简化为成语“一暴十寒”,后演变为“一曝十寒”。切忌急于求成,切忌心猿意马,切忌三分钟热血。最无益,只怕一日曝,十日寒。

2023-03-05 20:07

世界各国艺术院校排名,中国排名第一的竟然是它!

中国美术学院(中国唯一国家级重点学科所在地,美术学,设计学博士点所在地.美行思远小编对此为大家整理了全球艺术类院校排名前十五强,供大家参考。以上就是全球艺术类院校排名前十五强的介绍,想具体了解这些院校以及这些院校的申请要求的同学,关注美行思远艺术留学网。国家级大学生创新创业训练计划、上海高等学校一流本科建设引领计划、上海高等学校一流研究生教育引领计划、上海市外国留学生政府奖学金院校。

2023-03-05 20:03

2023年河北单招学校有河北科技工程职业技术大学、石家庄幼儿

河北科技工程职业技术大学、河北石油职业技术大学、河北工业职业技术大学、河北化工医药职业技术学院、秦皇岛职业技术学院、石家庄铁路职业技术学院、唐山工业职业技术学院、沧州医学高等专科学校、石家庄邮电职业技术学院、石家庄职业技术学院、邯郸职业技术学院

2023-03-05 17:14

报考师范类大学,怎么选?选师范院校,建议按以下顺序

想报考师范类大学,怎么选?第一类:教育部直属的六所师范大学。第二类:其他省属的211师范院校3所和2所非211师范院校。省属3所211师范院校:湖南师范大学,南京师范大学,华南师范大学。2所非211师范院校:上海师范大学,首都师范大学。第三类,所在省属师范一本师范。第四类,所在省属二本师范。省属二本师范多数省市都有10所左右,相比较有两三所更好的。二本艺术类师范大学有哪些?河南有几所二本师范大学?

2023-03-05 16:10

二本理科大学 这个分数在甘肃省的话,可以上兰州信息科技学院!

高考380分理科能上几本大学高考380分理科在河南,能上一所专科学校。今年河南高考理科一本分数线是509分,二本分数线是405分,专科线是190分。380到450分理科生能上的大学380分到450分理科生能上的大学?2021高考文科380分可以上哪些学校380分一420分能上什么本科院校

2023-03-05 16:07

加载中...