Visualizzazione risultati 1 fino 2 di 2

Discussione: problema compilazione in c

  1. #1
    Guest

    Predefinito problema compilazione in c

    Salve raga allora quando avvio il terminale per compilare un programma in c uso il comando gcc -o /home/utente/nomefile /home/utente/file.c
    il problema e che mi crea un file che non si esegue qualche soluzione?
    e su questo sorgente mi da degli errori
    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
    int base,high,area,p;
    char choose;
    printf("\t\t\t\t#######\n");
    printf("\t\t\t\t#Menu'#\n");
    printf("\t\t\t\t#######\n");
    printf("\n");
    printf("a)Calcolo area del rettangolo\n");
    printf("\n");
    printf("b)Calcolo area del triangolo rettangolo\n");
    printf("\n");
    printf("c)Calcolo area del quadrato\n");
    printf("\n");
    printf("d)Calcolo perimetro del rettangolo\n");
    printf("\n");
    printf("e)Calcolo perimetro del triangolo rettangolo\n");
    printf("\n");
    printf("f)Calcolo perimetro del quadrato\n");
    printf("\n");
    printf("La tua scelta = ");
    choose=getchar();
    switch(choose)
    {case 'a':
    system("cls");
    rect(base,high);
    system("PAUSE");
    return 0;
    case 'b':
    system("cls");
    tri_rect(base,high);
    system("PAUSE");
    return 0;
    case 'c':
    system("cls");
    qua (base);
    system("PAUSE");
    return 0;
    case 'd':
    system("cls");
    retta(base,high);
    system("PAUSE");
    return 0;
    case 'e':
    system("cls");
    tri_rett(base,high,area);
    system("PAUSE");
    return 0;
    case 'f':
    system("cls");
    quad(base);
    system("PAUSE");
    return 0;
    }
    system("PAUSE");
    return 0;
    }
    int rect(int base, int high )
    {
    int area;
    printf("\t\t\t#############################\n");
    printf("\t\t\t#Calcolo area del rettangolo#\n");
    printf("\t\t\t#############################\n");
    printf("Inserisci la base\n");
    scanf("%d",&base);
    printf("Inserisci l' altezza\n");
    scanf("%d",&high);
    area=base*high;
    printf("Il risultato e'%d\n",area);
    }
    int tri_rect(int base, int high )
    {
    int area;
    printf("\t\t\t#################################### ###\n");
    printf("\t\t\t#Calcolo area del triangolo rettangolo#\n");
    printf("\t\t\t#################################### ###\n");
    printf("Inserisci la base\n");
    scanf("%d",&base);
    printf("Inserisci l' altezza\n");
    scanf("%d",&high);
    area=base*high/2;
    printf("Il risultato e' %d\n",area);
    }
    int qua (int base)
    {
    int area;
    printf("\t\t\t###########################\n");
    printf("\t\t\t#Calcolo area del quadrato#\n");
    printf("\t\t\t###########################\n");
    printf("Inserisci il lato\n");
    scanf("%d",&base);
    area=base*base;
    printf("Il risultato e' %d\n",area);
    }
    int retta (int base, int high)
    {
    int p;
    printf("\t\t\t##################################\n ");
    printf("\t\t\t#Calcolo perimetro del rettangolo#\n");
    printf("\t\t\t##################################\n ");
    printf("Inserisci la base\n");
    scanf("%d",&base);
    printf("Inserisci l' altezza\n");
    scanf("%d",&high);
    p=(base*2)+(high*2);
    printf("Il risultato e' %d\n",p);
    }
    int tri_rett(int base, int high, int area)
    {
    int p;
    printf("\t\t\t#################################### ########\n");
    printf("\t\t\t#Calcolo perimetro del triangolo rettangolo#\n");
    printf("\t\t\t#################################### ########\n");
    printf("Inserisci il primo lato\n");
    scanf("%d",&base);
    printf("Inserisci il secondo lato\n");
    scanf("%d",&high);
    printf("Inserisci il terzo lato\n");
    scanf("%d",&area);
    p=base+high+area;
    printf("Il risultato e' %d\n",p);
    }
    int quad(int base)
    {
    int p;
    printf("\t\t\t################################\n") ;
    printf("\t\t\t#Calcolo perimetro del quadrato#\n");
    printf("\t\t\t################################\n") ;
    printf("Inserisci il lato\n");
    scanf("%d",&base);
    p=base*4;
    printf("Il risultato e' %d\n",p);
    }

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,681

    Predefinito

    Il codice da errori perchè (FORSE):

    1--> Le varie funzioni sono di tipo int e quindio DOVREBBERO restituire un valore...

    2-->Le varie funzioni le dovresti dichiarare prima della main OPPURE sposta la "main" in fondo (per ultima...)

    CIAO!

    EDIT:

    Prova così:

    Codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    void rect(int base, int high )
    {
         int area;
         printf("\t\t\t#############################\n");
         printf("\t\t\t#Calcolo area del rettangolo#\n");
         printf("\t\t\t#############################\n");
         printf("Inserisci la base\n");
         scanf("%d",&base);
         printf("Inserisci l' altezza\n");
         scanf("%d",&high);
         area=base*high;
         printf("Il risultato e'%d\n",area);
    }
    void tri_rect(int base, int high )
    {
         int area;
         printf("\t\t\t#################################### ###\n");
         printf("\t\t\t#Calcolo area del triangolo rettangolo#\n");
         printf("\t\t\t#################################### ###\n");
         printf("Inserisci la base\n");
         scanf("%d",&base);
         printf("Inserisci l' altezza\n");
         scanf("%d",&high);
         area=base*high/2;
         printf("Il risultato e' %d\n",area);
    }
    void qua (int base)
    {
         int area;
         printf("\t\t\t###########################\n");
         printf("\t\t\t#Calcolo area del quadrato#\n");
         printf("\t\t\t###########################\n");
         printf("Inserisci il lato\n");
         scanf("%d",&base);
         area=base*base;
         printf("Il risultato e' %d\n",area);
    }
    void retta (int base, int high)
    {
         int p;
         printf("\t\t\t##################################\n ");
         printf("\t\t\t#Calcolo perimetro del rettangolo#\n");
         printf("\t\t\t##################################\n ");
         printf("Inserisci la base\n");
         scanf("%d",&base);
         printf("Inserisci l' altezza\n");
         scanf("%d",&high);
         p=(base*2)+(high*2);
         printf("Il risultato e' %d\n",p);
    }
    void tri_rett(int base, int high, int area)
    {
         int p;
         printf("\t\t\t#################################### ########\n");
         printf("\t\t\t#Calcolo perimetro del triangolo rettangolo#\n");
         printf("\t\t\t#################################### ########\n");
         printf("Inserisci il primo lato\n");
         scanf("%d",&base);
         printf("Inserisci il secondo lato\n");
         scanf("%d",&high);
         printf("Inserisci il terzo lato\n");
         scanf("%d",&area);
         p=base+high+area;
         printf("Il risultato e' %d\n",p);
    }
    void quad(int base)
    {
         int p;
         printf("\t\t\t################################\n") ;
         printf("\t\t\t#Calcolo perimetro del quadrato#\n");
         printf("\t\t\t################################\n") ;
         printf("Inserisci il lato\n");
         scanf("%d",&base);
         p=base*4;
         printf("Il risultato e' %d\n",p);
    }
    
    int main()
    {
         int base,high,area,p;
         char choose;
         printf("\t\t\t\t#######\n");
         printf("\t\t\t\t#Menu'#\n");
         printf("\t\t\t\t#######\n");
         printf("\n");
         printf("a)Calcolo area del rettangolo\n");
         printf("\n");
         printf("b)Calcolo area del triangolo rettangolo\n"); 
         printf("\n");
         printf("c)Calcolo area del quadrato\n");
         printf("\n");
         printf("d)Calcolo perimetro del rettangolo\n");
         printf("\n");
         printf("e)Calcolo perimetro del triangolo rettangolo\n");
         printf("\n");
         printf("f)Calcolo perimetro del quadrato\n");
         printf("\n");
         printf("La tua scelta = ");
         choose=getchar();
         switch(choose)
         {
           case 'a':
              system("cls");
              rect(base,high);
              system("PAUSE");
              return 0;
           case 'b':
              system("cls");
              tri_rect(base,high);
              system("PAUSE");
              return 0;
           case 'c':
              system("cls");
              qua (base);
              system("PAUSE");
              return 0;
           case 'd':
              system("cls");
              retta(base,high);
              system("PAUSE");
              return 0; 
           case 'e':
              system("cls");
              tri_rett(base,high,area);
              system("PAUSE");
              return 0;
           case 'f':
              system("cls");
              quad(base);
              system("PAUSE");
              return 0;
         }
         system("PAUSE");
         return 0;
    }
    p.s. riguardando il codice:

    in un case ho visto 'e' . Questo restituisce il numero ASCII della e !! (non ho controllato se è errato, ma se hai qualche errore in quel punto PROVA a sostituire 'e' con "e" !!)

    CONSIGLI:

    1--> metti gli spazi (o tab {meglio }) come ho fatto io: in questo modo risolvi numerosissimi errori... e poi il codice è molto più leggibile.

    2--> Perchè hai messo tutti quei "printf()" ??: si può fare una cosa del genere:

    Codice:
    ...
    printf("CIAO!\n\nCalcolo area...\n\nL'area è: %d", area);
    ...
    CIAO!!
    Ultima modifica di alemoppo : 15-01-2009 alle ore 22.38.11 Motivo: EDIT

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •