c语言简单成绩系统建立怎么做

【例10-16】成绩系统。设计一个简单的成绩系统,根据菜单显示可进行“输入原始信息”、“追加学生信息”、“输出学生信息”这三个功能。已知学生信息包含:学号、姓名、一门课的成绩。 分析:先设计一个menu函数,用数字1,2,3对应题目要求的三个功能,然后根据用户的选择执行不同的功能。 程序请见备注。

 

参考一下,把多个课程改成一个课程

#include<stdio.h>
#include<stdlib.h>
int n=5;
int no;
struct stu
{
	char name[20];
	int num;
	int chinese;
	int math;
	int english;
	int computer;
	float average;
}student[5];
//1.输入信息
void student_scanf(int n)
{
	for(int i=0;i<n;i++)
	{	printf("请输入第%d个学生的信息:\n",i+1);
		printf("学号  姓名  语文成绩  数学成绩 英语成绩  计算机成绩\n");
		scanf("%d%s%d%d%d%d",&student[i].num,&student[i].name,&student[i].chinese,&student[i].math,&student[i].english,&student[i].computer);
	    student[i].average=(student[i].chinese+student[i].math+student[i].english+student[i].computer)/4.0;			 
	}
 } 
void student_printf(int n)
{
	printf("学号  姓名  语文成绩  数学成绩  英语成绩  计算机成绩  平均成绩\n");
	for(int i=0;i<n;i++)
	{
		printf("%d\t%s\t%d\t%d\t%d\t%d\t%f\n",student[i].num,student[i].name,student[i].chinese,student[i].math,student[i].english,student[i].computer,student[i].average);
	 } 
}

void student_seek(int no)
{
    int j=0;
    for(int i=0;i<n;i++)
    {
        if (no==student[i].num)
        {
            j=1;      
            printf("学号:%d 姓名:%s 语文:%d 数学:%d 英语:%d计算机:%d 平均成绩;%f\n",student[i].num,
			student[i].name,student[i].chinese,student[i].math,student[i].english,student[i].computer,student[i].average);
            break;
        }
    }
    if(j==0) printf("查询的学号不存在!\n");
}
void student_alter(int no)
{

    for(int i=0;i<n;i++)
    {
        if (no==student[i].num)
        {
		
		printf("姓名:");
		scanf("%s",&student[i].name);
		printf("语文成绩:");
		scanf("%d",&student[i].chinese);
		printf("数学成绩:");
		scanf("%d",&student[i].math);
		printf("英语成绩:");
		scanf("%d",&student[i].english);
		printf("计算机成绩:");
		scanf("%d",&student[i].computer);
	    student[i].average=(student[i].chinese+student[i].math+student[i].english+student[i].computer)/4.0;	
		printf("修改后的信息为:");        
        printf("%d\t%s\t%d\t%d\t%d\t%d\t%f\n",student[i].num,student[i].name,student[i].chinese,
		student[i].math,student[i].english,student[i].computer,student[i].average);
        }
    }
}
void student_sort_chinese()
{
    for (int i = 0; i < n - 1; i++)
	{
            for (int j = 0; j < n - i - 1; j++)
	        {
                    if (student[j].chinese < student[j + 1].chinese) 
			{
                            stu temp = student[j];
                            student[j] = student[j + 1];
                            student[j + 1] = temp;
                        }

} 
}

}
void Statistics()
{
printf("学号\t姓名\t平均成绩\n");
	for(int i=0;i<n;i++)
	{
		printf("%d\t%s\t%f\n",student[i].num,student[i].name,student[i].average);
	 } 

} 
int main(){
	student_scanf(n);	
	student_printf(n);	
	printf("请输入要查询的学生的学号:");
	scanf("%d",&no);
	student_seek(no); 
	printf("请输入修改信息的学生的学号"); 
    scanf("%d",&no);
	student_alter(no);
	printf("按语文成绩从大到小排序:\n"); 
	student_sort_chinese() ;
	student_printf(n);
	printf("统计信息为:\n");
	Statistics();
	return 0; 
} 

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m