C语言程序设计修改(能完成的话直接微信结账)

题目是题目一:编写程序管理学生的信息。(满分90分,基本功能50分,增加功能20分,报告20分)

1、实现基本功能: 

(1)以菜单方式进行工作;

(2)创建信息链表并以磁盘文件保存;

(3)读取磁盘文件并显示输出所有学生的成绩(至少包含三门成绩);

(3)按学号或姓名查询学生信息;

(4)添加成绩记录;

(5)修改指定姓名或学号的学生的成绩并可存盘;

(7)计算学生所有成绩平均分,按学生成绩平均分排序;

(6)显示输出某门课程60分以下、60~79、80~89、90分以上各分数段的学生信息。

2、增加功能:

例如(不限):

(1)登录注册功能

(2)分配用户

(3)用户功能和权限设置

(4)其他

目前已经有的代码是:

 #include <stdio.h>typedef struct _Student{ int nStuNum; char szName[20]; char szSex[4]; char szClass[20]; float fScore; }Student;typedef struct _Node{ Student stu; struct _Node* next; }Node;Node* g_pHead=NULL; void Welcome();void InputStudent();int main(){ while (1) { Welcome(); int n; scanf("%d", &n); switch (n) { case 1: InputStudent(); break; case 2: break; case 3: break; } } return 0;}void Welcome(){ printf("======================================================================\n"); printf("=                    欢迎使用高校学生成绩管理系统                    =\n"); printf("=                                                                    =\n"); printf("=                        1.录入学生信息                              =\n"); printf("=                        2.打印学生信息                              =\n"); printf("=                        3.保存学生信息                              =\n"); printf("=                        4.读取学生信息                              =\n"); printf("=                        5.统计所有学生人数                          =\n"); printf("=                        6.查找学生信息                              =\n"); printf("=                        7.修改学生信息                              =\n"); printf("=                        8.删除学生信息                              =\n"); printf("=                        0.退出系统                                  =\n"); printf("=                                                                    =\n"); printf("======================================================================\n");}void InputStudent(){ Node* pNewNode = (Node*)malloc(sizeof(Node)); pNewNode->next = NULL; printf("请输入学生的学号:\n"); scanf("%d", &pNewNode->stu.nStuNum); printf("请输入学生的姓名:\n"); scanf("%s", pNewNode->stu.szName); printf("请输入学生的性别:\n"); scanf("%s", pNewNode->stu.szSex); printf("请输入学生的班级:\n"); scanf("%s", pNewNode->stu.szClass); setbuf(stdin, NULL); printf("请输入学生的成绩:\n"); scanf("%f", &pNewNode->stu.fScore); if (g_pHead == NULL) { g_pHead = pNewNode; } else { pNewNode->next = g_pHead; g_pHead = pNewNode; } printf("添加学生信息成功.\n");}

 

参考GPT和自己的思路:

根据您给出的代码和问题,可以给出以下的建议和指导:

  1. 首先需要完成题目要求的基本功能,包括创建信息链表、读取和保存磁盘文件、查询和修改学生信息、计算和排序学生平均分等。可以按照题目的要求逐一实现,可以考虑使用文件读写函数和排序算法等;

  2. 如果想要增加功能,可以考虑实现登录注册功能、用户权限设置等。需要先了解一些基本的网站或系统安全知识,比如用户密码的加密存储、登录时的验证过程等;

  3. 在完成程序编写后,可以进行一些基本的测试,比如输入、输出、文件读写等方面的测试。可以按照程序的各个功能模块进行测试,确保程序的正确性和可靠性;

  4. 如果需要更详细的帮助和指导,可以通过微信或其他方式与我进行沟通和交流,我可以根据具体情况提供更加个性化的技术支持和服务,帮助您更好地完成这个项目。

参考GPT和自己的思路:

根据题目要求和已有代码,需要补充以下功能:

  1. 添加菜单选项对应的功能代码,在switch语句中进行调用。
  2. 实现创建信息链表并以磁盘文件保存,读取磁盘文件并显示输出所有学生的成绩(至少包含三门成绩)的功能。
  3. 实现按学号或姓名查询学生信息的功能。
  4. 实现添加成绩记录、修改指定姓名或学号的学生的成绩并可存盘、计算学生所有成绩平均分,按学生成绩平均分排序,显示输出某门课程60分以下、6079、8089、90分以上各分数段的学生信息等功能。
  5. 如果要增加其他功能,也需要相应的添加菜单选项和功能代码。

具体实现方式可以根据自己的编程经验和能力进行设计,可以参考一些常用数据结构和文件操作的相关函数。如果需要更详细的帮助或者修改已有代码,则需要进一步沟通和讨论,并进行计费。