Program sprawdzający poprawność danych

0

Witam!Od razu mówię, że jestem początkujący w c++. Chciałbym napisać program, który, jeśli wpiszę liczbę naturalną (integer) wyświetli tak a jaśli jej nie wpiszę wyświetli nie. Na razie wykminiłem takie coś:

#include <iostream>
int main()
{
    std::cin>>a;
    std::cout<<a <<"Udalo sie wczytac? ";
    std::cout<<"tak" <<std::cin.good();
    std::cout<<"nie" <<std.cin.fail();
    return 0;
} 

Ale kompilator wywala błąd expected primary-expression before '.' token
Co jest tu nie tak?

2
  1. brak deklaracji a
  2. przecież kompilator pokazuje gdzie mu ta kropka się nie podoba: std.cin
0

Dzięki bardzo pomogłeś. Mam jednak jeszcze jedno pytanie;
jak zrobić żeby ten program po wpisaniu np. 0 wyświetlił tak a po wpisaniu np. as wyświetlił nie?

1

tutaj znajdziesz podpowiedź Zabezpieczenie przed wpisywaniem liter

0

Zadeklarować a np jako int

0

@up wiem, kod wygląda teraz tak

#include <iostream>
int main()
{
    int a;
    std::cin>>a;
    std::cout<<a <<"Udalo sie wczytac? ";
    std::cout<< "tak"  <<std::cin.good();
    std::cout<< "nie" <<std::cin.fail();
    return 0;
}
 

Ale chodzi mi o to żeby przerobić go tak żeby po wpisaniu liczby która nie jest int wyświetlił tylko nie a po wpisaniu liczby która jest integerem wyświetlił tak.

1

zastosuj instrukcje if

#include <iostream>
using namespace std;

int main()
  {
   cout<<"Podaj liczbe: ";
   int a;
   if(cin>>a)  cout<<"Udalo sie wczytac: "<<a<<endl;
   else "Nie udalo sie wczytac"<<endl;
   return 0;
  }
0

Dzięki naprawdę bardzo pomogłeś

1 użytkowników online, w tym zalogowanych: 0, gości: 1