Problem z programem w c++

0

Witam posiadam pewien problem i nie wiem jak go rozwiązać. Chodzi oto, że w programie poniżej chciałbym uzyskać efekt, że jeżeli podam liczbę 0 wyświetli się Twoja liczba nie ma znaku, a jeżeli liczbę większa lub równą 1 Twoja liczba jest dodatnia, tak samo w przypadku -1. Niestety gdy wpisuje liczbę wyświetlają mi się wszystkie komunikaty naraz.
Bardzo prosiłbym o pomoc.
A tu program:
// Example program

#include <iostream>
#include <string>

using namespace std;

string liczba;
int main()
{
  
 cout << "imie nazwisko " << endl;
 cout << "Podaj dowolna liczbe calkowita: ";
 cin>>liczba;
 
 if(liczba=="0");
 {
     cout<<"Twoja liczba nie ma znaku"<< endl;
 }

 if(liczba<="1")
 {
     cout<<"Twoja liczba jest dodatnia"<< endl;
 }
 if(liczba>="-1")
 {
     cout<<"Twoja liczba jest ujemna"<< endl;
 }

4

Po kolei.
Wczytałeś z wejścia daną typu string a nie int. By móc porównać jej wartość z czymkolwiek, zamień na int przy użyciu std::stoi.
Gdy będziesz już miał liczbę typu int, możesz ją porównać. Tu się znowu pomyliłeś bo dałeś złe operatory. Jeśli chcesz sprawdzić czy liczba jest dodatnia to użyj >=1 a nie

if(liczba<="1")
{
cout<<"Twoja liczba jest dodatnia"<< endl;
}

Podobnie tu, użyj <=-1

if(liczba>="-1")
{
cout<<"Twoja liczba jest ujemna"<< endl;
}

0

Usunął konto ze wstydu czy został za coś zbanowany?

2
TheRottenCookie napisał(a):

Usunął konto ze wstydu czy został za coś zbanowany?

Sam się skasował. Zresztą czego oczekujesz od kolesia ze zdjęciem buta na głowie :D

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