ONP Pomoc z wywaleniem scanf poza while

0

Dzień dobry,
Próbuje zrobić server który będzie liczył odwrotną notacje polska jednak w kodzie mam scanf który jest niezbędny w pętli do while. Chciałbym go wywalić poza pętle jednak nie wiem nawet czego szukać sscanf mi nie działa, chyba że nie umiejętnie go używam.
Proszę o pomoc

 #include <stdio.h>
#include <stdlib.h>


int main()
{
    int  stos[256], ws = 0;
    int  a, b, w;
    char el[256], tab[256];

    do
    {
        scanf("%s" , el);
        if(el[0] >= '0' && el[0] <= '9')
        {
            printf("IF!@#!@#!#@!#!#");
            a = b = 0;
            do a = 10 * a + el[b++] - 48;
            while(el[b]);
            stos[ws++] = a;
        }
        else if(el[0] == '=') printf("%d\n",stos[--ws]);
        else
        {
            printf("ELSE!@#!@#!#@!#!#");
            //ws=ws-1;
            b = stos[--ws];
            a = stos[--ws];

            switch(el[0])
            {
            case '+':
                w = a + b;
                break;
            case '-':
                w = a - b;
                break;
            case '*':
                w = a * b;
                break;
            case '/':
                w = a / b;
                break;
            case '^':
                w = 1;
                while(b--) w *= a;
                break;
            }

            stos[ws++] = w;
        }


    }
    while(el[0] != '=');
    return 0;
}
0

Pobierasz wiersz za pomocą getline natomiast resztę prerabiasz tak by analizowało ten wiersz.

0

Czy getline jest możliwe do użycia w C?

0

nie

0

Więc to mnie nie ratuje mam napisać server w C dzięki rpc.

0

To napisz sobie getline, to raptem 5 wierszy. Tak a propos jak piszesz post z pytaniem dotyczącym wyłącznie C to warto dodawać ta informacje w treści pytania lub w tagach pytania.

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