Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - programma con più sorgenti
Forum - C/C++ - programma con più sorgenti - Pagina 2

Pagine: [ 1 2 3 4 ] Precedente | Prossimo
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 18:41
Domenica, 15/03/2009
Testo quotato

Postato originariamente da HeDo:
poi boh, da come la metti te ci vorrebbe la sfera di cristallo



Infatti ... percio' chiedo nuovamente

1) hai creato un progetto (se sì, di che tipo?)

2) hai compilato il progetto?

3) hai ottenuto errori o il messaggio che tutto e' andato bene?

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 21:37
Lunedì, 16/03/2009
la domanda del progetto non l'ho capita bene ma da quel poco che ho capito di quella domanda ti rispondo si: ho creato un progetto di Dev_C++ (.dev).
ora che ho apportato alcune modifiche però mi da alcuni errori in questo file:

gli errori sono multiple definition of 'nomeFunzione'
first defined here

Codice sorgente - presumibilmente C++

  1. /*header delle funzioni per le info*/
  2. #include<stdio.h>
  3.  
  4. /*prototipi di funzione per le info*/
  5. void infoMain();
  6. void about();
  7. void infoArit();
  8. void infoGeom();
  9.  
  10. void infoMain() {
  11.      
  12.      printf(
  13.      "aritmetica : Scegli tra i programmi per i calcoli aritmetici\n"
  14.      "geometria  : Scegli tra i programmi per i calcoli geometrici\n"
  15.      "about      : Informazioni sul software\n");
  16.      
  17.      int main();  
  18.      } /*fine della funzione infoMain*/
  19.      
  20. void about() {
  21.      
  22.      printf(
  23.      "Mat.h\n"
  24.      "Programma per calcoli aritmetici e geometrici\n"
  25.      "Versione 1.0.0.0\n");
  26.      
  27.      int main();
  28.      } /*fine della funzione about*/
  29.      
  30. void infoArit() {
  31.      
  32.      printf(
  33.      "somma           : Calcolo di una somma\n"
  34.      "differenza      : Calcolo di una differenza\n"
  35.      "moltiplicazione : Calcolo di una moltiplicazione\n"
  36.      "divisione       : Calcolo di una divisione\n"
  37.      "potenza         : Calcolo di una potenza\n"
  38.      "radice          : Calcolo di una radice\n"
  39.      "mcd             : Calcolo dell'MCD di un numero x di interi\n"
  40.      "mcm             : Calcolo dell'mcm di un numero x di interi\n"
  41.      "proporzione     : Calcolo dei termini incogniti di una proporzione\n");
  42.      
  43.      int aritmeticaMain();
  44.      } /*fine della funzione infoArit*/
  45.      
  46. void infoGeom() {
  47.      
  48.      printf(
  49.      "poligoni        : Calcolo dell'area di poligoni regolari\n"
  50.      "pitagora        : Calcolo di misure con il teorema di Pitagora\n");
  51.      
  52.      int geometriaMain();
  53.      } /*fine della funzione infoGeom*/


PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 21:51
Lunedì, 16/03/2009
Le righe

int main();  
    
int main();
    
int aritmeticaMain();
    
int geometriaMain();

sono sbagliate ... non hanno senso all'interno delle altre funzioni ... a che servono?

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 22:02
Lunedì, 16/03/2009
è formato da più moduli il programma: servono a ritornare al programma che le ha chiamate

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 22:31
Lunedì, 16/03/2009
No ... non si fa cosi' ... rivedi l'uso delle funzioni e il flusso di un programma nel tuo libro di C.

Elimina tutte quelle chiamate (che, fra l'altro, non sono neanche chiamate ma dichiarazioni, che non hanno senso all'interno delle funzioni e generano gli errori che hai visto).

L'esecuzione del codice viene restituita al chiamante automaticamente alla fine della funzione.

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 7:17
Martedì, 17/03/2009
grazie per avermelo spiegato. sistemerò :k:

PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 9:15
Martedì, 17/03/2009

asd semplicemente rimuovi le dichiarazioni dal file cpp e mettile in un .h e all'inizio del .c fai un bel

#include "file.h"

(dove file è il nome del .h che hai scelto)

poi quando chiami una funzione non devi ripetere il suo prototipo per intero, basta chiamarle col nome (senza tipo restituito) e tra parentesi tonde gli argomenti, poi ovviamente punto e virgola.



PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 13:32
Martedì, 17/03/2009
comunque ho trovato un metodo: utilizzo un do...while dove while è(exit == 0) exit è un intero inizializzato a 1 e quando si digita il comando "exit" l'intero diventa uguale a 1 e termina l'esecuzione del programma .
:heehee:

PM Quote
Pagine: [ 1 2 3 4 ] Precedente | Prossimo