C语言学生管理系统(开源)

大一课设 — 一个不算糟糕的C语言学生管理系统(附报告书)

大一的时候可真美好啊,当时为了实现一个项目熬夜写一个星期都不觉得累,反而单人完成项目之后还异常兴奋,有种难言的喜悦感,也挺佩服当时的自己的,一个人捣鼓了2000多行代码,不过还好当初做了亿点点注释,不然现在都看不懂了哈哈,代码部分繁琐,但我还是没改,毕竟也是当年的心血啊。

如果你初学没多久,我的建议是不要追求花里胡哨的界面,更不要想着抄网上的游戏算法,这些都没有用,你要做的就是要熟悉数据结构的运用,培养项目工程的思维,能把c的指针灵活运用而不造成内存泄露,能创新设计,这才是最好的,网上很多其他的类似的项目都花里胡哨的,都不是很适合,本项目纯c语言写,几乎没有任何全局变量,指针运用的很灵活,退出时也手动释放了内存,并且还运用了强大的数据结构,手写输入函数,要求你对指针、数组、数据结构、各种函数很熟练的掌握,能够很好的巩固你的知识,如果能帮到你的话,不妨点个赞支持支持!

此外,此项目前后经历几十人测试,被提出过n个bug,但都被修改过,更新了多个版本(代价就是有点乱),抗住了老师的提问和测试,并且成功拿到了99分的高分,应该说是一个还算不错的大一课设

基本功能

  1. 实现了账号登陆系统,实现了注册登陆修改密码的操作。
  2. 实现了文件读写,每个账号存储的内容唯一,从文件读写,并保存到文件。
  3. 实现了自定义输入,利用getch函数自定义输入函数,对超出范围的输入弹窗提示,对不合法的输入弹窗提示,对密码输入采用 *** 方式
  4. 实现了基本的数据维护,即增加,修改,删除,查询,并且所有的功能都具有良好的人机交互性。
  5. 实现了成绩的单科查询,以及各科成绩的汇总报告,创新设计。

对于提高编程的人来说,最快的方式就是动手做了,你可以借鉴此项目,也可以照着带一遍,这都能大大加强你的编程能力,当然你也可以稍加修改,作为你的课设!

如果想看运行视频的话,可以知乎这个回答:
知乎-学生管理系统演示视频

文末给出开源代码。

运行时截图:
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

亮点:

  1. 作为大一单人的课设,代码量大,一个系统中有着两个子系统,代码超2000多行(虽然现在的我看这个代码觉得写了很多废话)

  2. 有着较为完善的人机交互功能,基本上每个操作我都设置了返回和继续操作这个功能,给予用户较好的体验

  3. 采用了登陆模式,允许修改密码,单账号数据存储在文件中

  4. 数据结构强大,其中学生信息管理系统采用一颗AVL二叉树,学生成绩系统采用双向多重链表维护,较好的体现自己的水平

  5. 功能完善,创新设计

  6. 代码模块化,分类定义了头文件与源文件,几乎未使用全局变量,虽然这样做可能传参比较复杂,但使项目模块化,可读性更高

  7. 自定义输入,使得可以检测用户在输入时的错误,例如输入数字时则不允许输入字符,且有范围规定。

头文件与函数定义:

1.FileO,h&&FileO.c,这个模块设计到了登陆与许多文件操作(File Operate)

2.Core1.h&&Core1.c,这个模块设计到了与学生信息管理系统有关的核心操作

3.Core2.h&&Core2.c,这个模块设计到了与学生成绩管理系统有关的核心操作

4.Input.h&&Input.c,这个模块自定义了输入,使得所有的输入均使用getch(在vs下并不支持,需要换成_gettch_),使得在输入时便可以判定是否输入有效

5.ShowMap.h&&ShowMap.c,这个模块设计了与界面有关的函数

阅读代码时建议先阅读大作业说明书,了解具体程序模块,然后再建议阅读头文件,里面有各个函数的定义并且都做了注释说明,基本可以缕清楚大致的功能。

代码开源(附报告书)
直达Github:
项目—学生管理系统

git clone地址:
git://github.com/happysnaker/StudentsManageSystem.git

如果你没有git或者不会操作github,点链接进去后应该会到下图:
在这里插入图片描述
对于提高编程的人来说,最快的方式就是动手做了,你可以借鉴此项目,也可以照着带一遍,这都能大大加强你的编程能力,当然你也可以稍加修改,作为你的课设!

如果您觉得还不错的话,点个赞再走呗,github上顺手给个star呗,star标志就在右上角!

百度网盘下载:

别急奥,不会操作Github的话我也已经帮你打包好啦,直接去百度网盘下载就阔以啦:

链接:https://pan.baidu.com/s/1DX2FzHdQwxTxzP5d2b5-WA
提取码:1qke
复制这段内容后打开百度网盘手机App,操作更方便哦

一些其他问题

有的小伙伴发现去掉头文件中的函数声明也可以运行,是的,是可以,cb的链接挺强大的,不过这是一个工程思想把。

指望在VS运行肯定是很麻烦的,VS的环境和CB是不同的。DEV的话我不清楚,不过下面所说的编译选项肯定是要改过来的。

貌似有很多小伙伴反馈会出现什么for-loop…错误,这个是编译选项的问题,在c99之前是不允许在for中定义变量的,所以要把编译环境调到最新的c11或c99标准。具体的做法是:

  1. 找到setting,点击Compiler…
  2. 编译器设置Flag(记得点ok)
  3. 其他选项中添加编译参数 (记得点ok)



    转载请注明出处!
  • 17
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值