如何进行循环并将数字更改为字符串

时间:2015-05-28 23:10:55

标签: c++

#include <iostream>
#include <cstdlib>
using namespace std;
int main() {
    int number=0;
    cout<<"enter an number to cumpute";
    cin>>number;
    if(number=0)
        cout<<"0"<<endl;
    for(number>0;51>number;) {
        number--;   
        cout<<"=";
    }
    for(number>10;number%10==0;) {
        cout<<"|";
    }
    for(number>5;number%5==0;) {
        cout<<"+";
    }
    cout<<endl;

    system("PAUSE");

    return 0;
}

(我得到了由Y.Daniel Liang调用的教科书。我找不到这样的东西)我不知道如何使这个循环工作,我尝试使用“while”而不工作。我应该只是输入“=”“+”“|”,或者以字符串开头。我希望输出看起来像这样。

BarPlot – A Simple Bar Graph Plotter:
Input a number in range [0 50] or a negative number to terminate:

| Enter Number: 6
| ====+> 6
| Enter Number: 12
| ====+====|=> 12
| Enter Number: 50
| ====+====|====+====|====+====|====+====|====+====> 50
| Enter Number: 53
| ERROR: 53 is not in acceptable range.
| Enter Number: 33
| ====+====|====+====|====+====|==> 33
| Enter Number: 0
| 0
| Enter Number: 5
| ====> 5
| Enter Number: -1
 ------------------------------------------------
BarPlot – End Plot by User Request

1 个答案:

答案 0 :(得分:0)

您无需将数字转换为字符串即可解决问题。对象cout可以处理打印数字和字符串,而无需在它们之间进行转换。

//example  
int number = 1;  
string str = "hello;
char c = '!';

//print hello1!
cout << str << number << c;

这是一个问题的解决方案,不需要将整数转换为字符串。

#include <iostream>
#include <cstdlib>

using namespace std;

int main() {

    //output inital prompt
    cout << "BarPlot – A Simple Bar Graph Plotter:\n";
    cout << "Input a number in range [0 50] or a negative number to terminate.\n\n";


    //read in input
    int number = 0;
    cout << "Enter Number: ";
    cin >> number;

    //continue asking for input until a negative number is given
    while (number >= 0){

     for (int i = 1; i < number; ++i){

         //special symbol every 10th char
         if (i % 10 == 0) cout << "|";

         //special symbol every 5th char
         else if (i % 5 == 0) cout << "+";

         //every other char
         else cout << "=";
     }

      //print 0 or the number with an arrow before it
      if (number == 0) cout << 0;
      else cout << "> " << number << "\n";

      //re-ask for input
      cout << "\nEnter Number: ";
      cin >> number;
    }

    //output ending message
    cout << "BarPlot – End Plot by User Request\n";

    return EXIT_SUCCESS;
}