C++课程设计学生成绩管理系统_第1页
C++课程设计学生成绩管理系统_第2页
C++课程设计学生成绩管理系统_第3页
C++课程设计学生成绩管理系统_第4页
C++课程设计学生成绩管理系统_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、存档资料 成绩: 华东交通大学课 程 设 计 报 告 书所属课程名称c+程序设计题 目学生成绩管理系统院 (系)土木建筑学院班 级14级测绘工程一班学号20140110170107学生姓名指导教师辅导教师 2015年 12 月 21 日 课程设计(论文)任务书 土木 学院 测绘 专业 2014-测绘1 班 一、课程设计(论文)题目 :学生成绩管理 二、课程设计(论文)工作自 2015 年 12 月21日起至 2015 年 12 月 25日止 三、课程设计(论文) 地点: 8506 四、课程设计(论文)内容要求:1. 本课程设计的目的(1)进一步巩固和加深对“c程序设计”课程基本知识的理解和掌握

2、,了解c语言在项目开发中的应用。(2)学习程序设计开发的一般方法,了解和掌握项目开发过程及方式,培养正确的设计思想和分析问题、解决问题的能力,特别是项目设计能力。(3)通过对标准化、规范化文档的掌握并查阅有关技术资料等,培养项目设计开发能力,同时提倡团队合作精神。 2. 课程设计的任务及要求1) 基本要求:(1) 对系统功能进行需求分析;(2) 使用visual c+编译器进行程序编译;(3) 提出系统的设计方案;(4) 编写源程序代码并进行调试。2) 创新要求在基本要求达到后,可进行创新设计。3) 课程设计报告撰写及装订要求课程设计报告的撰写要求表述简明,图表准确。报告按如下内容和顺序用a4

3、纸进行打印并装订成册。(1)封面采用统一的课程设计封面,并按要求填写好封面要求的个人信息和选题。(2)设计任务书(3)评阅书(4)目录 (5)正文 (6)主要参考文献4) 课程设计评分标准: 每人按指定题目进行设计,严禁抄袭,要求每人自己动手编写程序,采取同一组同时检查程序及运行结果,检查时同组成员每人陈述自己的分工,同一选题不同组如发现代码完全一样,则双方都作不及格处理。(1)达到课程设计的目的与要求,程序的可读性较好,并调试正确,60分;(2)能正确回答设计的中老师所提问题,可增加10分;(3)课程设计报告书写规范整齐,可增加10分;(4)心得体会认真总结,可增加10分;(5)程序有创新性

4、,可增加10分;成绩评定实行优秀、良好、中等、及格和不及格五个等级。不及格者需重做。5) 课程设计进度安排(1)准备阶段(3学时):选择设计题目、了解设计目的要求、查阅相关资料。(2)程序模块设计分析阶段(4学时):程序总体设计、详细设计。(3) 代码编写调试阶段(10学时):程序模块代码编写、调试、测试。(4) 撰写论文阶段(3学时):总结课程设计任务和设计内容,撰写课程设计论文。6)课程设计题目具体要求: 从键盘输入某班级30个学生的学号、姓名、三门课(语文、数学、英语)的成绩,分别实现如下功能:  (1)统计每个学生的总分和平均分;(2)按总分由大到小排出名次;(3)打印出成绩

5、在全班平均分以上的学生名单和数据信息。  (4)任意输入一个学号,能够查找出该学生在班级中的排名及其考试成绩。 要求:各个功能要求分别用独立的函数来实现,在主函数中通过菜单选择来实现各个功能。且要求使用结构体数组来存储和处理30个学生信息,定义的结构体主要包括:学号、姓名、三门课成绩、总分、平均分、名次等成员。我们可使用for语句和switchcase语句实现主菜单功能的循环选择,继而实现各部分的功能。并且使每部分独立,执行各自的功能。学生签名:2015年 12 月25 日课程设计(论文)评阅意见序号项 目等级优秀良好中等及格不及格1课程设计态度评价2出勤情况评价3任务难度评价4工作

