Πρόβλημα σε πρόγραμμα αριθμομηχανής στη c

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
terminatorvasilis
Δημοσιεύσεις: 13
Εγγραφή: 22 Ιουν 2010 01:22

Πρόβλημα σε πρόγραμμα αριθμομηχανής στη c

Δημοσίευση από terminatorvasilis » 12 Νοέμ 2010 23:43

Προσπάθησα να φτιάξω ένα πρόγραμμα στη c που θα υπολογίζει για 2 αριθμούς το άθροισμα,αφαίρεση,πολλαπλασιασμό,διαίρεση,δύναμη.Για έναν αριθμό αν θέλει ο χρήστης το παραγοντικό του.Αλλά ενώ δεν εμφανίζει συντακτικό λάθος στο compile κάτι γίνεται όταν τρέχει το πρόγραμμα και μου εμφανίζει αριθμούς πρίν καν δώσω.
Μπορείτε να με βοηθήσετε;
Ευχαριστώ εκ των προτέρων

Κώδικας: Επιλογή όλων

#include <stdio.h>

double prosthesh&#40;int,int&#41;;
    double afairesh&#40;int,int&#41;;
    double pollaplasiasmos&#40;int,int&#41;;
    double diairesh&#40;int,int&#41;;
    double power&#40;int,int&#41;;
    double factorial&#40;int&#41;;


int main &#40;void&#41;
&#123;
    char epilogi=0;
    int num1=0,num2=0;

    printf&#40;"Parakalw pliktrologhste&#58;\n"&#41;;
    printf&#40;"+ gia Prosthesh\n"&#41;;
    printf&#40;"- gia Afairesh\n"&#41;;
    printf&#40;"* gia Pollaplasiasmo\n"&#41;;
    printf&#40;"/ gia Diairesh\n"&#41;;
    printf&#40;"^ gia ton ypologismo ths dunamis&#40;p.x. a^b&#41;\n"&#41;;
    printf&#40;"! gia ton ypologismo toy paragontikou\n"&#41;;
    printf&#40;"e gia Eksodo apo to programma\n"&#41;;
    scanf&#40;"%c",&epilogi&#41;;

    while&#40;epilogi!='e'&#41;
    &#123;
        if&#40;epilogi=='!'&#41;
        &#123;
            printf&#40;"Dose enan akeraio arithmo gia ypologismo paragontikou\n"&#41;;
            scanf&#40;"%d",&num1&#41;;
            printf&#40;"To paragontiko tou arithmou %d einai iso me %lf\n",num1,factorial&#40;num1&#41;&#41;;

        &#125;
        else
        &#123;

        switch&#40;epilogi&#41;
        &#123;
            printf&#40;"Dose 2 akeraious arithmous\n"&#41;;
            scanf&#40;"%d%d",&num1,&num2&#41;;

            case '+'&#58;
                     printf&#40;"To athroisma twn %d + %d einai iso me %lf\n",num1,num2,prosthesh&#40;num1,num2&#41;&#41;;
                        break;
            case '-'&#58;
                     printf&#40;"H diafora twn %d - %d einai ish me %lf\n",num1,num2,afairesh&#40;num1,num2&#41;&#41;;
                        break;
            case '*'&#58;
                     printf&#40;"To ginomeno twn %d * %d einai iso me %lf\n",num1,num2,pollaplasiasmos&#40;num1,num2&#41;&#41;;
                        break;
            case '/'&#58;
                        if&#40;num2==0&#41;
                        &#123;
                            printf&#40;"H diairesh me to miden den epitrepetai!\n"&#41;;
                        &#125;
                      else
                      &#123;
                          printf&#40;"To piliko twn %d / %d einai iso me %lf\n",num1,num2,diairesh&#40;num1,num2&#41;&#41;;
                      &#125;
                      break;
            case '^'&#58;
                      printf&#40;"%d ^ %d =%lf",num1,num2,power&#40;num1,num2&#41;&#41;;
                        break;

        &#125;

        &#125;
        printf&#40;"Gia eksodo apo to programma plhktrologhse e\n"&#41;;
        scanf&#40;"%c",&epilogi&#41;;
    &#125;
    return 0;
&#125;

    double prosthesh&#40;num1,num2&#41;
    &#123;
        return num1+num2;
    &#125;

    double afairesh&#40;num1,num2&#41;
    &#123;
        return num1-num2;
    &#125;
    double pollaplasiasmos&#40;num1,num2&#41;
    &#123;
        return num1*num2;
    &#125;
    double diairesh&#40;num1,num2&#41;
    &#123;
        return num1/num2;
    &#125;
    double power&#40;num1,num2&#41;
    &#123;
        int i,x=0;
        for&#40;i=1; i<num2; i++&#41;
        &#123;
            x=x+num1*num2;
        &#125;
        if&#40;num2==1&#41;
        &#123;
            return num1;
        &#125;
        else
        &#123;
            return x;
        &#125;
    &#125;

    double factorial&#40;num1&#41;
    &#123;
        if&#40;num1<=1&#41;
        &#123;
            return 1;
        &#125;
        else
        &#123;
            return&#40;num1 * factorial&#40;num1-1&#41;&#41;;
        &#125;
    &#125;

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

Πρόβλημα σε πρόγραμμα αριθμομηχανής στη c

Δημοσίευση από virxen75 » 13 Νοέμ 2010 12:15

γεμάτο λάθη είναι σίγουρα έκανες compile?

λάθη(με κόκκινο οι διορθώσεις)
=====================================================
1) double prosthesh(int num1,int num2)
2) double afairesh(int num1,int num2)
3) double pollaplasiasmos(int num1,int num2)
4) double diairesh(int num1,int num2)
5) double power(int num1,int num2)
6) double factorial(int num1)


και για σου δουλέψει γράψε το έτσι

Κώδικας: Επιλογή όλων

........
        &#125;
        else
        &#123;
            printf&#40;"Dose 2 akeraious arithmous\n"&#41;;
            scanf&#40;"%d%d",&num1,&num2&#41;;
        switch&#40;epilogi&#41;
        &#123;
            

            case '+'&#58;
........

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες