欢迎您访问未分类思路学生成绩管理系统思路(附详细解析+void)!

未分类思路学生成绩管理系统思路(附详细解析+void)

更新时间:2023-03-22 17:13:48作者:佚名

学生成绩管理系统c语言代码_中学生学籍管理系统c语言

思创斯忠实用户-ss•2023年3月17日13:51•未分类

中学生成绩管理系统c语言代码_中学生学籍管理系统c语言思路中学生成绩管理系统,首先要初始化系统,开始一个新的中学生成绩系统初始化记录中学生姓名,学号,院系,之后输入中学生各科成绩,物理,俄语,英语成绩。记录完各课成绩之后,可查看中学生平均成绩和是否及格,成绩查询其中有学号查询,姓名查询,院系查询,还有全部输出,可以清晰的看见及格人数,根据分数高低排列,最后还可以添加和删掉中学生成绩,或则修改中学生成绩,防止人为录入成绩错误。基本函数1.结构体定义一个结构体,结构体的关键字,定义的结构体对象。学…

你们好,我是你的好同事思创斯。明天说一说中学生成绩管理系统c语言代码_中学生学籍管理系统c语言,希望您对编程的功底更进一步.

中学生成绩管理系统思路

中学生成绩管理系统,首先要初始化系统,开始一个新的中学生成绩系统初始化记录中学生姓名,学号,院系,之后输入中学生各科成绩,物理,德语,英语成绩。记录完各课成绩之后,可查看中学生平均成绩和是否及格,成绩查询其中有学号查询,姓名查询,院系查询,还有全部输出,可以清晰的看见及格人数二级c语言成绩查询,根据分数高低排列,最后还可以添加和删掉中学生成绩,或则修改中学生成绩,防止人为录入成绩错误。

基本函数1.结构体

定义一个结构体,结构体的关键字,定义的结构体对象。学号charID[20];姓名charName[10];各项成绩floatMark,总成绩floatAll平均成绩float;

2.录入(void())

借助循环将数据从[0]开始录入各项信息,计数器num+1。

2.删掉(void())

借助循环将字段上面的信息与待删掉的信息比对,若相同,将此项删掉并将旁边的信息往前联通一位,计数器num-1;若无此项,提示重新输入。

3.更改(void())

借助循环将字段上面的信息与待更改的信息比对,若相同,对其进行重新复制即更改;若无此项,提示重新输入。

4.插入(void())

提示输入插入的位置,将该位置后及该位置的信息向后挪一位,将新信息录入该位置。计数器num+1。

5.排序(voidsort())

走排序的平均分,依次比较两个相邻的成绩,假如她们的次序倘若前大于后就把她们交换过来。走访元素的工作是重复地进行直至没有相邻元素须要交换,也就是说该元素已然排序完成。

6.显示(void())

借助循环将已录入的信息复印下来。

7.查询(voidx())

提示要查询中学生的学号,借助循环比对,若相同,将此项信息复印下来;若无此项,提示重新输入。

8.主函数main()

借助无限次循环while和()实现各函数的调用二级c语言成绩查询,系统按照输入的数字来操控相应的函数,同时显示可供选择的选项。

#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;inum) {
printf("输入的位置有误,请重新输入,当前共%d条数据n",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);  //输入新数据 
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("学生不存在!n");
}
else
{
printf("你要查询的学生信息为:n");
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;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.插入时()没对学号进行惟一性判定

为您推荐

一个用C语言实现的学生成绩管理系统,程序打印一个

以下是一个用C语言实现的学生成绩管理系统,有详细注释:这个学生成绩管理系统主要的功能如下:函数中,程序首先检查学生人数是否已满,如果已满将无法添加新学生。数组,找到学号匹配的学生,并输出其姓名、学号和成绩。数组,计算所有学生的成绩之和,然后计算平均成绩并输出。函数中,程序打印一个菜单,供用户选择需要执行的操作。希望这个学生成绩管理系统能够给您带来帮助!

2023-03-22 17:11

2023年春节和新年相差一个月有关藏历藏历吗?

那么,2023年藏历新年是哪一天?藏历新年是西藏人民的传统节日,从藏历元月初一开始,将持续15天。“2023年春节是公历1月22日,此时为藏历时间的十二月初一;而藏历元月初一是公历2月21日。格桑平措介绍,2022年春节是2月1日,藏历新年是3月3日,也是相差一个月。

2023-03-22 17:10

公元1027年,印度的时轮历被印成藏文,正式西藏

2021年藏历新年时间是阳历2021年2月12日。藏历新年是西藏最大的节日,也是藏族节日之首,是最隆重的节日。藏历正月初一为藏历新年,由于与农历算法不同,藏历新年和农历新年的日期不完全相同,一般会有四种情况:即藏历新年初一和农历大年初一完全重合、相差一天、相差一个月或相差一个月零一天。现在大家知道为什么藏历年与我们的春节在时间上那么接近了吧?

2023-03-22 17:10

2019年北京积分落户多少人可以落户?人入围

北京新积分落户政策发布北京新版积分落户政策一图看懂新版北京积分落户政策今天,北京市人力资源社会保障局发布消息,北京市2019年积分落户申报审核工作已全部结束,自10月15日起进入公示及落户办理阶段。北京积分落户社保相关问题解答汇总篇北京2021年积分落户申报工作今日8时正式启动,申报期限为30日,7月12日起将在北京市政府门户网站“首都之窗”公示年度落户人员信息。

2023-03-22 17:07

北京市2020年度积分落户工作启动月收3.7万条公开征求意见

据北京市发展和改革委员会官方微信7月16日消息,新版《北京市积分落户管理办法》(以下简称《管理办法》)和《北京市积分落户操作管理细则》(以下简称《操作管理细则》)已完成修订,于7月16日发布。7月17日起,北京市2020年度积分落户工作将正式启动。今年积分落户规模保持稳定,下一步将根据北京市常住人口变化情况,统筹考虑城市发展需要,择机适度扩大年度落户规模。

2023-03-22 17:06

2023年广东高考各科目时间安排表,科目语文外语时间

一、2023年广东高考具体时间截止目前,广东暂未公布2023年高考具体时间,为了能帮助考生提前做好规划,下面整理了2022年广东高考各科目时间安排表,供大家参考:二、2023年广东高考用什么卷?广东高考试卷用的新高考一卷。广东新高考满分750分,其中必选语、数、外3门各150分,共450分。三、2022年广东高考本科录取率是多少?2万人;按实考人数计算,则今年广东夏季高考总录取率约为77.

2023-03-22 16:29

加载中...