C语言程序设计期末大作业(学生信息管理系统)(可自取源码)

高校学生信息管理系统

(一)在高校学生管理系统中包含九个主要操作:

  1. 退出系统;
  2. 学生信息的录入;
  3. 学生信息的打印;
  4. 学生信息的保存;
  5. 学生信息的读取;
  6. 学生人数的统计;
  7. 学生信息的查找;
  8. 学生信息的修改;
  9. 学生信息的删除。

(二)设计流程

首先确认用switch case来选择该高校学生管理系统的各个功能,包括学生信息的录入、打印、保存、读取、统计、查找、修改和删除。

  switch (ch)
        {
        case '1': //学生信息的录入
            InputStudent();
            break;
        case '2': //学生信息的打印
            PrintStudent();
            break;
        case '3': //学生信息的保存
            SaveStudent();
            break;
        case '4': //学生信息的读取
            ReadStudent();
            break;
        case '5': //学生人数的统计
            printf("学生总人数为:%d\n", CountStudent());
            system("pause"); //暂停
            system("cls");   //清屏
            break;
        case '6': //学生信息的查找
        {
            Node* p = FindStudent();
            if (p != NULL)
                printf("学号:%d\t姓名:%s\t年龄:%d\t成绩:%d\n", p->stu.stuNum, p->stu.name, p->stu.age, p->stu.score);
            else
                printf("没有找到该学生。\n");
            system("pause"); //暂停
            system("cls");   //清屏
            break;
        }
        case '7': //修改学生信息
            ModifyStudent();
            break;
        case '8': //删除学生信息
            DeleteStudent();
            break;
        case '0': //退出系统
            printf("Bye Bye!!!\n");
            return 0;
        default:
            printf("您的输入有误,请重新输入。\n");
            system("pause"); //暂停
            system("cls");   //清屏
            break;
        }       

再用if或while循环来将该系统功能连接应用。其次是各个功能的具体应用。

每一个功能都用了指针插入,创建一个新的节点,用头插法拷贝每一份数据以及暂停和清屏来停止列表的循环。

//创建一个新节点
    Node *pNewNode = (Node *)malloc(sizeof(Node));
    pNewNode->pNext = NULL;

    //头插法、尾插法
    //头插法
    if (g_pHead == NULL)
    {
        g_pHead = pNewNode;
    }
    else
    {
        pNewNode->pNext = g_pHead;
        g_pHead = pNewNode;
    }
system("pause"); //暂停
    system("cls");   //清屏

我们在打印学生信息、保存学生信息和统计学生人生功能里应用遍历链表,

//遍历链表
    Node* p = g_pHead;
    while (p != NULL)
    {
        printf("-\t%d\t-\t%s\t-\t%d\t-\t%d-\n",
               p->stu.stuNum,
               p->stu.name,
               p->stu.age,
               p->stu.score);
        p = p->pNext;  
    }

在保存、读取学生信息功能里应用了打开文件。可以自己修改地址和文件名

//打开文件
    FILE* fp = fopen("D:\\student-information.data", "w");

(三)运行结果

页面

1、学生信息的录入

当需要在系统内添加学生信息时,可以输入“1”录入学生的基本信息,包含学生的姓名、年龄、学号、成绩。如需添加更多信息,可以在后台处理。

2、学生信息的打印

输入“2”是对录入的学生信息的打印,也就是可以查看录入的学生信息。

3、学生信息的保存

输入“3”保存录入学生的信息,将我们录入的学生信息保存到我们需要的路径。

4、学生信息的读取

输入“4”是将我们之前录入的学生信息保存起来的文件进行读取信息。

5、学生信息的统计

输入“5”是统计学生人数。

6、学生信息的查找

7、学生信息的修改

如果后续发现信息录入错误也还有补救的措施,首先需要输入“7”,输入学号,就可以修改学生的姓名、年龄等信息了。

8、学生信息的删除

输入“8”是删除学生信息,输入学生学号就可以将该学生的所有信息删除。

0、退出系统

输入“0”表示退出学生管理系统,将系统停止退出。

这是一个比较简单的学生管理系统,需要源码的自取,百度网盘

链接:https://pan.baidu.com/s/1B3drWi_HaWgWGT9IRMXi-w 

提取码:8899

也可以私我!

猜你喜欢

转载自blog.csdn.net/Holly_12/article/details/125887337