C++实习报告.docx
《C++实习报告.docx》由会员分享,可在线阅读,更多相关《C++实习报告.docx(19页珍藏版)》请在冰豆网上搜索。
![C++实习报告.docx](https://file1.bdocx.com/fileroot1/2023-1/24/325356b3-6c5f-40de-8fcd-527904a41295/325356b3-6c5f-40de-8fcd-527904a412951.gif)
C++实习报告
计算机高级语言(C++)实习报告
题目
学生姓名:
班号:
学号:
1206
指导老师:
马丽
中国地质大学(武汉)机械与电子信息学院
2011年12月
成绩管理系统
1、设计任务与要求
输入数据包括:
学生姓名,学号,科目名称,科目成绩(至少列出2门课程,至少10个学生),编写一个初始化函数完成初始数据的输入。
注:
采用键盘输入的方式,并将输入数据保存到文件中。
2、算法设计
1.设计思想:
a.能对学生各科成绩进行录入。
b.能对学生的成绩按学号,姓名,进行查询。
c.能输出学生的所有数据。
d.能进行成绩统计。
e.能输出每个学生的平均成绩。
f.能统计每科成绩不及格的学生个数。
g.能进行总分查询排名。
通过定义一个类来定义数据录入的函数,并且作一个文本文档在文件夹中用于显示所录入的数据(如学生的姓名、学号、数学成绩、C++成绩、英语成绩)。
2.设计表示:
a.界面设计
程序运行后会出现一个简捷的窗口,便于用户查询数据。
b.功能设计与实现
通过主窗体调用其他窗体,具体实现可以参照系统分析相关内容。
应用系统主控界面包括记录编辑和记录查询等功能模块。
记录编辑功能完成学生成绩记录编辑和记录查询功能。
记录查询功能可以对数据各分类的记录进行查询。
3.详细设计表示
设计该程序的主要框架为:
3、调试报告
每一个case都能执行,但是有很多的地方都不够完善,例如:
在总成绩排序中,只能输出总成绩,不能单独的输出学生的相应的信息;每次进行别的操作之前都要在进行一次数据的录入,不能直接对原有的文件进行读取。
4、用户手册
执行程序后会出现以下操作选择:
先进行学生信息的录入,即在键盘上输入数字1,会有:
输入姓名小a,然后会要求输入其学号:
接着会要求输入其数学成绩,如85;C++成绩,如88;英语成绩,如89,即:
如果在键盘上输入y,则继续上面的步骤,进行学生信息的录入;如果在键盘上输入n,则返回到上面的操作选择中。
在输入了10个学生的信息后
然后返回到操作选择中,可以选择对学生信息的查询、成绩统计和按总分排名等功能中。
如以下:
5、附录(源代码)
#include
#include
#include
#include
#include
usingnamespacestd;
classTstu//通过定义一个类来定义数据录入的函数
{
charname[20];
intnumber;
floatmath,cpp,english,average,sum;
public:
Tstu()
{};
Tstu(charn[20],intnum,floatma,floatcj,floateng);
floatgetsum();//得到总分的函数
floatgetaver();//得到平均分的函数
friendvoidmain();//将主函数定义为友元函数,方便访问类中的成员
};
Tstu:
:
Tstu(charn[20],intnum,floatma,floatcj,floateng)
{
strcpy(name,n);//得到姓名
number=num;//得到学号
math=ma;//得到数学成绩
cpp=cj;//得到c++成绩
english=eng;//得到英语成绩
}
floatTstu:
:
getsum()//得到总分的函数
{
sum=cpp+english+math;
returnsum;
}
floatTstu:
:
getaver()//得到平均分的函数
{
average=getsum()/3;
returnaverage;
}
voidmain()
{
cout<<"*****************欢迎来到学生成绩查询系统*****************"<cout<<"请选择您需要的操作!
"<cout<<"操作:
"<cout<<"
(1)数据录入"<cout<<"查询:
"<cout<<"
(2)按学号查询"<cout<<"(3)按姓名查询"<cout<<"(4)输出所有学生的数据"<cout<<"成绩统计:
"<cout<<"(5)每个学生的平均成绩"<cout<<"(6)各科不及格人数"<cout<<"排名:
"<cout<<"(7)按总分查询排名"<cout<<"(8)退出"<cout<<"选择相关操作请输入相对的括号里的阿拉伯数字及字母!
"<intp=0;//全局变量,用于选择菜单时的输入
charw;//全局变量,用于在大项中选择是否继续操作
Tstu*s[100];//类定义的指针将所录入的数据按类中的形式分别存储
ofstream*file[100];
inti=0;//全局变量,用于做每个录入数据的下标
intj=0;
intchris1=0;//用于判断do—while语句
do//判断输入是否正确
{
cin>>p;
if((p>=1&&p<=11))
chris1=1;
else
cout<<"指令错误!
请重新输入:
"<}while(chris1==0);
do{
switch(p)
{
case1:
//数据的录入
{
charc;//用于在小项中选择是否继续操作
charname[20];
intnumber;
floatmath,cpp,english;
do{
cout<<"请输入姓名:
"<cin>>name;
cout<<"请输入学号:
"<cin>>number;
cout<<"请输入数学成绩:
"<cin>>math;
cout<<"请输入C++成绩:
"<cin>>cpp;
cout<<"请输入英语成绩:
"<cin>>english;
fstreamoutfile,infile;//作一个文本文档在文件夹中用于显示所录入的数据
outfile.open("f1.txt",ios:
:
out|ios:
:
app);
if(!
file)
{cout<<"f1.txtcannotopen.\n";
return;
}
outfile<"<"<