个人项目|学生管理系统(C语言版)

学生管理系统 这个是大一学习C语言的时候做的一个小项目,代码部分基本都是自己一人完成,没用到什么高大上的技术,在图形化方面用了EasyX(一个C++的图形库),其他都是C语言的基础内容。
项目介绍 项目总体功能概览
这个是项目的总体功能,主要分为两个部分:学生端和教师端,学生端具有创建账号、修改密码、学生登录、查询学生信息的功能;
教师端具有创建账号、修改密码、教师登录,教师登录后可以添加、修改、删除、查找、统计学生成绩的相关信息的功能。
个人项目|学生管理系统(C语言版)
文章图片

项目部分功能展示
【个人项目|学生管理系统(C语言版)】主要功能展示:
1、开始界面
个人项目|学生管理系统(C语言版)
文章图片

2、学生端登录后界面
个人项目|学生管理系统(C语言版)
文章图片

3、教师端登录后界面
个人项目|学生管理系统(C语言版)
文章图片

4、教师端子菜单1
个人项目|学生管理系统(C语言版)
文章图片

5、教师端子菜单2
个人项目|学生管理系统(C语言版)
文章图片

主要函数描述

  • Stu_Register()、Tea_Register()学生、教师注册函数
    用户输入用户名,函数检测输入的用户名是否已经注册过,若已注册过则出现提示信息;若无,则继续输入密码,输入密码过程中,函数判断两次输入的密码是否一致,若一致即完成注册,不一致则出现提示信息。
  • Stu_Logon()、Tea_Logon()学生、教师登录函数
    用户输入用户名,函数查找是否存在该用户,若不存在,出现提示信息,若存在,则继续输入密码,密码正确即完成登录,若密码输入三次后仍不正确,即出现提示信息。
  • Stu_ResetPassword()、Tea_ResetPassword()学生、教师修改密码函数
    用户登录后可进行修改密码操作,输入用户名,函数检索该用户是否存在,若不存在则出现提示信息,若存在则输入原密码,若输入三次原密码皆不正确的则出现提示信息,若输入正确则输入新密码,若直接跳过输入新密码阶段则默认不修改密码,密码认识旧密码。
  • Stu_ScoreManagement()、Tea_ScoreManagement()学生、教师查询学生信息函数
    用户输入相关的学生信息函数即从已有数据中进行模糊查询,将输入的信息与已有数据进行比较,如果该学生存在则在屏幕上打印出该学生的信息,若没有完全吻合的学生,则打印出所有与输入的信息相关的学生信息,如:输入信息为:小,则打印出所有带有“小”字的学生的信息,若输入的信息完全与已有的学生信息无关,则出现提示信息。
  • Stu_CreateScore()学生信息添加函数
    教师用户可以输入学生的姓名,若已添加该学生,则出现提示信息,若为添加过该学生,则继续输入学生的成绩信息。
  • Stu_AmendScore()学生信息修改函数
    教师用户输入学生的姓名后,函数检索是否存在该学生,若不存在则出现提示信息,若存在则继续输入需要修改的学生成绩信息。
遇到的问题 2020.3.3:出现插入的图片出现打不开的情况。
修正:将图片的格式统一为jpg格式。
2020.3.5:出现输入后保存的信息是乱码。
修正:将存入文件的数据进行格式转换,由wchar转换为char来存储。
2020.3.7:出现学生成绩的链表排序存在空指针导致输出乱码的情况。
修正:将链表排序函数重新修改了一下,使得排序过后传递下去的头指针不为空。
2020.3.10:出现进行翻页操作时部分学生成绩会出现重复输出的情况。
修正:修改了翻页函数,防止翻页时,末尾的学生重复输出。
2020.5.12:最新的一个问题,按”exit“键后并没有退出程序,程序仍在运行。
修正:添加了”exit(0); “语句退出程序。
使用说明 使用Visual Studio 2013点击项目的 学生管理系统(图形版).sln 文件即可打开项目
个人项目|学生管理系统(C语言版)
文章图片

注意:最好使用Visual Studio 2013打开运行项目,不然可能会发生一些问题。
项目地址 https://github.com/guanchanglong/StudentManagementSystem-C
如果觉得项目好的话,请别忘了 Star 一下该项目,支持一下作者哦!

    推荐阅读