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;    
Part2

运行截图

技术图片

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++实验六;的主要内容,如果未能解决你的问题,请参考以下文章

C++ 实验六

C++(实验六)

第二次实验总结

这些 C++ 代码片段有啥作用?

有趣的 C++ 代码片段,有啥解释吗? [复制]

以下代码片段 C++ 的说明