学生信息管理系统——c实现

学生信息管理系统——c实现

为了给我个人博客(www.gaoyuelong.cn)增加一点价值,我打算写一些小的管理程序或项目放在上面。同时也复习一下之前学的。花了大概三个晚上的时间把之前c语言课设的内容写了一遍。
第一个晚上搭了一下简单的框架,如各个模块函数,菜单显示,主函数与其之间的调用关系。第二个晚上是对功能函数的实现。第三个晚上对其优化。当然,现在就我发现的还有一些问题,是使用上的不方便,但不影响整体使用。就这样吧。
源码放在了github上:
https://github.com/GYueLong/material/tree/master/c
下面简单介绍一下,顺便整理一下遇到的问题。
用链表实现,每个结点存放学生信息:

typedef struct StudentMessage//学生信息结点
{
	char name[20];
	char gnder[20];
	int  id;					//学号
	char college[20];			//学院
	char major[20];				//专业
	char classname[20];			//班级
	char birthday[20];			//出生年月
	int AdmissionTime;		    //入学时间
	char DrivingRange[20];		//乘车区间
	struct StudentMessage *next;	//链表
}Stu;

这是主函数,程序入口。我一直觉得这个模板很好用。

void main()
{
	int no = 0;//功能选项
	while (1) {
		system("cls");//清屏
		MainMenu();//菜单显示
		printf("请输入功能选项:\n");
		scanf("%d",&no);
		switch (no) {
		case 0:AllStudentMessage();break;
			...
		case 9:freeList(); return;
		default:printf("选择错误\n");
		}
		system("pause");
	}	
	return;
}

模块函数
在这里插入图片描述
学生信息及功能

学生证信息:姓名、性别、学号、学院、专业、班级、出生年月、入学时间、乘车区间
功能:
添加学生信息(在键盘输入)
查询学生信息(给定学号,显示该学生的学生证信息)
查询班级所有学生信息(给定班号,显示该班所有学生的学生信息)
修改学生信息(给定学号,修改该学生的学生证信息)
删除学生信息(给定学号,删除该学生的学生证信息)
统计班级人数、男女比例
学生信息从文件中读入
学生信息写入文件中

程序运行界面:
在这里插入图片描述
写的过程中给我最大的感受就是一个东西一旦熟悉了,知道了他的原理,运用起来会很快。但是大一那会看到这些真是头大。很长时间没用过指针链表了,在写的过程中也遇到了一些问题。

  • 因为我用的环境是vs2015,在vs2015以及更高版本中认为scanf是一个不安全的函数,因此不支持使用,但如果非要用的话,可以更改设置,也可以在代码的顶行加上一句代码#pragma warning(disable:4996);这样就能正常使用scanf函数了。
  • 在c语言中想要表示字符串时,用的是字符数组,这里在对班级名判断时要用strcmp函数。例如(strcmp(p->classname,ClassNo)==0)而不要用if (p->classname == ClassNo)。我曾在调试过程中眼真真看着他数组里面内容都一样但是通不过。
  • 还有一个就是关于结构体成员初始化问题
struct date
{
     int year=0;
};

似乎这种方法并不奏效
因为书上是这么写的

struct date
{
     int year;
}gao={2019};

大概就是这么多,记住一定要多动手,动手你才会发现你根本不会这个东西。

linux命令:ps命令查看当前系统中运行的进程信息

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
大学生参加学科竞赛有着诸多好处,不仅有助于个人综合素质的提升,还能为未来职业发展奠定良好基础。以下是一些分析: 首先,学科竞赛是提高专业知识和技能水平的有效途径。通过参与竞赛,学生不仅能够深入学习相关专业知识,还能够接触到最新的科研成果和技术发展趋势。这有助于拓展学生的学科视野,使其对专业领域有更深刻的理解。在竞赛过程中,学生通常需要解决实际问题,这锻炼了他们独立思考和解决问题的能力。 其次,学科竞赛培养了学生的团队合作精神。许多竞赛项目需要团队协作来完成,这促使学生学会有效地与他人合作、协调分工。在团队合作中,学生们能够学到如何有效沟通、共同制定目标和分工合作,这对于日后进入职场具有重要意义。 此外,学科竞赛是提高学生综合能力的一种途径。竞赛项目通常会涉及到理论知识、实际操作和创新思维等多个方面,要求参赛者具备全面的素质。在竞赛过程中,学生不仅需要展现自己的专业知识,还需要具备创新意识和解决问题的能力。这种全面的综合能力培养对于未来从事各类职业都具有积极作用。 此外,学科竞赛可以为学生提供展示自我、树立信心的机会。通过比赛的舞台,学生有机会展现自己在专业领域的优势,得到他人的认可和赞誉。这对于培养学生的自信心和自我价值感非常重要,有助于他们更加积极主动地投入学习和未来的职业生涯。 最后,学科竞赛对于个人职业发展具有积极的助推作用。在竞赛中脱颖而出的学生通常能够引起企业、研究机构等用人单位的关注。获得竞赛奖项不仅可以作为个人履历的亮点,还可以为进入理想的工作岗位提供有力的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高二的笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值