• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jaki popełniłam błąd?

Object Storage Arubacloud
0 głosów
368 wizyt
pytanie zadane 9 lipca 2015 w C i C++ przez ArualKneza Nowicjusz (140 p.)
edycja 9 lipca 2015 przez Eryk Andrzejewski

Pokazuje mi błąd w linijce z getchar(); , a dokładnie, że "getchar" nie było zadeklarowane. Jaki błąd popełniłam, że mi to pokazuje?

 

#include <iostream>
#include <windows.h>
#include <cstdlib>

using namespace std;

float y, x;
int wybor;

int main()
{
    for( ; ; )
    {
    cout << "Podaj liczbe 1" << endl;
    cin >> y;
    cout << endl << "Podaj liczbe 2" << endl;
    cin >> x;

    cout << "Menu glowne" << endl << endl;
    cout << "1. Dodawanie" << endl;
    cout << "2. Odejmowanie" << endl;
    cout << "3. Mnozenie" << endl;
    cout << "4. Dzielenie" << endl;
    cout << "5. Koniec" << endl;

    cout << "Wybierz: ";
    cin >> wybor;

    switch(wybor)
    {
    case 1:
        {
            cout << "Suma: " << y+x;
        }
        break;
    case 2:
        {
            cout << "Roznica: " << y-x;
        }
        break;
    case 3:
        {
            cout << "Iloczyn: " << y*x;
        }
        break;
    case 4:
        {
            if(x==0)
            {
                cout << "Nie dzielimy przez zero!!";
            }
            else
            {
            cout << "Iloraz: " << y/x;
            }
        }
        break;
         case 5:
        {
            exit(0);
        }
        break;

    default:

            cout << "Bledna opcja";
    }

    getchar();
    system("cls");
    }
    return 0;
}

 

2 odpowiedzi

+1 głos
odpowiedź 9 lipca 2015 przez Eryk Andrzejewski Mędrzec (164,260 p.)

A spróbuj zamiast getchar(); dać cin.get(); i powiedz, czy działa ;)

komentarz 9 lipca 2015 przez ArualKneza Nowicjusz (140 p.)
Nie wykazuje błędów, ale nie czeka na żaden znak, tylko od razu czyści ekran.
komentarz 9 lipca 2015 przez Eryk Andrzejewski Mędrzec (164,260 p.)

w takim razie napisz go 2 razy, bo czasem zostaje w buforze znak konca linii, więc trzeba go zatrzymać :)

Czyli

cin.get();
cin.get();

Pozdrawiam ;)

komentarz 9 lipca 2015 przez ArualKneza Nowicjusz (140 p.)
Działa, dziękuję :)
0 głosów
odpowiedź 9 lipca 2015 przez Krawiec91 Pasjonat (19,600 p.)
Biblioteke stdio.h albo cstdio (zależnie od kompilatora) dołącz do pliku i getchar() bedzie działał.
komentarz 9 lipca 2015 przez ArualKneza Nowicjusz (140 p.)
Zadziałało w połowie, bo nie wyświetliło żadnego błędu, a program ruszył, ale nie czeka na żaden znak, tylko od razu przeczyścił ekran.
komentarz 9 lipca 2015 przez Eryk Andrzejewski Mędrzec (164,260 p.)
To zrób tak jak napisałem w komentarzu pod moją odpowiedzią :) Czyli napisz cin.get() albo getchar() dwukrotnie ;) Pozdrawiam ;)
komentarz 9 lipca 2015 przez Krawiec91 Pasjonat (19,600 p.)
Dołącz bibliotekę conio.h i w miejsce funkcji getchar() użyj funkcji getch().
komentarz 9 lipca 2015 przez Eryk Andrzejewski Mędrzec (164,260 p.)
Ja nie radzę używać, bo conio.h nie ma na linuxie, więc taka mała dupa ;) Ale można też użyć, jak najbardziej ;)

Podobne pytania

0 głosów
1 odpowiedź 4,124 wizyt
+1 głos
2 odpowiedzi 732 wizyt
0 głosów
2 odpowiedzi 1,160 wizyt
pytanie zadane 31 lipca 2015 w C i C++ przez alfred Początkujący (270 p.)

92,634 zapytań

141,505 odpowiedzi

319,883 komentarzy

62,015 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...