下载资源后端资源详情
student-administration-master.zip
大小:1.01MB
价格:28积分
下载量:0
评分:
5.0
上传者:2401_86268542
更新日期:2024-07-21

基于C语言实现的学生成绩管理程序

资源文件列表(大概)

文件名
大小
student-administration-master/
-
student-administration-master/.gitignore
27B
student-administration-master/LICENSE
1.06KB
student-administration-master/README.md
7.9KB
student-administration-master/c_code/
-
student-administration-master/c_code/list.cpp
1.54KB
student-administration-master/c_code/list.h
802B
student-administration-master/c_code/main.cpp
1.57KB
student-administration-master/c_code/menu.cpp
25.8KB
student-administration-master/c_code/menu.h
2.13KB
student-administration-master/go_code/
-
student-administration-master/go_code/list.go
1.01KB
student-administration-master/go_code/main.go
480B
student-administration-master/go_code/menu.go
7.5KB
student-administration-master/img-folder/
-
student-administration-master/img-folder/Add.PNG
71.31KB
student-administration-master/img-folder/AdminMenu.PNG
78.02KB
student-administration-master/img-folder/Change.PNG
86.12KB
student-administration-master/img-folder/Del.PNG
68.91KB
student-administration-master/img-folder/Init.PNG
37.8KB
student-administration-master/img-folder/Insert.PNG
81.32KB
student-administration-master/img-folder/MainMenu.PNG
29.42KB
student-administration-master/img-folder/Nopass.PNG
100.58KB
student-administration-master/img-folder/PutOut.PNG
91.43KB
student-administration-master/img-folder/Save.PNG
76.63KB
student-administration-master/img-folder/ScoreInput.PNG
78.7KB
student-administration-master/img-folder/Search.PNG
103.44KB
student-administration-master/img-folder/Sort.PNG
78.98KB
student-administration-master/img-folder/StudentMenu.PNG
51.26KB
student-administration-master/img-folder/Tree.jpg
73.57KB
student-administration-master/python_code/
-
student-administration-master/python_code/main.py
7.82KB

资源内容介绍

