- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学生成绩管理系统—课程设计 [当文网提供]
学生成绩管理系统课程设计
班级:信科0206 姓名:李意 学号:020320618
一、课程设计目的:
本课程设计为学生提供了一个既动手又动脑,自学,查资料,独立实践的机会。将本学期课本上的理论知识和实际有机的结合起来,锻炼学生实际分析问题和解决问题的能力,提高学生适应实际、实践编程的能力,使对C++系统编程有一个大致的了解。
二、需求分析:
本系统设计者力求根据学生成绩管理的需要,而建立一个“学生成绩管理系统”,以方便对成绩的各项管理操作。开发目的如:①能对成绩进行录入和修改;②能计算每个学生的平均成绩以及各门功课的平均成绩;③能根据学生的学号来查询该学生的成绩;④能删除该学生的记录;⑤能根据每个学生的平均成绩来他们进行排序。
三、课程设计的内容及简介
1、设计说明
(1)定义一个结构体,其中的成员如下:
序号 成员名(字段名) 数据类型 长度 字段含义 1 class_0 char 20 班级 2 num int 学号 3 name char 8 姓名 4 elec flaot 电子技术 5 c_prog float C++ 程序设计 6 media flaot 多媒体技术 7 eng float 大学英语 8 math float 高等数学 9 sport float 大学体育 10 polity float 马克思主义政治经济学 11 ave float 平均成绩
(2)定义多个函数以实现各个功能:
1)主函数main():定义学生结构体数组,调用录入、统计等函数对成绩表进行处理;
2)录入函数Input():输入班级到政治课成绩;
3)统计函数Statistic():计算平均成绩;
4)查询函数Lookup():查询指定学号学生成绩记录;
5)修改函数Modify():修改指定学号学生成绩记录;
6)删除函数Delete():删除指定学号学生记录;
7)输出函数Output():输出班级所有学生成绩记录;
8) 排序函数Sort():按平均分对学生成绩记录项进行降序排序;
9)插入函数Insert():按平均分顺序插入新记录。
(3)预先录入的数据如下表:
class_0 num name Elec c_prog media eng math sport polity ave order 网络30331 3033101 马云飞 80 70 60 70 70 60 80 ? ? ?网络30332 ?3033102 刘德华 ?70 ?80 ?70 ?70 ?75 ?80 ?90 ? ? ?网络30333 ?3033103 ?邓旭莲 ?90 ?70 ?80 ?60 ?60 ?75 ?70 ? ?
2、程序流图
3、部分程序及其说明:
Main():此函数主要是调用录入、统计等函数对成绩表进行处理;通过使用switch函数判断用户所选择的序号,再进入相应的函数。
Input():用于建立一个链表,用来保存数据,具体的录入及插入代码在switch中当case=2时实现。
Statistic():统计平均成绩:按各个学生进行平均分统计、按各个课程进行平均分统计。
Lookup():按学号进行查询,当无法找到与输入的学号相匹配的记录时显示出错信息。
Delete():按学号进行删除操作,当输入的学号不匹配时就显示出错信息。
Output():此函数用于输出班级所有学生成绩记录。
Sort():用于对各个学生的平均成绩进行名次排序。
Menu():一个显示函数,通过键入数字来运行各个功能函数。
4、源程序
/* 班级:信科0206 姓名:李意 学号:020320618*/
#includeiostream.h
#includestdlib.h
#includestdio.h
#includemalloc.h
/* 书中的常量定义 */
#define Null 0
#define LEN sizeof (struct student)/* 定义了一个学生的结构体 */
struct student
{ char *class_0,/*班级*/*name;/* 姓名 */
int num;/* 学号 */
float Elec,c_prog,Media,Eng,Math,Sport,Polity;/*学科*/
struct student *next;/*定义一个结构体的指针*/
};
struct student *creat()
{ struct student *head;
struct student *p,*r;
p=(struct student*)malloc(LEN);
head=p;
p-next=Null;
r=p;
文档评论(0)