Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

error: expected unqualified-id before 'else'|

Ostatnio zmodyfikowano 2015-09-02 22:52
Autor Wiadomość
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ę
P-137180
pekfos
» 2015-09-02 19:49:21
P-137182
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.
P-137183
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?
P-137187
carlosmay
» 2015-09-02 20:26:01
Ogarnij bałagan w kodzie.
Masz wszystkie potrzebne info w postach.
Rób krok po kroku.
P-137192
Garniturek
Temat założony przez niniejszego użytkownika
» 2015-09-02 22:41:02
C/C++
#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
P-137209
carlosmay
» 2015-09-02 22:52:58
C/C++
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.....?
P-137210
1 « 2 »
Poprzednia strona Strona 2 z 2