Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24

Discussione: aiuto fattoriale in C

  1. #1

    aiuto fattoriale in C

    Ciao, il codice che sto cercando di scrivere correttamente dovrebbe servire a calcolare un numero fattoriale, ma quando provo a compilarlo mi da errore alla riga della condizione di termine if. Qualcuno può aiutarmi a scrivere correttamente questo codice?Grazie.

    codice:
    #include <stdio.h> 
    int main()
    int fattoriale(int x)
    {  if (x==0) return 1; 
    int fatt = x * fattoriale(x-1); 
    return fatt; 
    };
    il log di complazione è:

    codice:
    Compilatore: Default compiler Esecuzione di  gcc.exe... gcc.exe "C:\Documents and Settings\Home\Desktop\fattoriale.c" -o "C:\Documents and Settings\Home\Desktop\fattoriale.exe"    -I"C:\Dev-Cpp\include"   -L"C:\Dev-Cpp\lib"  C:\Documents and Settings\Home\Desktop\fattoriale.c: In function `main': C:\Documents and Settings\Home\Desktop\fattoriale.c:7: error: syntax error before '{' token C:\Documents and Settings\Home\Desktop\fattoriale.c:9: error: parameter `fatt' is initialized C:\Documents and Settings\Home\Desktop\fattoriale.c:9: error: `x' undeclared (first use in this function) C:\Documents and Settings\Home\Desktop\fattoriale.c:9: error: (Each undeclared identifier is reported only once C:\Documents and Settings\Home\Desktop\fattoriale.c:9: error: for each function it appears in.)  C:\Documents and Settings\Home\Desktop\fattoriale.c:9: confused by earlier errors, bailing out  Esecuzione terminata

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: aiuto fattoriale in C

    Originariamente inviato da domm_thedomm
    Ciao, il codice che sto cercando di scrivere correttamente dovrebbe servire a calcolare un numero fattoriale, ma quando provo a compilarlo mi da errore alla riga della condizione di termine if. Qualcuno può aiutarmi a scrivere correttamente questo codice?Grazie.

    codice:
    #include <stdio.h> 
    int main()
    int fattoriale(int x)
    {  if (x==0) return 1; 
    int fatt = x * fattoriale(x-1); 
    return fatt; 
    };

    Rivedi il main, manca il corpo...
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Alex, non so cosa inserire nel corpo...

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Cosa deve fare il programma? Calcolare il fattoriale. Per fare ciò chiama la funzione "fattoriale" passandogli il numero di cui calcolare il fattoriale, no?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Quoto Alex'87: la definizione della funzione fattoriale va messa fuori dal main. Dentro va solamente richiamata.


  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Quello che si cerca di farti notare è che il problema non è il codice per ottenere il fattoriale ma l'impostazione di base di un programma C.

    Devi imparare, prima di scrivere codice C, che il tutto va impostato in un certo modo ...

    Le tue funzioni

    int fattoriale(...)
    {
    ... corpo della funzione
    }

    e il main

    int main(...)
    {
    ... corpo del main
    }
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    codice:
    #include <stdio.h> 
    int fattoriale(int num)  
    int main()
    int fattoriale (int 4) 
    {  if (x==0) return 1;
    int fatt = x * fattoriale(x-1);
    return fatt;     };
    ho dato alla funzione il numero 4 di cui calcolare il fattoriale e ho aggiunto int fattoriale(int num) e non va. help me, please.

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Leggi bene tutti i suggerimenti che hai avuto ...

    P.S. Ma su quale libro studi ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da domm_thedomm
    codice:
    #include <stdio.h> 
    int fattoriale(int num)  
    int main()
    int fattoriale (int 4) 
    {  if (x==0) return 1;
    int fatt = x * fattoriale(x-1);
    return fatt;     };
    ho dato alla funzione il numero 4 di cui calcolare il fattoriale e ho aggiunto int fattoriale(int num) e non va. help me, please.
    Ehm... Che libro stai usando?

    - manca il corpo del main
    - manca il ; dopo il prototipo di fattoriale
    - la definizione di fattoriale è sbagliata: non puoi usare un numero come nome di una variable (probabilmente volevi chiamare la funzione, ma non è quello il posto in cui farlo)
    - il ; alla fine della funzione fattoriale non serve
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  10. #10
    E' un libro schifoso. Da una parte è utile perchè parte dall'abc della programmazione, ma dall'altra fa schifo perche parla dei principali linguaggi di programmazione dando solo una infarinatura di base su tutti i linguaggi, C, C++, Java, Perl, ecc. Finito questo libro studierò il Deitel con il quale sono convinto che mi troverò bene. Quindi, mi sono reso conto che questo libro che sto studiando mi serve solo per apprendere concetti di teoria, ma non per metterli in pratica. Raga, spiegatemi solo il codice di questa funzione ricorsiva per curiosità e poi ci risentiamo più in là...
    Grazie.

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.