error: expected unqualified-id before 'else'|
Ostatnio zmodyfikowano 2015-09-02 22:52
Garniturek Temat założony przez niniejszego użytkownika |
» 2015-09-02 19:45:40 Ale nawet jeśli usunę to jedną klamrę, która jest za dużo, te same errory nie znikają, a nawet dochodzi kolejny "error: expected } before 'else', dlatego dopisywałem tę klamrę |
|
pekfos |
» 2015-09-02 19:49:21 |
|
carlosmay |
» 2015-09-02 19:49:41 Masz za dużo. Wywal to co zaznaczyłem i ruszy. |error: expected unqualified-id before 'else'| 94 wers
} else return 1; to jest problem. Nie masz do tego if'a. |
|
|
Garniturek Temat założony przez niniejszego użytkownika |
» 2015-09-02 20:00:00 Jeśli usunę to co zostało wskazane program się kompiluje, ale kiedy wpisuje wartość, która nie spełnia: if(( 1 <= a ) &&( a <= 1000000000 ) &&( 1 <= b ) &&( b <= 1000000000 ) ) program zamiast zwrócić 1, wyrzuca mi na ekran jakieś dla mnie "przypadkowe" liczby. Co z tym? |
|
carlosmay |
» 2015-09-02 20:26:01 Ogarnij bałagan w kodzie. Masz wszystkie potrzebne info w postach. Rób krok po kroku.
|
|
Garniturek Temat założony przez niniejszego użytkownika |
» 2015-09-02 22:41:02 #include <iostream> using namespace std; int main() { int a; int b; int wynik[ 10 ]; int liczbaprob; cin >> liczbaprob; if(( 1 <= liczbaprob ) &&( liczbaprob <= 10 ) ) { for( int i = 0; i < liczbaprob; i++ ) { cin >> a; cin >> b; switch( a ) { case 1: wynik[ i ] = 1; break; case 2: switch( b % 4 ) { case 1: wynik[ i ] = 2; break; case 2: wynik[ i ] = 4; break; case 3: wynik[ i ] = 8; break; case 4: wynik[ i ] = 6; break; } break; case 3: switch( b % 4 ) { case 1: wynik[ i ] = 3; break; case 2: wynik[ i ] = 9; break; case 3: wynik[ i ] = 2; break; case 4: wynik[ i ] = 1; break; } break; case 4: switch( b % 2 ) { case 1: wynik[ i ] = 4; break; case 2: wynik[ i ] = 6; break; } break; case 5: wynik[ i ] = 5; break; case 6: wynik[ i ] = 6; break; case 7: switch( b % 4 ) { case 1: wynik[ i ] = 7; break; case 2: wynik[ i ] = 9; break; case 3: wynik[ i ] = 3; break; case 4: wynik[ i ] = 1; break; } break; case 8: switch( b % 4 ) { case 1: wynik[ i ] = 8; break; case 2: wynik[ i ] = 4; break; case 3: wynik[ i ] = 2; break; case 4: wynik[ i ] = 6; break; } break; case 9: switch( b % 2 ) { case 1: wynik[ i ] = 9; break; case 2: wynik[ i ] = 1; break; } break; case 10: wynik[ i ] = 0; break; } } if(( 1 <= a ) &&( a <= 1000000000 ) &&( 1 <= b ) &&( b <= 1000000000 ) ) { } else return 1; for( int i = 0; i < liczbaprob; i++ ) { cout << wynik[ i ] << endl; } } else return 1; return 0; }
Udało mi się uporać, program się normalnie kompiluje i odpala Ale mam kolejny problem, po uruchomieniu gdy program pobiera wartości a oraz b, w if'ie mam określony zbiór liczb, który one mogą przyjmować i gdy wpisz np. 9999999999, czyli przełamie górną granicę program zwraca 1 i się zamyka okej, ale gdy wpiszę np. 0, to program działa dalej i dopiero na samym końcu zwraca 1. Pomocy Dziękuje za tym co pomogli dotychczas i proszę o dalsze uwagi/wskazówki |
|
carlosmay |
» 2015-09-02 22:52:58 if(( 1 <= a ) &&( a <= 1000000000 ) &&( 1 <= b ) &&( b <= 1000000000 ) ) { } else return 1; Warunek jest wykonywany dla liczb spoza przedziału, ale blok jest pusty więc nic nie robi. Return jest dopiero za blokiem. Hmmmmm.....? |
|
1 « 2 » |