29 / 50
Aug 2016

Na wejście programu podana zostanie pewna nieokreślona liczba zestawów danych.

A więc nie sto.
W twoim programie zmienłbym:
1. nazwy x, y na a, b
2. wyrzucił drukowanie wyniku poza pętlę switch
3. w case ...: wynik = a + b; itd
4 lub nawet a += b; //a -= b itd. a jest zarówno daną do obliczeń jak i wynikiem
5 wczytywać [nieokreśloną liczbę danych] można też tak: while (cin >> wybor >> a >> b){
....
PS
6. gdy zrezygnujesz z getchar() blioteka stdio jest zbędna

Dzięki za 6 wskazówek, kod jest dużo prostszy smiley
W zadaniu w specyfikacji wejścia jest jeszcze taka wypowiedź: "[...] Liczba testów nie przekracza 100, wynik zawiera się w typie int32". Z tego powodu zawęziłam for do 100 operacji. Nawet jeśli poprawnie zinterpretowałam to zdanie, no to wiem...kod nie jest uniwersalny, więc zmieniam na while(cin >> wybor >> a >> b) smiley

16 days later

Hej! Mam problem z zadaniem kalkulator...

Sędzia nie chce przyjąć mojego kodu, pomimo, że dane wyjściowe są
poprawne. Móglby ktoś powiedzieć mi co jest nie tak w tym kodzie?

https://ideone.com/g2cisC110

Twój kod nie działa dla przykładowego wejścia: https://ideone.com/qO7M4s67. Zwróć uwagę, że w zadaniu nie jest podana liczba danych wejściowych - musisz wczytać ich nieznaną ilość. Odszukaj na tym albo starym (raczej starym) forum poradnik dotyczący wczytywania nieokreślonej liczby testów a po AC usuń kod.

Masz return 0; w while a nie za nim. Jak to poprawisz masz AC wink Usuń potem link do kodu

5 months later

mam problem ze zakonczenie tego programu - by przetestowac jego dzialanie wprowadzam dane recznie ale zakonczenie na moim kompilatorze nie dziala z "ctrl + z w Windows" ani innym skrotem - natomiast spoj mi akceptuje "koncu" go

1 month later

Masz problem? - najpierw czytaj potem pytaj - tu już padała kilkakrotnie podpowiedź.

PS

A jednak. Takich nie dałeś:
https://ideone.com/D8ztq171

17 days later

https://ideone.com/LWAwjo41

cześć wszystkim, próbowałem już zmienić wszystko, co było opisane w powyższych postach, ale wciąż wyskakuje mi błąd mimo, że przeprowadzam najróżniejsze testy i wszystko działa... Ktoś pomoże?

Nie bardzo rozumiem, jaki masz problem - masz informację o błędzie kompilacji, a nie o złym wyniku

więc może po prostu przeczytaj informację o jaki błąd chodzi (kliknij na bład kompilacji), i to popraw

4 months later

Trochę odkopuje ale nie działa mi kod: według mnie wszystko oki

include

using namespace std;

int main()
{
int32_t a,b;

char znak;
int ile;
int i=0;
cin>>ile;

while(i<ile)
{
cin>>znak>>a>>b;
i++;
switch (znak)
{
case '+':
cout<<a+b<<endl;
break;
case '-':
cout<<a-b<<endl;
break;
case '*':
cout<<a*b<<endl;
break;
case '/':
cout<<a/b<<endl;
break;
case '%':
cout<<a%b<<endl;
break;

}
}
}

"Na wejście programu podana zostanie pewna nieokreślona liczba zestawów danych. "
Nie możesz deklarować ile ma być zestawów, program ma czytać zestawy dopóki uzytkownik go nie zakończy. Poczytaj trochę na temat, jak zdefiniować "nieokreśloną liczbę powtórzeń", w google wszystko jest :wink:

3 months later

Mój kod natomiast nie działa dobrze w samym zarodku - nie wykonuje poprawnie pętli, tj nie wraca z powrotem na podawanie zmiennej tylko od razu wyrzuca wynik i zakańcza jego pracę:

http://ideone.com/cVzMRU18

tekst programu należy przekazywać jako link do ideone.com6 - nie giną fragmenty kodu ani wcięcia, tam też warto przetestować program dla danych przykładowych w zadaniu i jeszcze kilku

a jeżeli pętla wykonuje się tylko raz a nie założoną liczbę razy to może wypada najpierw przyjrzeć się kodowi programu (w okolicach tej pętli) przed pisaniem na forum

warto też przeczytać wątek poświęcony zadaniu - można zaoszczędzić sporo czasu (twojego i odpowiadającego) nie zadając pytań które już były - ja zresztą nie mam zwyczaju odpowiadać na takie powtórzenia

program nie będzie działał poprawnie - w treści zadania nic nie ma o tym, że tych linii jest dokładnie 99 - w tym wątku już jest gdzieś tłumaczone, jak sobie radzić, gdy liczba danych jest nieokreślona

20 days later

Porównaj, potestuj 2 poniższe wersje i zastanów się gdzie tkwi błąd. Kodowanie wymaga [niestety] dokładności i dbałości o szczegóły i szczególiki.:

// 1 - twoja wersja
for (int i = 1; i <= 99; i++);
{
    cout << i << endl;
}

//  2 wersja
for (int i = 1; i <= 99; i++)
{
    cout << i << endl;
}

PS
Ale to jest tylko taki zarodek bez znaczenia dla uzyskania AC - w twoim kodzie są inne, poważniejsze błędy.

13 days later
1 month later

to może po prostu poatrz na wyjście twojego programu na ideone ? - czy autor zadania oczekiwał czegoś takiego ?