type
status
date
slug
summary
tags
category
icon
password
C语言课设实现学生信息管理系统
上玄开源
生活的意义并不是与他人争高下,而在于享受努力实现目标的过程,结果只是对自己行动的嘉奖。
运行截图
源码主要功能
主要功能模块
- 主界面:用菜单Manu函数展示系统的主要功能选项,如显示学生信息、增加学生、删除学生、修改学生信息、查询学生、成绩排序、计算各科平均分、保存学生信息、统计全部科目及格人数、输出总分第一的学生信息等。
- 显示学生信息
- 增加学生
- 删除学生
- 修改学生信息
- 查询学生
- 按各科成绩排序
- 计算各科平均分
- 保存学生信息
- 统计全部科目及格人数
- 输出总分第一的学生信息
- 退出系统
设计思路
一、需求分析
首先,需要明确系统的用户需求。学生信息管理系统的用户需要查看学生的个人信息、成绩,管理学生的信息,包括录入、修改、查询和统计等;
二、功能设计
根据需求分析,系统需要设计以下主要功能:
- 学生信息管理:包括学生基本信息的录入、修改、查询和删除等功能。这些信息应包括姓名、学号、性别、年龄、联系方式等。
- 成绩管理:提供成绩的录入、查询、修改和统计分析功能。可以按照学生等条件进行查询和统计。
三、数据库设计
数据库设计是核心,需要建立合理的数据结构。
用c语言设计两个指针结构体来代替数据库,实现顺序表储存数据并保存至txt文件。
运行环境
由C语言编写,只用了简单的标准库,无需下载其他库文件只要有GCC和MinGW环境即可编译运行,具备通用性,可在Linux和Windows系统上正常运行。
数据格式
结构体设计
这段代码定义了两个结构体类型,并使用指针声明了一个名为studentDB的类型。
第一个结构体类型为student,包含以下成员变量:
char类型的no[30]:表示学生的学号,长度为30个字符。
char类型的name[10]:表示学生的名字,长度为10个字符。
char类型的sex[10]:表示学生的性别,长度为10个字符。
char类型的phone[20]:表示学生的电话号码,长度为20个字符。
float类型的cyuyan:表示学生的语文成绩。
float类型的computer:表示学生的计算机成绩。
float类型的datastruct:表示学生的数据结构成绩。
第二个结构体类型为studentDB,包含以下成员变量:
student类型的stu[MAX_NUM]:表示一个包含最多MAX_NUM个学生的数组。
int类型的number:表示学生的数量。
通过typedef关键字,将结构体类型student和studentDB分别命名为student和studentDB。这样,在后续的代码中可以使用这两个类型名来声明相应的变量或函数参数。
主要定义了两个结构体和一个宏常量。
第一个结构体是student,表示一个学生的信息。包含以下字段:
no[30]:学号,长度为30的字符数组;
name[10]:姓名,长度为10的字符数组;
sex[10]:性别,长度为10的字符数组;
phone[20]:电话号码,长度为20的字符数组;
cyuyan:语文成绩,浮点数;
computer:计算机成绩,浮点数;
datastruct:数据结构成绩,浮点数。
第二个结构体是studentDB,表示一个学生数据库。包含以下字段:
stu[MAX_NUM]:一个student类型的指针数组,用于存储最多MAX_NUM个学生的信息;
number:一个整型变量,表示当前数据库中存储的学生数量。
全部源码
引用另一篇文章→Lombok的一个强大注解:@Builder注解
- 作者:上玄
- 链接:http://passvip.top/article/1
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。