修改后的程序如下:(已添加注释和退出功能)

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

//学生结构体 
struct Student
{
    char Name[10];  //定义变量
    int Num;        //定义变量
    float Computer; //定义变量
    float Math;     //定义变量
    float English;  //定义变量
    float Total;    //定义变量
    float Ave;      //定义变量
};
//结点 
typedef struct node
{
    struct Student st;//数据域
    struct node *pnext;//指针域
}node, *pnode; 

//函数声明
pnode Input();           //录入学生信息函数声明
void Show(pnode phead);  //显示学生信息函数声明
void Add(pnode phead);   //增加学生信息函数声明
void Delete(pnode phead);//删除学生信息函数声明
void Change(pnode phead);//修改学生信息函数声明
void Search(pnode phead);//查找学生信息函数声明
void Sort(pnode phead);  //总分排序 函数声明

int main()
{   
    system("color F0");//字白底蓝色
    printf("\t\t\t|           《C语言课程设计》             |\n");//进入时界面
    printf("\t\t\t|            学生成绩管理系统             |\n");
    printf("\t\t\t|            学院:国防教育学院           |\n");
    printf("\t\t\t|            专业:电气自动化             |\n");
    printf("\t\t\t|            班级:2240804                |\n");
    printf("\t\t\t|            姓名:胡霄宇                 |\n");
    printf("\t\t\t|            学号:2022320092             |\n");
    int Item;        //保存操作命令
    pnode phead=NULL;//定义一个指针
    while(1)
    {   
        printf("\n\n");
        printf("\t\t\t============================================\n");//操作界面
        printf("\t\t\t|                                          |\n");
        printf("\t\t\t|          欢迎来到学生成绩管理系统        |\n");
        printf("\t\t\t|                                          |\n");
        printf("\t\t\t|==========================================|\n");
        printf("\t\t\t|            请选择要操作的命令            |\n");
        printf("\t\t\t                                           \n");
        printf("\t\t\t              1.录入学生信息              \n");
        printf("\t\t\t              2.显示学生信息              \n");
        printf("\t\t\t              3.增加学生信息              \n");
        printf("\t\t\t              4.删除学生信息              \n");
        printf("\t\t\t              5.修改学生信息              \n");
        printf("\t\t\t              6.查找学生信息              \n");
        printf("\t\t\t              7.按总分排序                \n");
        printf("\t\t\t              8.退出                      \n");
        printf("请选择操作命令:");
        scanf("%d",&Item); //赋值
        system("cls");     //清屏
        switch(Item)
        {
            case 1:  //录入学生信息
            {
                phead=Input();  //引用函数
                break;
            }
            case 2:  //显示学生信息
            {
                Show(phead);  //引用函数
                break;
            }
            case 3:  //增加学生信息
            {
                Add(phead);  //引用函数
                break;
            }
            case 4:  //删除学生信息
            {
                Delete(phead);  //引用函数
                break;
            }
            case 5:  //修改学生信息
            {
                Change(phead);  //引用函数
                break;
            }
            case 6:  //查找学生信息
            {
                Search(phead);  //引用函数
                break;
            }
            case 7:  //总分排序
            {
                Sort(phead);
                Show(phead);
                break;
            }
            case 8:  //退出
            {
                printf("程序已退出!\n");
                return 0;
            }
            default: break;
        }
    }
    system("pause");
}

//录入学生信息函数编写
pnode Input()
{
    int num;//学生的人数
    node stu;//学生结构
    pnode phead=(pnode)malloc(sizeof(node));//定义一个头结点并且为头结点分配内存
    //判断内存是否为空
    if(NULL==phead)
    {
        printf("内存分配失败,程序终止!\n");
        exit(-1);
    }
    pnode ptail=phead;//定义一个指向头结点的指针
    ptail->pnext=NULL;//清空指针域
    printf("请输入学生的人数:");
    scanf("%d",&num);
    int i;
    for(i=0;i<nu

原文地址: http://www.cveoy.top/t/topic/fQXb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录