- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 1
长江大学工程技术学院C语言课程设计实习报告
简易学生成绩管理系统
学生姓名:尹航 学号: 201161469
序号:37
专业班级:勘工61102班
指导老师:汪利琴
报告日期: 2013/1/6
目 录
1.第一部分 课程设计的题目与要求3
2.第二部分 课程设计题目功能3
(1).系统功能模块框图设计3-4
(2).数据结构说明4-5
(3).详细设计5-8
(4).调试与测试8-12
3.第三部分 课程设计总结12
4.附录 程序清单12-18
简易学生成绩管理系统
第一部分 课程设计的题目与要求
1.问题的提出
(1) 用记事本新建一个文本文件2011.txt来用于存放学生的成绩信息。
(2) 再创建一个文本文件来用于存放每门课程的学分信息,文本文件名为KG201160057.txt。
(3) 用主函数列一个主菜单并利用主菜单调用各个子菜单,通过各个函数来 实现以下功能:①计算平加权均分并排序;②排序;③统计;④显示学生成绩条。
2.功能要求
(1) 计算加权平均分并排序:①计算加权平均分;②按平均分排序;③将名次表显示
(2) 对学生信息实现排序功能:①按姓名排序;②按平均成绩排序。将排序后的结果显示在屏幕上。
(3) 统计:①统计每门课的平均分;②各分数段(60分以下;60~69;70~79;80~89;90分以上)的学生人数。用C语言创建一个数据文件,用该文件来存放统计后的结果,并将结果显示在屏幕上。
(4) 显示学生成绩条的功能:①显示指定学号的学生成绩条;②显示指定姓名的学生成绩条。将结果显示在屏幕上。
第二部分 课程设计题目功能
1.系统功能模块框图设计
读入数据进入程序
读入数据
进入程序
主界面
主界面
查询成绩读取学生信息按平均成绩排序按学生姓名排序按加权平均分排序统计每门课的平均分
查询成绩
读取学生信息
按平均成绩排序
按学生姓名排序
按加权平均分排序
统计每门课的平均分
退出
退出
指定学号的学生成绩条
指定学号的学生成绩条
指定学号的学生成绩条
2.数据结构说明
#define M 10 //定义常量 M为学生人数
#define N 4 //定义常量 N为课程数
struct data //定义一个结构体。保存学生成绩信息
{
int num;
char name[10];
int yy;
int math;
int jsj;
int sx;
int rank;
double jqave;
} stu[M]; //定义一个结构体数组。保存多条成绩信息
struct kecheng //定义结构体,保存课程信息
{int num;
char kcname[20];
double xuefen;
} course[N]; //定义结构体数组,保存多门课程信息
本程序主要采用结构体数组进行临时的数据储存,主要应用数组、文件作为数据存贮的方式。
3.详细设计
主要函数:
void start() //在main函数中被调用,读取成绩信息至结构体数组。便于 其他功能模块调用
Void menu() //在main函数中被调用,显示菜单。
void xuanzhe() //在main函数中被调用,接受菜单选择命令。
void eadfile() //在xuanzhe函数中被调用,在屏幕上显示成绩信息
void anjiaquanpx() //在xuanzhe函数中被调用,计算加权平均分并按加权平均 分排名
void numshow() //在xuanzhe函数中被调用,按学号查看学生成绩条
Viod main() //主函数,读入成绩文档和课程学分文档,计算加权平均分
模块功能说明:
读取文件信息的函数:
void start()
{
char title[100];
int num=10;
int j;
FILE *fpfile;
int i=0;
FILE *fpkc;
int k;
char str2[100];
if ((fpfile = fopen(yinhang.txt,r))==NULL)
{
printf(open file error!\n);
}
fgets(title,300,fpfile);
for(i=0;i10;i++)
{
fscanf(fpf
文档评论(0)