C语言学生成绩管理系统

本文介绍了使用C语言和单链表知识构建一个简单的学生成绩管理系统的过程,包括学生结构和结点结构的设计,以及录入、显示、增加、删除、修改、查找和排序等基本功能的函数实现。
摘要由CSDN通过智能技术生成

学习完C语言基础知识点,现在来用单链表、函数、指针的相关知识写一个简单版学生成绩管理系统,主要实现增删改查的基本功能。

主界面:(自己设计)
void main()
{
	system("cls");
	printf("

");
	printf("			===========================================
");
	printf("			|                                         |
");
	printf("			|          欢迎来到学生成绩管理系统         |
");
	printf("			|                                         |
");
	printf("			|=========================================|
");
	printf("			|            请选择要操作的命令             |
");
	printf("			|-----------------------------------------|
");
	printf("			|                                         |
");
	printf("			|              1.录入学生信息              |
");
	printf("			|              2.显示学生信息              |
");
	printf("			|              3.增加学生信息              |
");
	printf("			|              4.删除学生信息              |
");
	printf("			|              5.修改学生信息              |
");
	printf("			|              6.查找学生信息              |
");
	printf("			|              7.按总分排序                |
");
	printf("			|                                         |
");
	printf("			===========================================
");
    int Item;//保存操作命令
	pnode phead=NULL;//定义一个指针
	while(1)
	{
		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;
			default:
			break;
		}
	}
	system("pause");
}

在这里插入图片描述

1.定义一个学生结构和一个结点结构,用于存储信息。

学生结构:
//学生结构 
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;//*node等价于struct Student st,pnode等价于struct Node *pNext 

2.定义一些函数来处理学生信息。

函数模块:
//函数
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);//总分排序 
1)录入学生信息pnode Input()
//录入学生信息
pnode Input()
{
	int num;//学生的人数
	node stu;//学生结构
	pnode phead=(pnode)malloc(sizeof(node));//定义一个头结点并且为头结点分配内存
	//判断内存是否为空
	if(NULL==phead)
	{
		printf("内存分配失败,程序终止!
");
		exit(-1);
	}
	pnode ptail
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值