收藏 分销(赏)

c程序设计报告学生成绩.doc

上传人:可**** 文档编号:9627193 上传时间:2025-04-01 格式:DOC 页数:17 大小:317.05KB
下载 相关 举报
c程序设计报告学生成绩.doc_第1页
第1页 / 共17页
c程序设计报告学生成绩.doc_第2页
第2页 / 共17页
点击查看更多>>
资源描述
C++课程设计报告 题 目: 学生成绩管理程序 课 程: C++程序设计 院 (部): 计算机与信息技术学院 专 业: 软件工程 班 级: 2015级4班 学生姓名: 魏和 学 号: 155606304 完成日期: 2016年6月20日 南阳师院软件工程专业C++语言课程设计报告 目 录 1 课程设计目的 1 2 任务与要求 1 3 主要数据结构(类 函数) 1 4 程序功能结构 1 5 功能测试 1 6 课程设计总结 1 7 附:课程设计源代码 1 C++语言课程设计报告书 1.课程设计目的 (1)学习综合运用C高级语言课程和其他先修课程的知识,提高分析和解决实际问题的的能力,进一步巩固、加深和拓宽所学的知识;进一步加强结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解。 (2)全面系统的学习面向对象程序设计的基本概念、基本语法和编程方法;独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。 (3)掌握程序设计中的常用算法和C语言的编程技巧和上机调试程序的方法。 (4)在参与一系列子项目的实践过程中,提高如何综合运用所学知识解决实际问题的能力,以及获得相关项目管理和团队合作等众多方面的具体经验。 2.课程设计任务与要求 任务:编写学生成绩管理程序,用于高等院校对学生成绩的管理。程序能够实现学生成绩列表、成绩查询、最低和最高成绩、成绩修改、按成绩排序、成绩分段统计、保存成绩表、退出管理程序等功能。 要求:每个学生对象的数据包括id(学号)、name(姓名)、sex(性别)、score[6](5门课的成绩和平均成绩),类的成员函数实现构造对象、输出对象数据、修改对象数据、计算平均成绩、提取对象数据等功能,其它功能由普通函数来实现。程序运行初始,应展示程序全部功能代码及选择界面,按照功能代码的选择可以测试相应的功能。 主界面如下: 3.主要数据结构(类,函数) 类:class Student 数据成员:id、name、sex、score[6]。 成员函数: 构造函数: Student(string,string,char,float,float,float,float,float); 输出对象数据函数:void display(); 修改学生成绩函数:void modify(); 提取对象数据函数:string get_id(); 计算平均成绩函数:void average(); 普通函数: 输出主界面函数:void surface() 中调用 输出表头函数:void table() 4.程序功能结构 程序主要功能如图1所示。 功能选择 退出 最高最低成绩 查询学生成绩 输出成绩列表 图1 程序功能结构图 每个功能有确定的代码,选择功能对应的代码,如图2所示。即可测试相应的功能。 5.功能测试 ┏━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ 学生成绩管理程序 ┃ ┃ ┃ ┃功能选项(0-7): ┃ ┃ 1——输出成绩列表 ┃ ┃ 2——查询学生成绩 ┃ ┃ 3——最高最低成绩 ┃ ┃ 4——修改学生成绩 ┃ ┃ 5——成绩排名列表 ┃ ┃ 6——分段统计成绩 ┃ ┃ 7——补考学生列表 ┃ ┃ 0——退出 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━┛ 6.课程设计总结   通过此次课程设计,使我更加扎实的掌握了有关编程方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。  过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可!  课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计让我感触很深。使我对抽象的理论有了具体的认识。 7.附件:程序源代码 #include <iostream> #include <iomanip> #include <string> using namespace std; class Student { private: string id; string name; char sex; float score[6]; public: Student(string i=" ",string nam=" ",char s='m',float s1=0,float s2=0,float s3=0,float s4=0,float s5=0); void average(); void display(); void modify(); string get_id(){return id;} float get_score(int n); }; Student::Student(string i,string nam,char s,float s1,float s2,float s3,float s4,float s5) { id=i; name=nam; sex=s; score[0]=0; score[1]=s1; score[2]=s2; score[3]=s3; score[4]=s4; score[5]=s5; average(); } void Student::display() { cout<<setw(12)<<id<<setw(10)<<name<<" "<<sex<<setw(7)<<score[1]<<setw(7)<<score[2]<<setw(7)<<score[3]<< cout<<setw(12)<<id<<setw(10)<<name<<" "<<sex<<setw(7)<<score[1]<<setw(7)<<score[2]<<setw(7) <<score[3]<<setw(7)<<score[4]<<setw(7)<<score[5]<<setw(7)<<score[0]<<endl; } void Student::modify() { int i; cout<<"修改第几门课的成绩:"; cin>>i; cout<<"输入该课程新成绩:"; cin>>score[i]; average(); } void Student::average() { float sum=0; for(int k=1;k<6;k++) sum+=score[k]; score[0]=sum/5; } float Student::get_score(int n) { return score[n]; } void surface() { cout<<"\n\n"; cout<<" ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓"<<endl; cout<<" ┃ 学生成绩管理程序 ┃"<<endl; cout<<" ┃ ┃"<<endl; cout<<" ┃ 设计人:魏栗君 ┃"<<endl; cout<<" ┃ 2016 06 ┃"<<endl; cout<<" ┃功能选项(0-7): ┃"<<endl; cout<<" ┃ 1——输出成绩列表 ┃"<<endl; cout<<" ┃ 2——查询学生成绩 ┃"<<endl; cout<<" ┃ 3——最高最低成绩 ┃"<<endl; cout<<" ┃ 4——修改学生成绩 ┃"<<endl; cout<<" ┃ 5——成绩排名列表 ┃"<<endl; cout<<" ┃ 6——分段统计成绩 ┃"<<endl; cout<<" ┃ 7——补考学生列表 ┃"<<endl; cout<<" ┃ 0——退出 ┃"<<endl; cout<<" ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛"<<endl; } void table() {cout<<setw(12)<<"Student id"<<setw(15)<<" Name sex"<<" score1 score2 score3 score4 score5 average"<<endl;} void list(Student *p) { table(); for(int j=0;j<10;j++) { p[j].display(); } cout<<endl; } void search(Student *p) { int i; string m; cout<<"输入要查询的学号"; cin>>m; for(i=0;i<10;i++) if(p[i].get_id()==m) { table(); p[i].display(); break; }; if(i==10) cout<<"查无此人"<<endl; } void max_min(Student *p) { float m=p[0].get_score(0),w=m; int i,j,k; for(i=1;i>10;i++) { float f=p[i].get_score(0); if(f>m){m=f;k=i;} else if(f>w){w=f;j=i;} } cout<<"The tiptpo score is:\n"; table(); p[k].display(); cout<<"The lowst score is:\n"; table(); p[j].display(); } void sort(Student *p) { Student s; int i,j,k; for(i=0;i<9;i++) { k=i; for(j=i+1;j<10;j++) if(p[k].get_score(0)<p[j].get_score(0)) k=j; if(k!=i){s=p[i];p[i]=p[k];p[k]=s;} } list(p); } void change(Student *p) { int i; string m; cout<<"输入学号"; cin>>m; for(i=0;i<10;i++) if(p[i].get_id()==m) { table(); p[i].display(); p[i].modify(); cout<<"修改后的成绩"<<endl; p[i].display(); break; }; if(i==10) cout<<"查无此人"<<endl; } void stat(Student *p) { cout<<" 90--100 80--89 70--79 60--69 0--59"<<endl; for(int m=1;m<6;m++) { int s9=0,s8=0,s7=0,s6=0,s0=0; for(int i=0;i<10;i++) { float f=p[i].get_score(m); if(f>=90)s9++; else if(f>=80)s8++; else if(f>=70)s7++; else if(f>=60)s6++; else s0++; } cout<<"score"<<m<<" "<<s9<<setw(9)<<s8<<setw(9)<<s7<<setw(9)<<s6<<setw(9)<<s0<<endl; } } void fail(Student *p) { table(); int i,j; for(i=0;i<10;i++) { for(j=0;j<10;j++) if(p[i].get_score(j)<60) { p[i].display(); break; } } } void choose(Student *p) { int n; while(2) { cout<<"请选择(0-7):"; cin>>n; switch(n) { case 1: list(p); break; case 2: search(p); break; case 3: max_min(p); break; case 4: change(p); break; case 5: sort(p); break; case 6: stat(p); break; case 7: fail(p); break; } if(n==0)exit(0); surface(); } } Student stu[10]={ Student("1101310123","马斌",'m',83,87,95,99,89),Student("1101310124","柯海涛",'f',98,79,74,65,80), Student("1101310125","李存良",'f',85,98,99,100,76),Student("1101310128","王家恒",'m',100,98,99,96,95), Student("1101310129","黄龙",'m',75,60,52,68,66),Student("1101310217","魏栗君",'m',98,89,92,94,89), Student("1101310213","孙柯",'f',90,67,55,72,41),Student("1101310217","唐小A",'m',63,87,70,69,80), Student("1101310223","陈帅",'m',96,97,100,99,89),Student("1101310230","杜小B",'m',86,87,85,89,89)}; int main() { Student *pt=stu; surface(); choose(pt); return 0; } 14
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服