C++学生成绩统计管理系统(共36页).doc
《C++学生成绩统计管理系统(共36页).doc》由会员分享,可在线阅读,更多相关《C++学生成绩统计管理系统(共36页).doc(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上湖南科技学院课程设计报告课程名称:计算机高级语言(C+)课程设计课程设计题目:学生通讯管理系统系:数学与计算科学系专 业:信息与计算科学年级、班:信计0801姓 名:谭鄱仑学 号:9指导教师:牛志毅职 称:讲师2010年12月目 录课程实验报告-3一、需求分析-3二、概要设计-3 三、程序实现思路-7四、设计总结-7五、参考文献-7六、源代码-8七、运行情况16C+语言程序设计报告一、 需求分析用C+编写下面程序学生成绩统计管理系统(*)要求实现如下功能: 成绩的输入(学号、姓名、英语、数学、C+语言)。 成绩统计(各科平均成绩、各科成绩“优秀”、“良好”、“中等”、
2、“及格”、“不及格”的人数及其所占比例)。 总成绩统计(学生的总成绩、平均成绩及成绩排名)。 成绩的统计结果显示。 学生数据的添加、修改、与删除。 学生数据的读取与存储。二、 概要设计主要数据定义以及各程序模块的功能: Student类中:class Studentprivate: int id;/学号 string name;/姓名 double score3; int x;/指示是否存储了数据 double all;/总成绩 int rank;/名次 string dengji;/等级public: Student();/构造函数 void SetStudentID(int);/输入学生学
3、号 int StudentID();/返回学生学号 void SetStudentName(string str);/输入学生姓名 string StudentName();/返回学生姓名 void SetStudentScore(double y,double s,double c);/输入学生成绩 double StudentYscore();/返回学生英语成绩 double StudentSscore();/返回学生数序成绩 double StudentCscore();/返回学生C+成绩 void SetStudentX(int n);/给判定学生数据存在与否的X赋值 void Get
4、all();/计算学生总成绩 void SetRank();/给学生名次值加1 int Rank();/返回学生名次值 int StudentX();/返回判定X的值,判定是否修改 void RankClear();/给学生的名次赋值为1 void Setdengji(string dengji);/输入等级 double All();/返回学生总成绩 string StudentDengji();/返回学生等级值;Studentifo类中:class Studentifoprivate: int num;/学生个数 Student *stu;/定义指向存储学生类的指针public: Stud
5、entifo(int n);/构造函数 void LoadID(int n);/输入学生学号 void LoadName(int ,string name);/输入学生姓名 void LoadScore(int ,double,double,double);/输入学生各科成绩 void Setifo();/插入学生数据 void Putifo();/输出所有学生数据 void Clear();/清除所有学生数据 void PutID();/输出指定学生数据 void ClearID();/删除指定学生数据 void MakeRank();/给所有学生排名 void ReSetifo();/修改
6、指定学生数据 void ClearRank();/给指定学生的名次值赋为1 void MakeAll();/计算各个学生的总成绩 void PutifoRank();/按名次输出所有学生数据 int ID(int n);/返回学生学号 double Yscore(int);/返回学生英语成绩 double Sscore(int);/返回学生数学成绩 double Cscore(int);/返回学生C+成绩 double StudentAll(int n);/返回学生总成绩 int StudentRank(int n);/返回学生名次 string Name(int);/返回学生名次 int X
7、(int);/指定X值,确定是否有存储数据 string Dengji(int n);/返回学生等级 void Numadd();/num值加1 void Xfix(int);/将指定学生的X指示值赋为1Studentifo();/析构函数释放new创建的空间;类外:void DoMenu(int n,Studentifo*t);/将类里的各个函数组合起来实现各个功能,按指定数字执行void Load(Studentifo *S);/从文件中载入学生信息void Save(Studentifo *S);/将学生信息保存到文件void ShowTip(); /显示操作提示void ShowMen
8、u(); /显示菜单主函数的程序流程图开始输出菜单及提示信息输入功能数字1N 2YN 3清除学生数据YN 4插入学生数据NNYY 5删除指定学生数据 6N7Y Y 超找指定学生数据修改指定学生数据按名次输出学生信息 8N 9 输出所有学生综合信息载入数据10退出保存 结束 三 程序实现思路本程序通过Studentifo类开辟一个Student的类数组用已储存学生数据。通过Studentifo类的公有函数和Student的公有函数进行关联,对Student类里的私有学生数据进行操作,达到输入,处理,输出学生数据的功能。同时利用文件输入输出流在项目文件夹中创建一个date.txt文档进行学生数据的
9、保存与读取。四 设计总结(1)摆正心态,不心浮气躁 刚拿到题目,难免会觉得特别迷茫,无从下手,这时如果心浮气躁则会更加的觉得困难重重。但当我摆正心态,静小心来慢慢思考的时候,一个个的思路不断的的冒出,头脑中的想法远比实践过的多。此时,困难已不是从何下手,而是如何下手会是程序更趋完美。(2)一鼓作气,个个击破一旦开始了编程后,就要一鼓作气的继续下去。选择个个击破,然后将所有的程序在组合起来,很快主程序的雏形就能展现出来,接下来的就只是一点点的修改关联是的小错误了。用不了多久任务即可完成,特有成就感。但是如果断断续续的则会在每次编的时候被冗杂而繁多的定义弄糊涂,从而没有心情继续下去。(3)有目的地
10、修改、完善运行时会出现一些错误,但我发现其实里面的参数并不复杂,只要跟着那个error的提示,一个一个的改下去,其实很简单的。结果事实也是如此,看完书后,只用了一个小时多一点,102个错误全部搞定了。错误几乎为以下三类:1. 冒号,分号等符号打错了;2. 大小写等造成的对应问题;3. 变量的不完全修改。改完以后,在执行时我发现界面不好看,于是我又将主界面略加修改了些。看上去美观了不少。再运行功能,前四个都能顺利运行,但对百分比饼状图我傻眼了。不管我输入数据与否,输入了什么数据,结果都是一样的,相当离谱。我又糊涂了,搞不清是怎么回事。于是,又去问同学,在他们的帮助下,成功解决这个问题,在此真要好
11、好谢谢他们!终于大功告成!欣慰在这次实践中,我不仅弥补了自己在C+课上所落下的内容,尤其是指针那块部分,虽然现在概念搞的还不是很懂,但看见程序是能够理解的。这次C+实践是给我们这一学期来所学知识的一个总复习,总的实践。它让我们把所知道的知识点运用的更好,把不知道的知识点搞得明白了。实践出真知,通过这次实践,我也系统的把课本好好的回顾了下。猛然觉得,C+二级考试也有些把握了。五 参考文献谭浩强. C+程序设计. 清华大学出版社, 2007.5六 源程序main.cpp/* 课程设计题目:学生信息管理系统 班级:0901 学号:9 姓名:谭鄱仑 */#includestudent.hint mai
12、n() int i=0; char ok; Studentifo stuifo; Studentifo *ifo=&stuifo; ShowMenu(); couti; system(cls); ShowMenu(); DoMenu(i,ifo); ShowTip(); if(flag) coutok; if(ok=Y|ok=y) ifo-MakeAll(); ifo-ClearRank(); ifo-MakeRank(); Save(ifo); cout数据已保存.按任意键安全退出; else cout已安全退出.按任意键返回;Student.h#ifndef STUDENT_H_INCLU
13、DED#define STUDENT_H_INCLUDED#include#include#include#include#include#includeusing namespace std;class Studentprivate: int id;/学号 string name;/姓名 double score3; int x;/指示是否存储了数据 double all;/总成绩 int rank;/名次 string dengji;/等级public: Student();/构造函数 void SetStudentID(int);/输入学生学号 int StudentID();/返回学生
14、学号 void SetStudentName(string str);/输入学生姓名 string StudentName();/返回学生姓名 void SetStudentScore(double y,double s,double c);/输入学生成绩 double StudentYscore();/返回学生英语成绩 double StudentSscore();/返回学生数序成绩 double StudentCscore();/返回学生C+成绩 void SetStudentX(int n);/给判定学生数据存在与否的X赋值 void Getall();/计算学生总成绩 void Set
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 学生 成绩 统计 管理 系统 36
限制150内