欢迎来到天天文库
浏览记录
ID:49199545
大小:246.50 KB
页数:13页
时间:2020-03-01
《C++程序设计基础实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、广州大学学生实验报告开课学院及实验室:计算机科学与工程实验室2012年月日学院计算机科学与教育软件学院年级传业/班姓名学号实验课程名称C++程序设计基础实验报告成绩实验项目名称1/0流与文件指导老师(***报告只能为文字和图片,老师评语将添加到此处,学生请勿作答***)一、实验目的与要求(1)掌握流的概念。(2)掌握文木文件和二进制文件的使用方法。二、实验设备与平台1、硬件环境:微型计算机,2、软件环境:VisualC++6.0;三、实验内容与步骤:(1)建立一个文木文件“textfile,txt^(内容由读者选定),然示显示该文件,并且统计该文件的行数和字符数。#ine
2、lude#include#ineludeusingnamespacestd;voidbrowseFile(char*fileName,intclelLine){ifstreaminf(fileName,ios::in);chars[80];for(inti=l;i<=delLine;i++)inf.getline(s,80);while(!inf.eof())〃浏览问文件的函数{inf.getline(s,80);cout<3、,int&line,int&charnum)fline二0;charnum^O;chars;ifstreamoutf(filename,ios::out);//while(!outf.eof()){outf.get(s);if(s==,')line++;charnum++;}charnum—;//去掉文件结束符outf.closeO;}intmain()Iintline,charnum;//记录彳亍数和字符数ofstreamoutfile;outfile.open("d:\textfile,txt/;ios::out);outf订e«"Thisisatestf订e4、n"«〃l〃《〃12〃《〃123〃〈<〃12345"«〃123456rr;//写入文件outfile.closeO;cout«/z显示文档文件:rT;browseFile("d:\textfile・txt〃,0)statistics(cl:\textfile.txt,line,charnum)cout«"统计结果:";cout<〈"行数:/z«line«endl;cout<〈"字符数:/z«charnum«endl;return1;}运行结果:『*D:Debug^5验报告5.exe"显示文档文件:Thisisatestfile11212315、2345123456continue••42果7••结:数缮仃字yke(2)编写程序上机完成如下工作:%1建立一个存放图书信息的二进制文件“bookf.dat",在该文件中,使每个记录包括图书编号、图书名、出版社、作者和价格。%1浏览文件“bookf.dat”。%1用键盘输入某本图书的编号,在文件“bookf.clat"中杏找该图书的图书名、岀版社、作者和价格。%1在文件“bookf.dat”的末尾添加新记录。%1按给定编号删除相应的记录。要求分别编写函数来完成上述各项T作,并在呻山函数中使用菜单来选择某项功能。实验指导对木实验第(2)题,需要定义一个book结构来描述每6、本图书的有关信息,并把每木图书的有关信息作为一个记录写到文件bookf.dat中。实验中可以编写函数create(),browse(),inquireO,append()和del()来完成各项丁•作。按给定编号删除相应记录的函数可以编写为:voiddel(fstreamf){if(f.isopenO==0){cout«"未创建或读入文件,请选择1创建或读入..."«endl;return;}book*a;intn,i,bh,flag=0;f.seekg(0,ios::end);longposend=f.tellg();n=posend/sizeof(book);a=new7、book[n];f.seekg(0,ios::beg);i=0;do{f.read((char*)&a[i],sizeof(book));i++;}while(f.tellpO!=posend);f.close();cout«〃请输入需删除记录编号:〃;cin>>bh;f.open(fnamc,ios::binary8、ios::truncios::out);if(!f){cerr«"文件不能打开!"«endl;return;}i二0;doif(a[i].num==bh)cout«"该记录为:"«endl;cout«"编号:"《
3、,int&line,int&charnum)fline二0;charnum^O;chars;ifstreamoutf(filename,ios::out);//while(!outf.eof()){outf.get(s);if(s==,')line++;charnum++;}charnum—;//去掉文件结束符outf.closeO;}intmain()Iintline,charnum;//记录彳亍数和字符数ofstreamoutfile;outfile.open("d:\textfile,txt/;ios::out);outf订e«"Thisisatestf订e
4、n"«〃l〃《〃12〃《〃123〃〈<〃12345"«〃123456rr;//写入文件outfile.closeO;cout«/z显示文档文件:rT;browseFile("d:\textfile・txt〃,0)statistics(cl:\textfile.txt,line,charnum)cout«"统计结果:";cout<〈"行数:/z«line«endl;cout<〈"字符数:/z«charnum«endl;return1;}运行结果:『*D:Debug^5验报告5.exe"显示文档文件:Thisisatestfile1121231
5、2345123456continue••42果7••结:数缮仃字yke(2)编写程序上机完成如下工作:%1建立一个存放图书信息的二进制文件“bookf.dat",在该文件中,使每个记录包括图书编号、图书名、出版社、作者和价格。%1浏览文件“bookf.dat”。%1用键盘输入某本图书的编号,在文件“bookf.clat"中杏找该图书的图书名、岀版社、作者和价格。%1在文件“bookf.dat”的末尾添加新记录。%1按给定编号删除相应的记录。要求分别编写函数来完成上述各项T作,并在呻山函数中使用菜单来选择某项功能。实验指导对木实验第(2)题,需要定义一个book结构来描述每
6、本图书的有关信息,并把每木图书的有关信息作为一个记录写到文件bookf.dat中。实验中可以编写函数create(),browse(),inquireO,append()和del()来完成各项丁•作。按给定编号删除相应记录的函数可以编写为:voiddel(fstreamf){if(f.isopenO==0){cout«"未创建或读入文件,请选择1创建或读入..."«endl;return;}book*a;intn,i,bh,flag=0;f.seekg(0,ios::end);longposend=f.tellg();n=posend/sizeof(book);a=new
7、book[n];f.seekg(0,ios::beg);i=0;do{f.read((char*)&a[i],sizeof(book));i++;}while(f.tellpO!=posend);f.close();cout«〃请输入需删除记录编号:〃;cin>>bh;f.open(fnamc,ios::binary
8、ios::truncios::out);if(!f){cerr«"文件不能打开!"«endl;return;}i二0;doif(a[i].num==bh)cout«"该记录为:"«endl;cout«"编号:"《
此文档下载收益归作者所有