-1

コメント行 (つまり、# 記号で始まる行) を行末まで無視する必要があるコードを書いています。Linuxを使用してc ++でコーディングしています。例: 2 つの数値を加算する場合。

xxx@ubuntu:~ $ ./add
Enter the two numbers to be added
1 #this is the first number
2 #this is the second number
result: 3

したがって、コメント行はどこでもかまいません。行全体を無視して、次の値を入力として受け取るだけです。

#include <iostream>
using namespace std;
int main()
{
int a,b;


cout<< "Enter the two numbers to be added:\n";
while(cin >>a >>b)
{
if (a == '#'|| b == '#')
continue;
cout << "Result: "<<a+b;
}
return 0;
}
4

2 に答える 2

0

あなたが与える値に基づいて任意の数になりますreqd。行自体の最初の文字が#- である場合にも機能し、その行を再度尋ねます。`# の前に数字がない場合は、別の行も読み取ります。

#include <iostream>
#include <sstream>
#include <ctype.h>

using namespace std;

int main ()
{
    const int reqd = 2;
    string sno[reqd];
    int no[reqd];
    int got = 0;
    size_t pos;
    istringstream is;

    cout<< "Enter "<<reqd<<" numbers to be added:\n";
    while(got < reqd)
    {
        getline(cin, sno[got]);
        if((pos = sno[got].find('#')) && isdigit(sno[got][0]))
        {
            is.str(sno[got]);
            is>>no[got];
            ++got;
        }
    }

    int sum = 0;
    for(int i = 0; i < reqd; ++i)
        sum+=no[i];

    cout<<"Result : "<<sum;
    return 0;
}
于 2013-04-08T23:03:47.110 に答える