C语言——学生信息管理系统

功能展示

界面展示 

所有功能模块:


功能1:菜单模块(显示功能菜单)


功能2:增加学生信息


功能3:输出学生信息(查看所有学习信息)


功能4:修改学生信息

第一步:修改信息

第二步:查询验证


功能5:删除学生信息

第一步:删除信息

第一步:查询验证


功能6:查询单个学生信息

  1. 按照学号查询:
  1. 按照姓名查询:
  1. 查询为空:

功能7:排序学习信息(按照学号升序排序)

在排序之前,先增加几条数据:

执行排序:

验证结果(该数据无法验证是否执行头排序)

再插入一条比第一条小的数据(用于执行头排序):

执行(头)排序:

验证结果:


功能8:退出管理系统


 心得分享 

过程梳理 首先要根据需求分析,将各个功能模块罗列出来 数据建模,对数据进行封装,创建一个student结构体,添加我们需要的各种数据。 创建一个可以循环输入命令的菜单,并且可以退出,还可以检查输入的指令是否匹配。 然后一个个功能模块实现就可以了。但要注意实现功能的顺序。(写功能也要有顺序,这样可以事半功倍) 第一个功能,肯定就是添加了,每当需要添加的时候,就需要申请一块内存,创建一个student结构体,并赋予相应的数据。 第二个功能,就是打印全部数据。 第三个功能,实现单个数据的查询。 第四个功能,实现单个数据的删除。(删除和修改都差不多) 第五个功能,实现单个数据的修改。 第六个功能,也就是最难的功能——链表排序 最后,对细节进行处理。 个人总结 当思维混乱的时候,不妨画图来理解。 写循环时,一定要明确跳出的逻辑和循环的次数和迭代方法。 在实现功能的时候,还需要考虑特殊情况!边界条件的处理尤其重要。(在排序的时候,一定要考虑多个因素) 总体难度不大,但是需要一步一步去实现,更多的是考验对细节的处理,后面又看了别人的实现方法,发现自己的思维方式还是比较呆板,别人几行就可以搞定的,自己还是用了各种if分支和for循环才搞定,还得加强自己的思维能力,多刷算法!

学生管理系统(完整代码)

main.cpp

# include "student.h"



int main(){
	
	StudentNode* s = NULL;
	
	int command; 
	
	while (true)
	{
		myMenu();   // 展示菜单 
		
		scanf("%d", &command);   // 输入
		
		switch (command)
		{
		case 1:// 增加学生信息
			AddStudent(&s);
			break;
		case 2:// 删除学生信息
			DeleteStudent(&s);
			break;
		case 3:// 修改学生信息
			UpdateStudent(&s);
			break;
		case 4:// 查询学生信息 (可按照姓名和学号) 
			SearchStudent(&s);
			break;
		case 5:// 输出学生信息 (打印所有学生信息) 
			MyPrint(s);
			break;
		case 6:// 排序学生信息 (按照学号升序排序) 
			MySort(&s);
			break;
		case 0:// 退出管理系统
			exit();
			break;
		default :      //输入有误
			error();   
			break;
		}
		
		system("pause"); 
		
	}
	
	
}

student.h


student.cpp

经验分享 程序员 微信小程序 职场和发展