JokeyLover 2023-05-26 18:01 采纳率: 0%
浏览 181
已结题

c语言不太懂,有人会做吗

某班有最多不超过30人(具体人数由键盘输入)参加期末考试,最多不超过6门(具体门数由键盘输入)。定义结构体类型描述学生信息,每个学生信息包括:学号、姓名、多门课的成绩、总成绩和平均成绩。用结构体数组作为函数参数,编程实现如下菜单驱动的学生成绩管理系统。(注:红色部分为必做功能,黑色部分为选做功能)录入每个学生的学号、姓名和各科考试成绩。计算每门课程的总分和平均分。计算每个学生的总分和平均分。按每个学生的总分由高到低排出名次表。按学号由小到大排出成绩表。按姓名的字典顺序排出成绩表。按学号查询学生排名极其考试成绩。按姓名查询学生排名极其考试成绩。按优秀(90100)、良好(8090)、中等(7080)、及格(6070)、不及格(0~59)5个类别,对每门课程分别统计每个类别的人数以及所占的百分比。输出每个学生的学号、姓名、各科考试成绩以及每门课程的总分和平均分。要求程序运行后先显示如下菜单,并提示用户输入选项:
Input record
Caculate total and average score of every course
Caculate total and average score of every student
Sort in descending order by total score of every student
Sort in ascending order by number
Sort in dictionary order by name
Search by number
Search by name
Statistic analysis for every course
List record
Exit
Please input your choice:

  • 写回答

4条回答 默认 最新

  • 还有头发的程序员- 2023-05-27 16:15
    关注
    获得0.45元问题酬金

    可以借鉴下

    #include<iostream>
    #include<stdio.h>
    #include<stdlib.h> 
    #include<string.h>
    using namespace std;
    typedef struct PNode*LinkList;
    typedef struct PNode{
        int stdio;
        char name[30];
        double chinese;
        double math;
        double english;
        double politics;
        double sum;
        PNode *next;
    }PNode;
     
    int main(){    
        LinkList llist=(LinkList)malloc(sizeof(PNode));
        llist->next=NULL;
        int a,b=1;
        while(b){
            printf("\n-----------------------学生成绩管理系统-----------------------\n");
            printf("请选择你需要的功能:\n");
            printf(" 1.查找     2.插入    3.排序     4.展示     5.删除     6.退出\n");
            scanf("%d",&a);
            switch(a){
                case 1:printf("\n-----------------------学生成绩查找功能-----------------------\n"); check(llist);break;
                case 2:printf("\n-----------------------学生成绩插入功能-----------------------\n"); input(llist);break; 
                case 3:printf("\n-----------------------学生成绩排序功能-----------------------\n"); sortList(llist);break;
                case 4:printf("\n-----------------------学生成绩展示功能-----------------------\n"); display(llist);break; 
                case 5:printf("\n-----------------------学生成绩删除功能-----------------------\n"); deleteList(llist);break; 
                case 6:b = 0; break; 
                default:printf("输入有误!请重新输入!\n");
            }    
        }
        printf("\n-----------------------已退出成绩管理系统-----------------------\n"); 
        return 0;
    }
    
    
    评论

报告相同问题?

问题事件

  • 系统已结题 6月3日
  • 创建了问题 5月26日

悬赏问题

  • ¥15 Stata链式中介效应代码修改
  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 添加组件无法加载页面,某块加载卡住
  • ¥15 网络科学导论,网络控制
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错