当前位置:网站首页>用c语言编写学生成绩管理系统(c语言学生成绩管理系统删除)
用c语言编写学生成绩管理系统(c语言学生成绩管理系统删除)
2022-07-28 10:48:00 【全栈程序员站长】
大家好,又见面了,我是你们的朋友全栈君。
一、课程设计题目
① 基本要求题目:矩阵乘法。
② 综合训练:学生成绩管理系统
二、设计要求
矩阵乘法:编写一个函数实现矩阵A(2行3列)与矩阵B
相乘(3行2列),乘积放在C数组中。在主函数中输入相乘的两数组,并输出结果。
学生成绩管理:(结构体数组、函数、指针、算法、流程结构及文件等的综合应用)
程序说明:有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能:
学生成绩管理系统
1、 成绩录入
2、 成绩查询
3、 成绩统计
4、 退 出
(1)主菜单
(2)各菜单项功能
① 成绩录入:输入学生的学号、姓名及三门课的成绩;
② 成绩查询:(至少一种查询方式)。
v 按学号查询学生记录。
v 查询不及格学生的记录。
③成绩统计:
v 计算学生的平均分;
v 根据学生的平均分高低,对学生的数据进行排序后输出;
v 对学生单科成绩排序,输出学生姓名与该科成绩;
④退出系统:退出整个系统(即主菜单)。
(3)结构体数组:
#define N 30
struct student
{int
num;
char
name[20];
float score[3];
float
average;
};struct student stu[N];
三、数据结构设计描述
系统功能描述
1能够输入学生的学号、姓名、三科成绩并且计算出平均成绩。
2能够以表格的形式输出学生记录
3能够按照学生三科的平均成绩进行排序
4能够按照学生的单科成绩进行排序
5能够按照学号查询学生记录
6往表中插入学生记录
7从表中删除学生记录
8存储记录到文件中
9从文件中读取记录
10退出
数据字典
1数据流条目
数据流名称:全部记录
别名:无
简述:最新更新后所有关于学生成绩的记录
来源:数据库
去向:加工“记录筛选”
数据流量:不限
组成:学号+姓名+SC1+SC2+SC3+平均成绩
数据存储条
数据存储名称:学生成绩记录
别名:无
简述:存放学生所有可供查询的信息
组成:学号+姓名+SC1+SC2+SC3+平均成绩
组织方式:索引文件,以学学号为关键字
查询要求:要求能立即查询
2数据项条目
数据项名称:学号
别名:无
简述:所有学校学生的学号
类型:字符串
3加工条目
加工名:更改的记录
激发条件:学生成绩记录被改动
优先级:普通
输入:新记录
输出:更新数据、数据未改动
加工逻辑:根据现有学生成绩记录
if 新记录<>旧记录
then 更新数据
else 数据未改动
endif
设计测试流程
1、进入界面
2、输入选项0,回车;
按提示输入数据
3、回到主菜单;
输入选项8,回车;
输入文件名:data,回车;
出现成功提示,则读入文件操作成功。
4、回到主菜单,输入1,回车
每10个暂停显示数据
5、回到主菜单,输入2,回车
出现排序成功信息。
6、回到主菜单,输入3,回车
出现排序成功信息。
7、回到主菜单,输入5,回车
按提示插入一组数据
8、回到主菜单,输入6,回车
按提示输入姓名,删除数据
出现删除成功的信息
9、回到主菜单,输入4,回车
输入学号进行查询
10、回到主菜单,输入1,回车
出现统计信息
11、回到主菜单,输入7,回车
输入result,回车
出现成功写入文件的信息
12、回到主菜单,输入9,回车退出系统
四、各变量的定义和作用
#define N 3 定义常数
typedef struct z1 定义数据结构
{ char no[11];
char name[15];
int score[N];
float sum;
float average;
int order;
struct z1 *next;
}STUDENT;
char *menu[] 定义菜单字符串数组
Enter list 输入记录
Print list 显示单链表中所有记录
Sort to make new file 按照总成绩排序
sort to Single course result 按照单科成绩排序
Search record on ID 按照学号查找记录
Insert record to list 插入记录到表中
Delete a record from list 从表中删除记录
Save the file 将单链表中记录保存到文件中
Load the file 从文件中读入记录*/
Quit 退出
STUDENT *init() 初始化链表
STUDENT *create()创建链表,完成数据录入功能
inputs(char *prompt, char *s, int count) 自定义输入控制函数inputs
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/128282.html原文链接:https://javaforall.cn
边栏推荐
- JSON初步理解
- 盘点:144个免费学习网站,全网最全资源合集
- Learn these analysis methods and models, and no longer have no ideas when encountering problems
- 02.1.2. logic type bool
- Array related knowledge points
- Blue Bridge Cup embedded Hal library systick
- 1. Sum of two numbers
- CRM+零代码:轻松实现企业信息化
- Inventory: 6 books teach you the necessary skills for career promotion
- Leetcode:981. time based key value storage [trap of iteration for: on]
猜你喜欢

I use the applet container to improve the efficiency of mobile R & D by 5 times!

读懂这6本书,学习MySQL更轻松

2022-2023 年十大应用程序发展趋势

什么是WordPress

低代码(aPaas)为什么最近又火了?

Learn these analysis methods and models, and no longer have no ideas when encountering problems

大三下学期总结

No swagger, what do I use?

Reading these six books makes learning MySQL easier

keil和IAR中lib库文件的生成和使用
随机推荐
2022-2023 年十大应用程序发展趋势
Tree shaking and DCE
What is WordPress
Purchase, sale and inventory software suitable for small and medium-sized enterprises to solve five major problems
剑指 Offer 30. 包含min函数的栈
The blogs of excellent programmers at home and abroad are all here, please check it
PHP发送移动MAS短信乱码的解决方法
Sword finger offer 35. replication of complex linked list
Table data processing software, what else besides excel?
分体式测斜探头安装要点及注意事项
栈和队列
用 ZEGO Avatar 做一个虚拟人|虚拟主播直播解决方案
1天涨粉81W,打造爆款短视频的秘诀是什么?
Fhwy workday schedule
Eslint, Eslint中文文档
Leetcode:1300. the sum of the array closest to the target value after transforming the array [dichotomy]
Usage of memory operation functions memcpy() and memmove()
JS - 修改数组中对象的键名
Use the common union and pointer to test the size end
Make a virtual human with zego avatar | virtual anchor live broadcast solution