Zadanie z funkcjami(jezyk C) #c

0

Hej wszystkim- mam problem-musze napisac prosty kalkulator(gdzie kazde z dzialan jest zapisane jako funkcja) - nie wiem w czym tutaj mam problem -ktos cos, bo nie kompiluje mi -jest error?

#include <stdio.h>
void print (int number){
    printf("Ur nmbr is %d\n",number);
}



    int del (int a, int b){
        int res;
        if(b != 0)
        res = a/b;
        else 
        res=0;
        return res;

}
int suma (int a, int b){
        int res;
        
        res = a+b;
        
        return res;
}
int mnozenie (int a, int b){
        int res;
       
        res = a*b;
        
        return res;
}
int roznica (int a, int b){
        int res;
        
        res = a-b;
       
        return res;
}
int main(){
    int i;
    int num1 , num2;
    scanf("%d",&num1);
    scanf("%d",&num2);
    printf("1-mnozenie, 2-dzielenie,3-suma,4-minus");
    scanf("%d", &i);
    switch (i)
    case 1: int result = mnozenie (num1, num2);
    print (result);
    break;
     case 2: int result2 = del (num1, num2);
    print (result2);
    break;
     case 3: int result3 = suma (num1, num2);
    print (result3);
    break;
     case 4: int result4 = roznica (num1, num2);
    print (result4);
    break;
    return 0;
}
0
Pablo1999 napisał(a):

ktos cos, bo nie kompiluje mi -jest error?

Jaki i gdzie?

0
Azarien napisał(a):
Pablo1999 napisał(a):

ktos cos, bo nie kompiluje mi -jest error?

Jaki i gdzie?
Patrz co pisze - main.c: In function ‘main’:
main.c5: error: break statement not within loop or switch
break;
^~~~~
main.c6: error: case label not within a switch statement
case 2: result2 = del (num1, num2);
^~~~
main.c5: error: break statement not within loop or switch
break;
^~~~~
main.c6: error: case label not within a switch statement
case 3: result3 = suma (num1, num2);
^~~~
main.c5: error: break statement not within loop or switch
break;
^~~~~
main.c6: error: case label not within a switch statement
case 4: result4 = roznica (num1, num2);
^~~~
main.c5: error: break statement not within loop or switch
break;
^~~~~

0
Pablo1999 napisał(a):
Azarien napisał(a):
Pablo1999 napisał(a):

ktos cos, bo nie kompiluje mi -jest error?

Jaki i gdzie?
Patrz co pisze - main.c: In function ‘main’:
main.c5: error: break statement not within loop or switch
break;
^~~~~
main.c6: error: case label not within a switch statement
case 2: result2 = del (num1, num2);
^~~~
main.c5: error: break statement not within loop or switch
break;
^~~~~
main.c6: error: case label not within a switch statement
case 3: result3 = suma (num1, num2);
^~~~
main.c5: error: break statement not within loop or switch
break;
^~~~~
main.c6: error: case label not within a switch statement
case 4: result4 = roznica (num1, num2);
^~~~
main.c5: error: break statement not within loop or switch
break;
^~~~~
Od razu mowie w programowaniu jestem noobem- wiec to moze byc w ogole cos latwe-gdzie mam ten blad...

0

Twój switch nie ma { }, ot cały problem :)

0
spartanPAGE napisał(a):

Twój switch nie ma { }, ot cały problem :)
Nadal jest w czyms problem ...

#include <stdio.h>
void print (int number){
    printf("Ur nmbr is %d\n",number);
}

    int del (int a, int b){
        int res;
        if(b != 0)
        res = a/b;
        else 
        res=0;
        return res;

}
int suma (int a, int b){
        int res;

        res = a+b;

        return res;
}
int mnozenie (int a, int b){
        int res;

        res = a*b;

        return res;
}
int roznica (int a, int b){
        int res;

        res = a-b;

        return res;
}
int main(){
    int i;
    int num1 , num2;
    scanf("%d",&num1);
    scanf("%d",&num2);
    printf("1-mnozenie, 2-dzielenie,3-suma,4-minus");
    scanf("%d", &i);
    switch (i){
    case 1: int result = mnozenie (num1, num2);
    print (result);
    break;
     case 2: int result2 = del (num1, num2);
    print (result2);
    break;
     case 3: int result3 = suma (num1, num2);
    print (result3);
    break;
     case 4: int result4 = roznica (num1, num2);
    print (result4);
    break;
    default: printf("niee");
    break;
    }
    return 0;
}

2

Takie pytanie na marginesie - czy zamiast pisać:

int suma (int a, int b) {
        int res;

        res = a+b;

        return res;
}

Nie wystarczy:

int sum (int num1, int num2) {
return num1 + num2;
}

A w main

case 1: int result = mnozenie (num1, num2);
    print (result);
    break;

zamienić na

case 1: 
    print (mnozenie (num1, num2));
    break;
0
Serechiel napisał(a):

Takie pytanie na marginesie - czy zamiast pisać:

int suma (int a, int b) {
        int res;

        res = a+b;

        return res;
}

Nie wystarczy:

int sum (int num1, int num2) {
return num1 + num2;
}

A w main

case 1: int result = mnozenie (num1, num2);
    print (result);
    break;

zamienić na

case 1: 
    print (mnozenie (num1, num2));
    break;

Wooow-teraz dziala, a nie wiesz czemu mi nie dzialalo z tamtym kodem -przeciez dobry byl ...

0

Bardzo wam dziekuje!!

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