c++大作业学生实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生实验报告
实验课名称: C++程序设计
实验项目名称:综合大作业——学生成绩管理系统专业名称:电子信息工程
班级:
学号:
学生:
同组成员:
教师:
2011 年 6 月 23 日
题目:学生成绩管理系统
一、实验目的:
(1)对C++语法、基础知识进行综合的复习。
(2)对C++语法、基础知识和编程技巧进行综合运用,编写具有一定综合应用价值的稍大一些的程序。培养学生分析和解决实际问题的能力,增强学生的自信心,提高学生学习专业课程的兴趣。
(3)熟悉掌握C++的语法和面向对象程序设计方法。
(4)培养学生的逻辑思维能力,编程能力和程序调试能力以及工程项目分析和管理能力。
二、设计任务与要求:
(1)只能使用/C++语言,源程序要有适当的注释,使程序容易阅读。
(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)。
(3)要求划分功能模块,各个功能分别使用函数来完成。
三、系统需求分析:
1.需求分析:
为了解决学生成绩管理过程中的一些简单问题,方便对学生成绩的管理
(录入,输出,查找,增加,删除,修改。)
系统功能分析:
(1):学生成绩的基本信息:学号、、性别、C++成绩、数学成绩、英语成绩、
总分。
(2):具有录入信息、输出信息、查找信息、增加信息、删除信息、修改信息、
排序等功能。
2.系统功能模块(要求介绍各功能)
(1)录入信息(Input):录入学生的信息。
(2)输出信息(Print):输出新录入的学生信息。
(3)查找信息(Find):查找已录入的学生信息。
(4)增加信息(Add):增加学生信息。
(5)删除信息(Remove):在查找到所要删除的学生成绩信息后进行删除并输出删除后其余信息。
(6)修改信息(Modify):在查到所要修改的学生信息后重新输入新的学生信息从而进行修改,然后输出修改后的所有信息。
(7)排序(Sort):按照学生学号进行排序。
3.模块功能框架图
四、 系统设计与实现
1. 菜单设计与实现:
菜单将所有功能划入一个简单而又醒目的功能区,再通过分行及分列从而将各功能巧妙划分开来,方便操作,也会让人觉得界面简单别致而不单调。(界面如下)
2. 功能设计与实现:录入信息、输出信息、查找信息、增加信息、删除信息、修
改信息、排序等功能。
调试过程:
1. 输入信息
主函数(main)
修改信息(Modify) 排序(Sort) 删除信息(Remove)
2.输出信息
3.查找信息
4.增加信息
5.删除信息
6.修改信息
7.排序
8.清屏
9.退出系统
五、系统有待改进的地方
1.未能实现数据的写入、读出,每次要重新输入数据,可以应用文件流来实现。
2.源程序有点复杂,可以应用链表加以简化。
六、设计心得与体会
通过这次大作业,我熟悉了类的一些应用,还熟悉了循环语句以及条件语句的组合使用。而且通过团结合作,可以减少自己许多工作量,而这也体现了C++的优越性。可以在同学所做的基础上来完善程序。
七、参考资料
《C++程序设计大学教程》
源程序:
//学生成绩管理系统
#include
#include
#include
using namespace std;
class Student
{
private:
int Cnum; //C课程得分
int Mnum; //数学课程得分
int Enum; //英语课程得分
int sum; //总分
char num[10];
char name[20];
char sex[5];
int age;
public:
static int i;
static int k;
static int Count;
int x;
void Input();
void Print();
void Find();
void Add();
void Remove();
void Modify();
void Sort(Student *stu);
void ShowMenu();
Student(char *name,char *num,char *sex,int Cnum,int Mnum,int Enum,int sum,int age);
Student();
virtual ~Student();
};
int Student::k=0;
int Student::i=0;
int Student::Count=0;
Student stu[200];
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌菜单﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
void Student::ShowMenu()
cout<<"〓〓〓〓〓〓〓〓〓〓☆学生成绩管理系统☆〓〓〓〓〓〓〓〓〓〓"< cout<<"〓〓〓〓〓〓〓〓〓★☆ 1.录入学生成绩☆★〓〓〓〓〓〓〓〓〓"< cout<<"〓〓〓〓〓〓〓〓〓★☆ 2.显示学生成绩☆★〓〓〓〓〓〓〓〓〓"< cout<<"〓〓〓〓〓〓〓〓〓★☆ 3.查找学生成绩☆★〓〓〓〓〓〓〓〓〓"< cout<<"〓〓〓〓〓〓〓〓〓★☆ 4.增加学生成绩☆★〓〓〓〓〓〓〓〓〓"< cout<<"〓〓〓〓〓〓〓〓〓★☆ 5.删除学生成绩☆★〓〓〓〓〓〓〓〓〓"< cout<<"〓〓〓〓〓〓〓〓〓★☆ 6.修改学生信息☆★〓〓〓〓〓〓〓〓〓"< cout<<"〓〓〓〓〓〓〓〓〓★☆ 7.排序统计成绩☆★〓〓〓〓〓〓〓〓〓"< cout<<"〓〓〓〓〓〓〓〓〓★☆ 8.清屏☆★〓〓〓〓〓〓〓〓〓"< cout<<"〓〓〓〓〓〓〓〓〓★☆ 0.安全退出系统☆★〓〓〓〓〓〓〓〓〓"< cout<<"\n\t\t\n\t\t请选择:"; } //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌构造函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ Student::Student() { strcpy(name,"");strcpy(num,"");strcpy(sex,"");Cnum=90;Mnum=90;Enu m=90;sum=270;;age=20; } Student::Student(char *name1,char *num1,char *sex1,int Cnum1,int Mnum1,int Enum1,int sum1,int age1) { strcpy(name,name1); strcpy(num,num1);strcpy(sex,sex1);Cnum=Cnum1;Mnum=Mnum1;Enum=Enum 1;sum=sum1;age=age1; Count++; } //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌析构函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ Student::~Student() { } //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌录入函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ void Student::Input()