题目学生成绩管理程序 本程序用于教学单位(院/系)的学生成绩管理。要求程序能够实现学生信息录入(可以实现增加、删除、修改学生的基本信息)、单科学习成绩的录入;班级内单科成绩排名;成绩查询:查询某个学生的各科成绩、统计所有不及格科目超过2科的学生名单。设计思路按照要求设计多种功能函数,并利用主函数实现功能,添加可视化操作提示。 数据结构利用链式线性结构体Stu数据域存储学生信息,学生姓名、班级、年级、学生各科成绩为字符串型,学生编号为整型,指针域存储下一个指针地址。流程图#### 功能及函数介绍##### 链
# **程序设计报告**#### 题目学生成绩管理程序 #### 代码及版本管理地址[gitee码云版本地址(点击跳转)](https://gitee.com/wu_wen_yi/student-administration)#### 要求本程序用于教学单位(院/系)的学生成绩管理。要求程序能够实现学生信息录入(可以实现增加、删除、修改学生的基本信息)、单科学习成绩的录入;班级内单科成绩排名;成绩查询:查询某个学生的各科成绩、统计所有不及格科目超过2科的学生名单。#### 设计思路按照要求设计多种功能函数,并利用主函数实现功能,添加可视化操作提示。#### 数据结构利用链式线性结构体Stu数据域存储学生信息,学生姓名、班级、年级、学生各科成绩为字符串型,学生编号为整型,指针域存储下一个指针地址。#### 流程图![图床链接过期](https://gitee.com/wu_wen_yi/student-administration/raw/master/img-folder/Tree.jpg)#### 功能及函数介绍##### 链表操作函数###### (1)尾插法```cvoid AddItem(Stu *plist) ;//尾插添加结点:传入需要添加结点的数量和头指针,从头指针遍历到尾结点,并从尾结点开始用malloc函数添加结点,添加完后将尾结点的指针域指向NULL```###### (2)遍历结点```cStu *NextItem(Stu *plist) ;//传入当前结点,传出下一结点```###### (3)链表初始化```cStu *InitList(int num);//初始化链表:利用malloc函数创建头指针,并将头指针编号为0,将头指针指针域指向NULL,并向后添加num个结点,并返回头指针```###### (4)寻找结点```cStu *SearchItem(int num,Stu *phead);//寻找结点:传入头指针,返回编号为num的结点位置```##### 功能函数###### (1)输出所有学生信息```c void ShowItem(Stu *p_list,Stu *p_head);//传入指针,输出其数据域学生信息```###### (2) 初始化程序```cvoid InitSys(Stu *p_head);//初始化学生系统后,管理员输入数据层```###### (3) 保存文件(二进制)```cvoid SaveFile(Stu *p_head);//保存文件,用wb打开文件,并利用fwrite函数写入fwrite(1,2,3,4); 参数说明:1.要写入的数据的地址,2.一次要写多少字节,3.写多少次,4.写到哪里```###### (4) 学生总排名```cint Sort(Stu *p_head,int n_ID,int n_subject) ;//院系总排名,传入头指针、学生编号、所要排名的数据类型,用SearchItem()函数检索该编号数据地址,并从头遍历链表到NULL,对每一个结点该数据值进行检索,遇到比被排序结点数值大时sum+1```###### (5)学生所在班级排名```c int ClassSort(Stu *p_head,int n_ID,int n_subject) ;//班级排名,传入头指针、学生编号、所要排名的数据类型,同(4)类似,只是判断了班级是否相等,利用了strcmp()库函数,包含了<string.h>头文件```###### (6)查找学生```c void Search(Stu *p_head,char *name); //搜索学生信息,传入头指针,传入学生姓名,遍历链表,找到该学生(考虑了重名情况)```###### (7)删除学生信息```c void Del(Stu *p_head,int n_ID); //删除表,传入头指针,传入删除学生编号。用free()释放内存,包含头文件<stdlib>,并将前后结点相连,利用了SearchItem()函数找到3个结点地址```###### (8)将字符串转为double型```c double Strtodouble(char *str) ;//传入0-100的字符串返回double型函数,若传入其他字符串,则返回-1。主要用于符合成绩逻辑,利用了atof()函数,包含头文件<stdlib>```###### (9)添加学生```c void AddList(Stu *p_head) ;//尾部添加新同学```###### (10)修改学生信息```cvoid Change(Stu *p_head);//修改学生信息,利用SearchItem()函数```###### (11)统计所有不及格科目超过2科的学生名单```cvoid NoPass(Stu *p_head);//传入头指针,输出所有不及格科目超过2科的学生名单,从头开始遍历判断```###### (12)单科学习成绩的录入```cvoid InputScore(Stu *start , Stu *end , Stu *p_head ,char *subject);//单科学习成绩录入,传入开始录入位置和结束录入位置,传入头指针 ,传入需要录入的学科```###### (13)保存文件(txt)```cvoid Fprint(Stu *p_head);//将数据导出到当前路径下的StudentInformation.txt,导出为txt便于使用者阅读```###### (14)输出单个学生信息```cvoid ShowItem(Stu *p_list,Stu *p_head) ;//传入结点地址,输出其数据域学生信息```###### (15)班级内单科成绩排名```cvoid ClassSortOutput(Stu *p_head,char *str_class,int subject);//传入头指针,传入班级,传入学科 利用了桶排序思想```###### (16)插入学生```cvoid Insert(Stu *p_head) ;//在中间插入一个表,找到前后结点,free()并将前中后结点关联,并将后续结点编号加一```#### 功能测试###### (1)存在数据文件时对数据读取并进入主菜单![图床链接过期](https://gitee.com/wu_wen_yi/student-administration/raw/master/img-folder/MainMenu.PNG)###### (2)不存在数据时初始化系统![图床链接过期](https://gitee.com/wu_wen_yi/student-administration/raw/master/img-folder/Init.PNG)###### (3)学生菜单![图床链接过期](https://gitee.com/wu_wen_yi/student-administration/raw/master/img-folder/StudentMenu.PNG)###### (4)管理员菜单(需输入密匙)![图床链接过期](https://gitee.com/wu_wen_yi/student-administration/raw/master/img-folder/AdminMenu.PNG)###### (5)输出所有学生信息![图床链接过期](https://gitee.com/wu_wen_yi/student-administration/raw/master/img-folder/PutOut.PNG)###### (6)查找学生![图床链接过期](https://gitee.com/wu_wen_yi/student-administration/raw/master/img-folder/Search.PNG)###### (7)输出两门以上不及格学生名单![图床链接过期](https://gitee.com/wu_wen_yi/student-administration/raw/master/img-folder/Nopass.PNG)###### (8)输出班级单科排名![图床链接过期](https://gitee.com/wu_wen_yi/student-administration/raw/master/img-folder/Sort.PNG)###### (9)添加学生![图床链接过期](https://gitee.com/wu_wen_yi/student-administration/raw/master/img-folder/Add.PNG)###### (10)删除学生![图床链接过期](https://gitee.com/wu_wen_yi/student-administration/raw/master/img-folder/Del.PNG)###### (11)修改学生信息![图床链接过期](https://gitee.com/wu_wen_yi/student-administration/raw/master/img-folder/Change.PNG)###### (12)单科成绩录入![图床链接过期](https://gitee.com/wu_wen_yi/student-administration/raw/master/img-folder/ScoreInput.PNG)###### (13)插入学生![图床链接过期](https://gitee.com/wu_wen_yi/student-administration/raw/master/img-folder/Insert.PNG)###### (14)保存为txt![图床链接过期](https://gitee.com/wu_wen_yi/student-administration/raw/master/img-folder/Save.PNG)#### 遇到的问题和异常处理方法###### (1)对输入int型变量的控制:```cif(scanf("%d",&num)!=1) {printf("提示:你没有输入正确值,请重新输入:");fflush(stdin);//while(getchar()!='\n'); }```能解决输入非int型变量时,程序崩溃问题###### (2)对输入字符串的问题:利用gets()函数输入,可以读入空格,防止缓冲区同时读入多个数据。###### (3)```cfflush(stdin);```读入int型等变量时会将换行符读入,利用这个函数可以将缓冲区换行符清除。Stdin指缓冲区###### (4)对成绩判断问题:```cwhile(Strtodouble(p_new->m_nMath) == -1){ printf("提示:您的输入有问题(成绩为0-100的整数),请重新输入:"); gets(p_new->m_nMath);}```利用Strtodouble函数对成绩输入判断,如果错误则重新输入###### �

