Diskuze: C++ vstup(string)
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
string vstup;
getline(cin,vstup);
a mas nacitany cely retazec. Zisti pocet medzier, ak su dve, tak je vstup
OK.
Nepotrebujes 3 premenne, lebo mozes v cykle porovnavat znaky retazca, napr.
vstup[0]==vstup[5] atd.
Co třeba využít argumentů funkce main(), jednoduchým testem určíš správný počet argumentů, ve tvém případě se jedná o slova, se kterými dále pracuješ. Pro zjištění délky řetězce využiješ knihovní funkci strlen(), pro lexikografické porovnání použiješ funkci strcmp(). Oboje funkce se nachází ve string.h. Pozor, řetězec obsahující znak '\r' není řetězec s nulovou délkou.
#include <iostream>
#include <cstring>
using namespace std;
int main(void)
{
string slova;
int i, j = 0;
cout << "Zadaj tri slova oddelene medzerou a potvrd entrom!" << endl;
getline(cin, slova);
for(i = 0; i < slova.length(); i++) {
if (slova[i] == ' ') {
j++;
}
}
if (j < 2 || j > 2) {
cout << "Nespravny pocet slov!" << endl;
return 1;
}
return 0;
}
Zobrazeno 4 zpráv z 4.