C++实验六;
Posted qiuqiuwr
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++实验六;相关的知识,希望对你有一定的参考价值。
Part2 基础练习
Code
#include<fstream> #include<string> #include<iostream> using namespace std; int main() char a[20]="merge sucessfully"; ofstream file("3.txt",ios_base::app); file<<endl; file.write(reinterpret_cast<char *>(&a),sizeof(a)); file.close(); return 0;
运行截图
Part3 应用编程实践
Code
#include <iostream> #include <string> #include "utils.h" #include<fstream> #include<cstdlib> #include<cstring> #include<ctime> using namespace std; int main() string filename; filename = getCurrentDate(); cout << filename << endl; char file[50]; string a[100]; int n,i,j,s=0; cout<<"输入名单列表文件名:"; gets(file); cout<<"输入抽取人数:"; cin>>n; ifstream fin; fin.open(file); if(!fin.is_open()) cerr << "fail to open file " << file << endl; system("pause"); exit(0); string newfile; ofstream fout; newfile=filename; fout.open(newfile); if(!fout.is_open()) cerr << "fail to open file " << newfile << endl; system("pause"); exit(0); ifstream infile(file); //读取文本行数// while(!infile.eof()) getline(infile,a[s],‘\\n‘); s++; int ran; for(i=0;i<n;i++) srand(time(NULL)); ran+=rand()%s; cout<<a[ran%s]<<endl; fin.close(); fout.close(); return 0;
统计字符数
Code
#include<iostream> #include<fstream> using namespace std; int main() char filename[20]; cout<<"输入要统计的英文文本文件名:"; gets(filename); int cnum=0,wnum=0,lnum=0; ifstream fin; fin.open(filename); if(!fin.is_open()) cerr << "fail to open file " << filename << endl; system("pause"); exit(0); char ch; while(fin.get(ch)) if(ch==‘ ‘) wnum++; cnum++; else if(ch!=‘ ‘&&ch!=‘\\n‘) cnum++; else lnum++; cout<<"字符数"<<cnum<<endl; cout<<"单词数"<<wnum+lnum+1<<endl; cout<<"行数"<<lnum+1<<endl; fin.close() ;
运行截图
实验总结:1.感觉书上以不同形式打开文件的讲解很有用,编程第一题就用了其中的追加形式。
2.还是会犯一些低级错误,比如用时间作为随机种子时没有包含头文件<ctime>,浪费了一些时间。
3.统计字符数时我是将每个字符进行判断计数,应该有其他的方法,后续会在其他同学的博客中浏览学习。
4.随机抽人大致算法是将每一个人的一行信息进行标号,每一行为一个string,同样会后续学习其他同学的方法。
以上是关于C++实验六;的主要内容,如果未能解决你的问题,请参考以下文章