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

Kalkulator ONP - stos

Aruba Cloud PRO i VPS, Openstack, VMWare, MS Hyper-V
0 głosów
284 wizyt
pytanie zadane 2 kwietnia 2020 w C i C++ przez SensejChmiel Nowicjusz (180 p.)
edycja 2 kwietnia 2020 przez SensejChmiel

Czesc wszystkim, mam zadanie do zrobienia ktore polega na stworzeniu kalkulatora ONP. Napisalem juz wlasny stos, tylko mam problem z danymi wejsciowymi, a konkretniej maja one wygladac np tak:

3  2   // 3-ilosc liczb w notacji ONP (operandow)  2- zakres liczby w systemie dziesietnym (w tym przypadku 10^2)

2 2 2 * +  // zapis dzialania w notacji ONP

Moje pytanie brzmi: w jaki sposob wczytac te dane?

int main()
{
    struct Object object;
    struct Stack* stack=createStack();
    int n, k;
    scanf("%d %d\n", &n, &k);
    while(k--){
        scanf("%d", &object.number);
        push(stack, object);
    }
    while(scanf(" %c", &object.oper) == 1){
        switch(object.number){
        ...}
    }
    free(stack);
    return 0;
}

Wymyslilem cos takiego, ale petla wykonuje sie w nieskonczonosc, probowalem do niej wrzucic jakies warunki ale to tez nic nie daje? Czy moglby mi ktos podsunac jakis lepszy pomysl? smiley

komentarz 2 kwietnia 2020 przez tkz Nałogowiec (41,960 p.)

http://www.cplusplus.com/reference/cstdio/scanf/ Zwróć uwagę co zwraca scanf, oraz jeżeli wczytasz jedną liczbę, to będzie 1==1, w domyśle true. 

1 odpowiedź

0 głosów
odpowiedź 2 kwietnia 2020 przez Nabuchadonozor Gaduła (3,120 p.)
Jestem początkującym, nie ogarniam jeszcze tych funkcji scanf, free, ale zauważyłem chyba literówkę w pętli:

while(scnaf(" %c". &object.oper) == 1){

        switch(object.number){

        ...}

tam jest scnaf zamiast scanf? Czy to celowo?
komentarz 2 kwietnia 2020 przez SensejChmiel Nowicjusz (180 p.)

To literowka laugh

Podobne pytania

0 głosów
0 odpowiedzi 432 wizyt
0 głosów
1 odpowiedź 76 wizyt
0 głosów
2 odpowiedzi 381 wizyt
pytanie zadane 11 grudnia 2017 w C# przez garris Użytkownik (660 p.)

90,900 zapytań

139,572 odpowiedzi

313,905 komentarzy

60,373 pasjonatów

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...