6、量饱满评价5设计中创新性评价6论文书写规范化评价综合评定等级评阅人 宋岚 职称 讲师 2015年12月26日 目录一、需求分析 . 5页二、概要设计. 6页三、详细设计. 10页 四、运行结果及分析. 21页五、课程设计心得. 23页六、参考文献. 24页第1章 需求分析1.菜单设计 菜单是应用程序非常重要的组成部分,菜单可以很简明的交代该程序各部分的功能。因此菜单是一个程序设计好坏最直观的表现。2.功能分析 我设计的程序管理系统可以对学生的成绩进行输入,输出,排序,查找,修改,打印等功能。(1) 进入程序页面之后,输入“1”对学生的成绩进行输入。(2) 输入学生成绩之后,输入“2”,对学生的

7、成绩进行输出,并且可以继续输入“5”,对学生成绩进行排序。排序的顺序是根据成绩由高到低。(3) 输出学生成绩之后,可以输入“3”,对学生的成绩信息进行查找。(4) 输入“4”,可以对信息有误的学生进行修改,再次输入“5”,可以进行新的排序。(5) 输入“6”,可以实现打印学生信息的功能。3.程序作用 该程序可以实现很多功能,方便了老师更好的管理学生的成绩信息,并且避免了使用纸张手写的麻烦过程。对于学生而言,该程序方便了学生查询自己考试成绩,并且可以做到对学生成绩的保护。 第2章 概要设计main()函数menu()函数student()add()output()find()modify()so

8、rt()student类私有成员:char name20; char sex5; int number; int score3; int total; int average;公有函数一.各个子函数功能及其流程:1. 首先定义一个学生类class student;并定义其各个私有变量和公有函数class studentclassaddoutputfindmodify私有变量2. student();构造函数,用于初始化学生类中的各个变量并记录。3. add();函数:用于添加学生信息的函数包括学号姓名成绩等的内容。主函数main()菜单函数menu()选择菜单中的选项添加学生信息调用add()

9、函数调用重载<<并添加信息4. output();函数:用于输出学生信息,包括学号姓名各科及总分平均成绩。主函数main()菜单函数menu()选择菜单中的选项输出学生信息调用output()函数输出学生信息5. find();函数:用于查找学生各项信息。主函数main()菜单函数menu()选择菜单中的选项查找学生信息调用find()函数查找并输出学生信息要求输入学生姓名6. modify();函数:用于修改学生各项信息。主函数main()菜单函数menu()选择菜单中的选项修改学生信息调用modify()函数修改并保存学生信息要求输入学生姓名7. sort();函数:对学生各项

10、信息进行排序操作。主函数main()菜单函数menu()选择菜单中的选项学生信息排序调用sort()函数完成排序操作第3章详细设计/*/*模块名称:menu.cpp功能描述:学生成绩管理*/#include"iostream.h"#include"conio.h"#include"iomanip.h"#include"stdio.h"#include"string.h"#include"stdlib.h"class student/定义学生类 private:/定义学生类的私

11、有成员 char name30;/姓名 char sex2;/性别 int number;/学号 int score3;/分数 int total;/总分 int average;/平均分public: /公有成员student();/学生构造函数,用于学生数据的初始化及保存学生数据void add();/添加学生信息函数void output(); /输出学生信息函数void find();/查找学生数据函数void modify();/修改学生信息函数void sort();/排序函数student & operator=(student & t); friend istr

12、eam & operator >> (istream & scin, student &s1); friend ostream & operator << (ostream & scout, student &s2); ; student stu100; int n=0;/*/* 函数名称:add功能描述:添加学生信息*/void student:add() /添加函数 char flag='y' while(toupper(flag)='y') cin>>stun; n+; c

13、out<<" 是否继续添加(y/n)" cin>>flag; if(toupper(flag)!='y') if(toupper(flag)='n') break; else cout<<"错误,请重输:" cin>>flag; /*/*函数名称:student:output功能描述:实现输出功能*/void student:output() /输出函数 if(n!=0) cout<<" -n" cout<<" numbe

