繁体   English   中英

C ++读取文件及其单个字符以输出到控制台中的表

[英]C++ Reading a file and it's individual characters to output to a table in the console

我有一个明天要交的项目,我已经工作了一段时间了,我很困惑。 这正是我的要求:

使用数据文件执行一些活动。 创建一个输入文本文件。 打开输出文件和输入文件。 在屏幕上,显示您的标题(请参阅第一个程序了解其标题)将从文件读取的所有字符回显到控制台和输出文件。 (输出文件将仅包含输入文件的副本。)在控制台上,还显示一个“表”,其标题显示在输入文件中出现多少个数字,字母和其他字符。 '\\ t'字符便于在列之间进行制表。 要进行控制台,请显示文件中的字符总数。

这只是基础编程课程,因此我们不会使用复杂的东西。

UPDATE

我已经进行了一些改进,并且一次迈出了一步,但是当我试图排除某些字符时,我的if语句中出现了一些奇怪的错误。

到目前为止,这是我编写的代码:

    string x;
    ifstream input ("input.txt");
    ofstream output ("output.txt");
        if(!input) cout<<"error"; //ensures opened file
    while (!input.eof()){
        input>>x;
        output<<x;
    }
    int digit=0;
    int alpha=0;
    int other=0;
    int count=0;

    input>>x;
    while (x!="-a"){

    if(x>='0'&&x<='9'){
        digit++;
        count++;
    }
    if((x>='a'&&x<='z')||(x>='A'&&x<='Z')){
        alpha++;
        count++;
    }
    if(x>='!'&&x<=')'){
        other++;
        count++;
    }

    x.erase(0,0);
    }
    cout<<"Your file has "<<digit<<" digits"<<endl;
    cout<<"Your file has "<<alpha<<" letters"<<endl;
    cout<<"Your file has "<<other<<" other characters"<<endl;

return 0;}

您需要的最终解决方案分为以下几个部分:在控制台上打印输入; 将输入打印到另一个文件; 在控制台上打印表格。

从小处开始,然后从那里逐步构建:

  1. 读取文件,并在读取每个字符时将其打印到控制台
  2. 如果以上都可以。 尝试将每个字符打印到另一个文件
  3. 如果以上都可以。 尝试计算每种字符类型(如果isDigit(c)等)
  4. 然后,在控制台上打印计数器。
  5. 合并代码段,测试您认为重要的任何内容。

当您学习编程和解决问题时,重要的是进行测试。 不要害怕玩您的代码并将内容打印到屏幕上。 也尝试在纸上进行一些表测试,就像您是执行代码的计算机一样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM