欢迎来到天天文库
浏览记录
ID:28038039
大小:94.84 KB
页数:9页
时间:2018-12-07
《实验7输入输出流库》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验内容程序Ex_File:用文件來实现一个学生记录的添加、査找等操作。提示:学生记录用类CsUidenRec表示,它的数据成员有:姓名、学号、3门课的成绩以及总平均分,成员函数记录显示Print、记录键盘输入Input和数据校验Validate以及“<<””〉〉”运算符重载等。文件操作用CStuFile类定义,成员函数有数据的添加Add、査找Seek、显示List等。实验准备和说明(1)在学习完第2章内容之后进行本次实验。(2)编写木次上机所需要的程序。实验步骤1.创建工作文件夹打开计算机,在“DAVisualC++程序、LiMing”文件夹巾创建一
2、个新的子文件夹“实验7”。2.创建控制台应用程序项目Ex_File创建控制台应用程序项鬥Ex.File的具体步骤如下。(1)启动VisualC++6.0。(2)选择“文件”-*“新建”菜单命令,显示出“新建”对话框。从列表框中选中Win32ConsoleApplication项。(3)在“工程”编辑框屮输入控制台应用程序项鬥名称Ex_File,并将项R文件夹定位到VisualC++程序LiMing实验7”。(4)甲“确定”按钮,显示Win32应用程序向导对话框。选中Anemptyproject项。甲.tlj“完成”按钮,系统将显示向导创建的信息,
3、单击“确定”按钮将A动创建此应用程序。3•添加Ex_File.h文件添加Ex_File.h文件的具体步骤如下。(1)选择“文件”一“新建”菜单命令,将“新建”对话框切换到“文件”标签页面,选中“C/C++HeaderFile”文件类型,在文件编辑框屮输入Ex_File.h,单击“确定”按钮。(2)在Ex_File.h中添加CstudentRec类代码:#include#include#include#includeclassCstudentRecpublic:Cst
4、udentRec(char*name,char*id,floatscore[]);CstudcntRcc(){chFlag='N);//默认构造函数~CStudcntRec(){};//默认析构函数voidInput(void);//键盘输入,返回记录floatValidatc(void);//成绩数据的输入验证,返回正确值voidPrint(boolisTitlc=false);//记录越示friendostream&operator«(ostream&os,CStudentRec&stu);friendistream&operator»(istr
5、eam&is,CStudentRec&stu);charchFlag;//标志,‘A’表示正常,‘N’表示空charstrName
6、20];//姓名charstrlDllO];//学号floatfScorc[3];//3门成绩floatfAve;//总平均分//CStudent类的实现CStudentRec::CStudcntRec(char*name,char*id,floatscored){strncpy(strName,name,20);strncpy(strID,id,10);fAvc=0;for(onti=0;i<3;i++)(fScorc[
7、i]=score[i];fAvc+=fScorc[i];)fAve=float(fAvc/3.0);chFlag-A';}voidCStudcntRcc::Input(void){cout«"姓名";cin〉>strName;cout«”学号";cin〉>strID;floatfSum=0;for9inti=0;i<3;i++)cout«"成绩,,《1+1«":
8、!;fScore[i]+Validate();fSum+=fScore[i];}fAve=(float)(fSum/3.0);chFlag=’A';}floatCStudentRec::Val
9、idate(void){ints;lcharbuf[80];floatres;for(;;){cin»rcs;s=cin.rdstate();whilc(s){cin.clear();cin.getline(buf,80);cout«”非法输入,重新输入:";cin»rcs;s=cin.rdstate();)if((res<=l00.0)&&(rcs>=0.0))brcak;elsecout«"输入的成绩超过范围!请重新输入:";)returnres;)voidCStudcntRcc::Print(boolisTitlc)(cout.setf(ios:
10、:left);if(isTitlc)cout«setw(20)«n姓名n«setw(10)«"
此文档下载收益归作者所有