14、r name sex math chinese english total averagen" cout<<" - n" for(int t=0;t<n;t+) cout<<stut; getch(); /*/*函数名称:student:find功能描述:实现查找功能*/void student:find() /查找函数 int f3=0; char n120; student temp; cout<<" 输入你要查找的人的姓名: " cin>>n1; for(int j=0;j<n;

15、j+) if(strcmp(,n1)=0) temp=stuj; f3=1; if(f3=0) cout<<"对不起,没有你要查找的学生成绩"<<endl; else cout<<" -n" cout<<" number name sex math chinese english total averagen" cout<<" - n" cout<<" "<<temp.number<<

16、;" "<<<<" "<<temp.sex<<" "<<temp.score0 <<" "<<temp.score1<<" "<<temp.score2<<" "<<temp.total<<" "<<temp.average<<endl; getch(); /*/*函数名称

17、:student:modify功能描述:实现学生信息修改功能*/void student:modify() /修改函数 int f4=0; int t; char n250; cout<<" 输入你要修改的人的姓名:" cin>>n2; for(int j=0;j<n;j+) if(strcmp(,n2)=0) t=j; f4=1; if(f4=0) cout<<"对不起,没有你要修改的学生成绩"<<endl; else cout<< "请输入学号: "

18、; cin>>stut.number; cout<< " 姓名: " cin>>; cout<< " 性别 : " cin>>stut.sex; cout<< " 数学成绩: " cin>>stut.score0; cout<< " 语文成绩: " cin>>stut.score1; cout<< " 英语成绩: " cin>>stut.score

19、2; stut.total=stut.score0+stut.score1+stut.score2; stut.average=stut.total/3; cout<<" 修改成功 !"<<endl; getch(); void student:sort() /排序函数 int i,j,k; student s3; for( i=0;i<(n-1);i+) k=i; for(j=i+1;j<n;j+) if(stuj.average>stui.average)k=j; if(k!=i) s3=stui; stui=stuk; stu

20、k=s3; cout<<"nn排序成功!nn" student & student:operator=(student & t) strcpy(name,t.name); strcpy(sex,t.sex); number=t.number; for(int i=0;i<3;i+)scorei=t.scorei; total=t.total; average=t.average; return ( * this ); ostream & operator << (ostream & scout, student

21、&s2) cout<<setw(6)<<s2.number<<setw(10)<<<<setw(8)<<s2.sex<<setw(8)<<s2.score0 <<setw(8)<<s2.score1<<setw(10)<<s2.score2<<setw(10)<<s2.total<<setw(8)<<s2.average<<endl; return scout; istr

22、eam & operator >> (istream & scin,student &s1) cout<< " t学号:" scin>>s1.number; cout<< " t姓名:" scin>>; cout<< " t性别 :" scin>>s1.sex; cout<< " t数学成绩:" scin>>s1.score0; cout<< " t

23、语文成绩:" scin>>s1.score1; cout<< " t英语成绩:" scin>>s1.score2; s1.total=s1.score0+s1.score1+s1.score2; s1.average=s1.total/3; return scin; student:student() /构造函数 strcpy(name," "); strcpy(sex," "); number=0; for(int i=0;i<3;i+)scorei=0; total=0; ave

24、rage=0; /*/*函数名称:void menu()功能描述:实现菜单制作*/void menu() /菜单函数 cout<<"nnn学生成绩管理系统主菜单 "<<endl; cout<<"nnn1.添加学生信息 "<<endl; cout<<"2.输出学生信息 "<<endl; cout<<"3.查找学生信息 "<<endl; cout<<"4.修改学生信息 "<<end

25、l; cout<<"5.学生信息排序 "<<endl; cout<<"6.打印学生成绩 "<<endl;cout<<"7.退出系统 "<<endl; cout<<"nn请选择(16)并按回车键确认:" int main() /主函数 int choose; student s; do menu(); cin>>choose; switch(choose) case 1: s.add(); break; case 2: s.output(); break; case 3: s.find(); break

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论