没有合适的资源?快使用搜索试试~ 我知道了~
高级语言程序设计实验报告V6.0升级版1
需积分: 0 0 下载量 180 浏览量
2022-08-03
11:16:58
上传
评论
收藏 772KB PDF 举报
温馨提示
![preview](https://dl-preview.csdnimg.cn/86274233/0001-fc76b8e4a30227dbd392318198eb1821_thumbnail.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
23页
(2)AverSumofEveryStudent函数原型:void AverSumofEveryStudent(STU stu[], int n, int (3
资源详情
资源评论
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/86274233/bg1.jpg)
哈尔滨工业大学
高级语言程序设计
1
Harbin Institute of Technology
实验大作业
课程名称: C 语言程序设计
报告类型: 程序设计报告
实验题目:
实验类型: (综合设计型)
所在院系:
学生类别: 本科生
指导教师:
学生姓名:
班级和学号:
实验时间: 年 季学期
成绩评定:
哈尔滨工业大学
![](https://csdnimg.cn/release/download_crawler_static/86274233/bg2.jpg)
哈尔滨工业大学
高级语言程序设计
2
(一) 实验目的
熟悉一维、二维数组做函数参数,排序、查找、统计分析等常用算法,自顶向下、逐
步求精的模块化设计以及增量测试方法
(二) 实验内容和要求
实验内容:
对学生成绩管理系统 V6.0 的升级版
某班有最多不超过 30 人(具体人数由键盘输入)参加哈工大本专业大一本学期所有课程的
考试,用结构体作函数参数编程实现对学生成绩的管理。
根据实际需求,另外增加了对学生成绩的分析报告,分析每个科目及格率,成绩分层统
计;
增加了关于学分绩的计算。更加便利了老师使用本学生成绩管理系统。
实验要求:
采用自顶向下、逐步求精的模块化设计思想设计的一个小型数据库管理系统,也可以
是一个游戏,或者其他作品。要求按系统的需求分析、系统设计(总体设计、各个模块的
设计)、系统实现(各个模块的实现)、系统测试等过程组织报告内容,说明采用了什么
数据结构和算法,遇到哪些问题,这些问题是如何解决的,本设计的亮点在哪里。
本系统主要实现下面的功能:
01:录入 每个学生的学号、姓名和各科的考试成绩
02:计算 每门课程的总分和平均分
03:计算 每个学生的总分和平均分
04:依据每个学生的总分从高到低排出成绩表
05:依据每个学生的总分从低到高排出成绩表
06:依据学号由小到大排出成绩表
07:依据姓名的字典顺序排出成绩表
08:依据学号查询学生姓名及其考试成绩
09:依据姓名查询学生学号及其考试成绩
10:输出 每个学生的学号、姓名、各科考试成绩以及每门课程的总分和平均分
11:成绩数据分析(成绩分级统计等)
12:将每个学生的记录信息写入文件。
13:从文件读取每个学生的记录信息
14:退出系统。
15.新增:计算每位学生的平均学分绩。
(三) 实验环境
操作系统:Win10
编译器:Code:Blocks16.01
![](https://csdnimg.cn/release/download_crawler_static/86274233/bg3.jpg)
哈尔滨工业大学
高级语言程序设计
3
(四) 系统设计
系统功能模块结构图:
算法设计:(请写出程序中用到的算法,并说明所用的算法的思想)
在排序部分运用了选择法排序,其核心思想是:(按从小到大排列一组数字为例)第 1
趟,在待排序记录 r[1]~r[n]中选出最小的记录,将它与 r[1]交换;第 2 趟,在待排序记
录 r[2]~r[n]中选出最小的记录,将它与 r[2]交换;以此类推,第 i 趟在待排序记录
r[i]~r[n]中选出最小的记录,将它与 r[i]交换,使有序序列不断增长直到全部排序完
毕。
在查找学生信息部分运用了遍历算法,其核心思想是遍历每一个元素直到找到合乎条
件的那一个。在数据没有进行排序以及经常变动的情况下,这种排序比二分排序要更适
用。
数据结构设计:
(请说明采用数组、结构体还是链表存储学生个人信息,并列出所定义的数据各种信
息,如:)
结构体 1-STU:
序号
字段名
字段含义
类型
长度
默认值
说明
1
num
学生学号
Char[15]
15 位
null
2
name
学生姓名
Char [15]
15 位
null
3
score
学生各科成绩
Int [6]
6*32 位
0
4
sum
学生总成绩
float
32 位
0.0
5
aver
学生平均成绩
float
32 位
0.0
6
point
学生学分绩
float
32 位
0.0
学生成绩管理系统
输
入
学
生
信
息
计
算
学
生
信
息
查
找
学
生
信
息
导
入
学
生
信
息
保
存
学
生
成
绩
导
出
学
生
信
息
打
印
成
绩
单
计
算
学
分
绩
保
存
并
退
出
按学号/姓名检索并修改/输出
按学号/姓名 升/降序排序并输出
![](https://csdnimg.cn/release/download_crawler_static/86274233/bg4.jpg)
哈尔滨工业大学
高级语言程序设计
4
各模块(函数)的功能和接口设计:
主函数: 完成指令读取并按要求调用各函数。
(1)Menu函数原型:int Menu(void);
函数功能:显示菜单并获得用户键盘输入的选项
函数入口参数:
函数返回值:返回用户键盘输入的选项itemSelected
(2)AverSumofEveryStudent函数原型:void AverSumofEveryStudent(STU stu[], int n, int
m);
函数功能:计算每个学生各门课程的总分和平均分
函数入口参数:结构体数组stu[],整形变量n表示学生人数,整形变量m表示课程门数
函数返回值:无
(3)ReadScore函数原型:void ReadScore(STU stu[], int n, int m);
函数功能:输入n个学生的m门课程成绩
函数入口参数:结构体数组stu[],整形变量n表示学生人数,整形变量m表示课程门数
函数返回值:无
(4)AverSumofEveryCourse函数原型:void AverSumofEveryCourse(STU stu[], int n, int
m);
函数功能:计算每门课程的总分和平均分
函数入口参数:结构体数组stu[],整形变量n表示学生人数,整形变量m表示课程门数
函数返回值:无
(5)Ascending函数原型:int Ascending(float a, float b);
函数功能:使数据升序排序
函数入口参数:需要比较的两个浮点数
函数返回值:返回比较结果的布尔值
(6)SortbyScore函数原型:
void SortbyScore(STU stu[], int n, int m, int(*compare)(float a, float b));
函数功能:按照选择法将数组sum的元素值排序
函数入口参数:结构体数组stu[],整形变量n表示学生人数,整形变量m表示课程门数,指向
Ascending和Descending的函数指针*compare
函数返回值:无
(7)Descending函数原型:int Descending(float a, float b);
函数功能:使数据降序排序
函数入口参数:需要比较的两个浮点数
函数返回值:返回比较结果的布尔值
(8)SwapFloat函数原型:void SwapFloat(float *x, float *y);
![](https://csdnimg.cn/release/download_crawler_static/86274233/bg5.jpg)
哈尔滨工业大学
高级语言程序设计
5
函数功能:交换两个浮点数内存位置
函数入口参数:需要交换的两个浮点数
函数返回值:无
(9)SwapLong函数原型:void SwapLong(long *x, long *y);
函数功能:交换两个长整形数内存位置
函数入口参数:需要交换的两个长整型数
函数返回值:无
(10)AsSortbyNum函数原型:void AsSortbyNum(STU stu[], int n, int m);
函数功能:按选择法将字符数组num的元素按顺序排列
函数入口参数:结构体数组stu[],整形变量n表示学生人数,整形变量m表示课程门数
函数返回值:无
(11)SwapChar函数原型:void SwapChar(char x[], char y[]);
函数功能:交换两个字符串的内存位置
函数入口参数:需要交换的两个字符串
函数返回值:无
(12)SortbyName函数原型:void SortbyName(STU stu[], int n, int m);
函数功能:交换法实现字符串按字典顺序排序
函数入口参数:结构体数组stu[],整形变量n表示学生人数,整形变量m表示课程门数
函数返回值:无
(13)SearchbyNum函数原型void SearchbyNum(STU stu[], int n, int m);
函数功能:按学号查找学生成绩并显示查找结果
函数入口参数:结构体数组stu[],整形变量n表示学生人数,整形变量m表示课程门数
函数返回值:无
(14)SearchbyName函数原型:void SearchbyName(STU stu[], int n, int m);
函数功能:按姓名查找学生成绩并显示查找结果
函数入口参数:结构体数组stu[],整形变量n表示学生人数,整形变量m表示课程门数
函数返回值:无
(15)PrintScore函数原型:void PrintScore(STU stu[], int n, int m);
函数功能:打印学生成绩
函数入口参数:学生数据数组stu[],学生人数n,课程数m
函数返回值:无
(16)StatisticAnalysis函数原型:void StatisticAnalysis(STU stu[], int n, int m);
函数功能:统计各分数段的学生人数及所占的百分比
函数入口参数:结构体数组stu[],整形变量n表示学生人数,整形变量m表示课程门数
函数返回值:无
剩余22页未读,继续阅读
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![avatar](https://profile-avatar.csdnimg.cn/cdf0afba4c6f48a398c9292e2fec214f_weixin_35762215.jpg!1)
武藏美-伊雯
- 粉丝: 23
- 资源: 352
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0