[C++] Zapętlanie się programu


(Devil997) #1

Witam

Mam taki problem z programem ciągle mi się zapętla i nie wiem gdzie jest błąd.

#include

#include




void main()     

{

	char oper;

	int result;

	int value1,value2;

	result=0;

	while(...) <--- ??

	{

		printf("Wpisz operator i liczbe:");

		scanf ("%d,%c,%d"&value1,&oper,&value2);

		switch(oper)

		{	   

			case '+':

                                    result=value1+value2;

                        case '-':

                                    result=value1-value2;

			case 'q':

				exit(0); break;

			default:

				printf("Zle wpisany operator \n"); break;

		}

		printf("Wynik: %d\n",result);

}

}

(Kontakt) #2

while(1) Ci to zapętla, bo breaki masz tylko dla switha :wink:


(Devil997) #3

to co najlepiej tam dać ??


([alex]) #4
  1. Z plików nagłówkowych potrzebujesz tylko i

  2. Nie ma takiego formatu "%t" dla scanfa

  3. Jak chcesz wczytać znak i liczbę typu int to scanf("%c%d",&oper,&value);

  4. nie "void main" tylko "int main()"

  5. ++value=result; - nie rozumiem co próbowałeś zrobić bo to na pewno nie ma sensu.


(Devil997) #5

ok, już zmieniam moje błędy.

dzięki za pomoc, wszystkim.


([alex]) #6

Widzę że zmieniłeś podany kod, z tym że:

++value=result;

--value=result;

nadal zostało.

Co tym chcesz osiągnąć?


(Devil997) #7

++value=result; czy result+=value;

--value=result;

na właśnie że nie wiem czy to miało być tak czy tak jak już jest w kodzie, i co w while ma być bo ten program dostałem z błędami do poprawy. Każdego co pytam to ma inna wersje tego.


(Kontakt) #8

Tylko nie _= tylko -=.

Wiesz, my nie wiemy kiedy Ty chcesz zakończyć ten program, więc nie podpowiemy Ci co zrobić.


(Johny) #9

W ogóle nie wiadomo do czego dodajesz value,potrzebujesz value1 i value2;

int value1,value2;

scanf() zmieniasz

scanf ("%d,%c,%d"&value1,&oper,&value2);

w case zmieniasz

case '+':

result=value1+value2;

case '-':

result=value1-value2;

Chodziło ci chyba o dodanie dwóch liczb i wyświetlenie wyniku.


(Devil997) #10

tak John masz racje w 100 %

a co do zapętlania to powiedzmy żeby działał do 100.

przepraszam za nie kompletna treść zadania.


(Kontakt) #11

no to: while(licznik<100)

i while na końcu robisz licznik++;


(Devil997) #12

Dzięki wielkie za pomoc.