Ввод, нажав Enter один раз - PullRequest
       2

Ввод, нажав Enter один раз

0 голосов
/ 10 февраля 2019

Я новичок, поэтому извините, если вопрос запутанный или плохо выражен.Короче говоря, вам нужно указать значения, скажем, 3 переменные, а входные данные должны быть указаны в одной строке.Например, вы нажимаете 3 4 2, не нажимая ввод после каждого значения, но нажимая его в конце.Как будет работать код?

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Извините, я не залогинился, но мне самому удалось ответить.Ниже приведен мой код, и спасибо за ваши ответы, и извините за отсутствие объяснений.

 #include <iostream>
 #include <cstdlib>
using namespace std;

int main()
{
char a[100];
string c;
int b[3], j=0, i;
cin.getline(a,100);
c=a;

for(i=0; i<3; i++)
b[i]=0;

for(i=0; i<c.length(); i++)
{
    if(isdigit(c[i]))
    {
        b[j]=b[j]+(c[i]-'0');
        //cout<<b;

        if(isdigit(c[i+1]))
        b[j]=b[j]*10;

        else
        j++;
    }


}

for(i=0; i<3; i++)
cout<<b[i]<<" ";



return 0;
}
0 голосов
/ 10 февраля 2019

Ваше требование неоднозначно.Пожалуйста, рассмотрите возможность использования стиля RFC 2119 для устранения неоднозначности.

Если 3 значения МОГУТ быть указаны в одной строке:

int a,b,c; 
cin >> a >> b >> c; 

Если 3 значения ДОЛЖНЫ быть заданы в одной строке:

#include <string>      // Edit:  don't forget these headers 
#include <sstream>     //            after those that you already include
...
string s; 
getline(cin,s);       // input one line 
istringstream sst(s);  // then parse that line
int a,b,c; 
sst >>a>>b>>c; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...