Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    1,414

    problem banalissimo in C

    Ho cominciato da poco a studiare il C

    Mi è sempre andato tutto alla perfezione fino a quando, 3 gorni fa, ho deciso di cazzeggiare un po' e creare un banalissimo programmino che calcolasse l'area del rettangole sapendo base e altezza...

    il programma però mi dava degli errori ...
    Nel frattempo cmq sono andati avanti a studiare...
    mi riesce tutto normalemnte, ma nn riesco a toglermi dalla testa sto maledetto coso che nn funziona!! perché??


    #include <stdio.h>

    int main()
    {

    int base, altezza, area;
    {
    printf ("questo programma calcola l'area di un rettangolo\n");
    printf ("inserisci la misura della base\n");

    scanf( "%d", &base);

    printf ("inserisci la misura dell'altezza\n");

    scanf( "%d", &altezza);

    area = base * altezza;

    printf ("la misura dell'area e' %d\n" , area);

    system ("pause");
    return 0;
    }
    alla fine nn mi sengala nessun errore, ma nn compila e sotto mi dice:

    "warning in function main parse error at end of input"

    che caspita sbaglio? :master:

    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    74
    #include <stdio.h>

    int main()
    {

    int base, altezza, area;

    /*questa parentesi graffa non ci va*/
    /*{*/

    printf ("questo programma calcola l'area di un rettangolo\n");
    printf ("inserisci la misura della base\n");

    scanf( "%d", &base);

    printf ("inserisci la misura dell'altezza\n");

    scanf( "%d", &altezza);

    area = base * altezza;

    printf ("la misura dell'area e' %d\n" , area);

    system ("pause");
    return 0;
    }

  3. #3
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    1,414
    NOOOOOOOOOOOOOOOOOOO

    ho fatto confusione con le funzioni in jvascript....ops

    grazie mille molten

  4. #4
    Utente di HTML.it L'avatar di D4MI4NO
    Registrato dal
    Sep 2001
    Messaggi
    275

    Re: problem banalissimo in C

    codice:
    #include <stdio.h>
    #include <stdlib.h> 
    
    int main()
    {
    
    int base, altezza, area;
    
    printf ("questo programma calcola l'area di un rettangolo\n");
    printf ("inserisci la misura della base\n");
    
    scanf( "%d", &base);
    
    printf ("inserisci la misura dell'altezza\n");
    
    scanf( "%d", &altezza);
    
    area = base * altezza;
    
    printf ("la misura dell'area e' %d\n" , area);
    
    system ("pause");
    return 0;
    }

    per usare la system(); devi includere anche la stdlib.h

    ciao
    ...anche se la strada è dura...se stiamo assieme...arriveremo su quella cosa chiamata luna...

  5. #5
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    1,414

    Re: Re: problem banalissimo in C

    Originariamente inviato da D4MI4NO
    codice:
    #include <stdio.h>
    #include <stdlib.h> 
    
    int main()
    {
    
    int base, altezza, area;
    
    printf ("questo programma calcola l'area di un rettangolo\n");
    printf ("inserisci la misura della base\n");
    
    scanf( "%d", &base);
    
    printf ("inserisci la misura dell'altezza\n");
    
    scanf( "%d", &altezza);
    
    area = base * altezza;
    
    printf ("la misura dell'area e' %d\n" , area);
    
    system ("pause");
    return 0;
    }

    per usare la system(); devi includere anche la stdlib.h

    ciao
    ...

    funziona perfettamente basta levare la parentesi...
    la chiamata system pause mi serve solo con dev c++ per nn far scomparire subito il DOS, nn c'è bsogno di <stdlib.h> :quipy:


  6. #6
    Utente di HTML.it L'avatar di D4MI4NO
    Registrato dal
    Sep 2001
    Messaggi
    275
    SYSTEM(3) Linux Programmer's Manual SYSTEM(3)

    NAME
    system - execute a shell command

    SYNOPSIS
    #include <stdlib.h>

    int system (const char * string);

    DESCRIPTION
    system() executes a command specified in string by calling
    /bin/sh -c string, and returns after the command has been
    completed. During execution of the command, SIGCHLD will
    be blocked, and SIGINT and SIGQUIT will be ignored.




    poi fai come vuoi
    ...anche se la strada è dura...se stiamo assieme...arriveremo su quella cosa chiamata luna...

  7. #7
    La questione è questa: in teoria dovresti includere stdlib.h. In pratica questo non è necessario perche' ogni buon compilatore aggiunge una propria libreria (ad un binario) contenente gli shared objects delle funzioni più usate (printf(), malloc(), system(), etc.). Il fatto è che se non viene incluso il prototipo si hanno problemi riguardo l'utilizzo della funzione. Il tutto è facilmente verificabile. Prendete malloc() la quale prende come parametro un int e restituisce un void*. Provate a compilare questo programma:

    codice:
    int main(void)
    {
    
       int var;
       var = malloc("uuuuuuz", 123, 4.3);
       return 0;
    }
    Come ben vedete è stato fatto un uso totalmente sbagliato di malloc() ma non avremo nessun errore in fase di compilazione. Questo perchè, non essendo il prototipo specificato, il compilatore crede che il corretto prototipo per malloc() sia: int malloc(char*, int, float); [con int impostato di default]. Ecco l'importanza dei prototipi quando si coda (e anche per la chiarezza del listato che non deve mai essere sottovalutata).

    bye
    There are 10 kinds of people in the world: who knows the binary numeration and who not

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.