#include<stdio.h>
#include<stdlib.h>
#define LEN sizeof(struct student)
int main_menu();
int fun_choose();
int fun1();
int fun2(struct student *head);
int fun3(struct student *Head);
int fun4(struct student * Head);
int fun5(struct student * Head);
int fun6(struct student *p);
int fun7(struct student *p);
int fun8(struct student *p);
int num = 0; //用来存放节点数量的全局变量
struct student
{
unsigned int number; //无符号整型学号
float score; //浮点型分数
struct student *next;
}*create(int n), *start=NULL, *end=NULL;
int main() //主函数
{
main_menu();
return 0;
}
struct student *create(int n) //创建动态链表的函数
{
struct student *head, *p1, *p2;
head = p1 = p2 = (struct student*)malloc(LEN);
printf("\n [用TAB键分隔学号与成绩,ENTER键以输入下个学生的信息]\n\n| 学号 | 成绩 |\n");
scanf("%d%f", &p1->number, &p1->score);
while (n - 1 > 0)
{
p1 = (struct student*)malloc(LEN);
p2->next = p1;
scanf("%d%f", &p1->number, &p1->score);
p2 = p1;
n--;
}
end = p2;
p2->next = NULL;
return head;
}
int main_menu() //<学生成绩管理系统>主菜单
{
int i;
printf("\n 学生成绩管理系统\n\n+****************************************+\n|1、录入成绩 |\n|2、输出成绩 |\n|3、修改成绩 |\n|4、删除记录 |\n|5、统计成绩 |\n|6、成绩排序 |\n|7、追加记录 |\n|8、清空记录 |\n|0、退出 |\n+****************************************+\n\n请选择:");
scanf("%d", &i);
switch (i)
{
case 0:exit(0); break;
case 1:fun1(); break;
case 2:fun2(start); break;
C语言|控制台|学生成绩管理系统|动态链表|无文件读写
最新推荐文章于 2022-05-05 22:13:39 发布
本文介绍了一个使用C语言编写的控制台应用,该应用实现了学生成绩管理,通过动态链表存储数据,无需依赖外部文件进行读写。此系统能够进行成绩录入、查询和删除等基本操作。
摘要由CSDN通过智能技术生成