用户评论 (0)

发表评论

captcha

相关资源

基于C语言的学生信息管理系统

设计一个基于C语言的学生信息管理系统可以分为以下几个关键部分,包括数据结构的选择、功能设计和用户界面的实现。下面是一个简单的设计框架,供参考:1. 数据结构的选择学生结构体这里定义了一个学生结构体,包含学生的姓名、学号、年龄和GPA成绩。你可以根据需要添加其他字段,如性别、联系方式等。2. 主要功能设计主菜单功能显示菜单选项供用户选择。包括添加学生信息、显示所有学生信息、查找学生信息、删除学生信息等选项。添加学生信息提示用户输入学生的姓名、学号、年龄和GPA等信息,并保存到学生信息数组或链表中。显示所有学生信息遍历学生信息数组或链表,逐个显示学生的姓名、学号、年龄和GPA等信息。查找学生信息根据学号或姓名等关键字,在学生信息数组或链表中查找并显示符合条件的学生信息。删除学生信息根据学号或姓名等关键字,在学生信息数组或链表中删除符合条件的学生信息。3. 用户界面的实现可以使用简单的命令行界面来实现,例如:

38.28KB34积分

app-ins-demo

以一个简单的示例描述如何编写一个更容易扩展和维护应用程序示例套件。包含脚本有:-| Scripts        --| Core                ---| SubSystems                        ---- TestSubSystem.cs                --- XApplication.cs                --- XApplication.Utils.cs                --- XGame.cs        -- GameIns.cs

12.92KB30积分

基于C语言实现的学生成绩管理系统

#学生成绩管理系统 ##功能说明: 学生: 姓名 性别 学号 密码 语文 数学 英语 1、第一次登录强制修改密码。 2、查询成绩 排名 不显示姓名和学号。 平均分 最高分 最低分 3、修改密码 4、查看个人信息 5、三次密码错误锁定帐号,由教师解锁教师: 姓名 性别 工号 密码 1、第一次登录强制修改密码。 2、添加学生(学生的学号自动生成) 单个添加 批量导入 3、删除学生 输入两人次学号确定 删除的学生要记录保存在已退学的文件中 4、查找学生 按姓名查找 按学号查找 5、修改学生信息 修改学生基础信息 修改学生成绩 6、录入学生成绩 单个录入 批量导入 7、重置学生密码 8、显示所有在校学生信息 9、显示所有退出学生信息 10、三次密码错误锁定帐号,由校长解锁校长: admin 1、第一次登录强制修改密码。 2、能重置自己的密码 3、能重置教师密码 4、添加教师 5、删除教师 6、显示所有在职教师 7、显示所有离职教师

8.72KB36积分

基于C语言开发的学生成绩管理系统

二、系统功能系统功能介绍1.录入学生信息:用户可以自由输入学生信息到系统中。2.打印学生信息:格式化展示系统中的学生信息。3.保存学生信息:将系统中的学生信息保存到本地文档。4.读取学生信息:读取本地文档中的学生信息并显示。5.统计所有学生人数6.查找学生信息:根据用户给定的信息(学号)在系统中查找该学生的信息7.修改学生信息8.删除学生信息0.退出系统系统main函数,while循环在外,系统程序能够持续运行,switch判断语句进行功能选择与函数切换。int main() {while (1){//打印菜单Menu();//读取一个字符 整数,字符在内存中映射为ASCII码char ch = _getch();switch (ch){case '1'://1.录入学生信息InputStudent();break;case '2'://2.打印学生信息PrintStudent();break;case '3'://3.保存学生信息SaveStudent();

4.86MB34积分