|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Piacenza d'Adige (PD)
Messaggi: 651
|
datemi una mano....
Devo fare un progetto in C riguardo la gestione di una rubrica di indirizzi e numeri di telefono....
ho definito un menu utente così composto: printf("Rubrica Indirizzi\n\nAutore: Riccardo Seravalle\n\n"); printf("1 - Inserisci persona all'elenco\n"); printf("2 - Ricerca dati di una persona tramite nome e cognome\n"); printf("3 - Rimuovi persona tramite codice\n"); printf("4 - Modifica dati tramite codice e indirizzo\n"); printf("5 - Stampa tutte le persone tramite codice e indirizzo\n"); printf("6 - Inserisci nuovo numero di telefono\n"); printf("7 - Ricerca numero tramite nome e cognome\n"); printf("8 - Cancella numero tramite codice\n"); printf("9 - Modifica numero tramite codice\n"); printf("10 - Stampa tutte le persone con i loro numeri di telefono\n"); printf("\nSeleziona: "); e un costrutto switch fatto così: switch (Risposta) { case '1': Inserisci(); break; case '2': Ricerca(); break; case '3': Rimuovi(); break; case '4': Modificadati(); break; case '5': Stampacodice(); break; case '6': Nuovonumero() break; case '7': Ricercanumero(); break; case '8': Cancellanumero(); break; case '9': Modificanumero(); break; case '10': Stampanumeri(); break; ora che m trovo a fare le varie funzioni, esempo la numero 1, che è così composta: { printf("_______________________________________________________________________________\n\n"); printf("Inserire nome, cognome, indirizzo della persona, \n\ne assegnarne un codice nel formato <nome> <cognome> <indirizzo> <numero codice>\n\n"); printf("\nPremere CTRL+Z seguito da INVIO per terminare l'immissione dei dati\n"); printf("_______________________________________________________________________________\n\n\n"); {FILE *fpentrata=fopen("persone.dat", "a"); { int c;while ((c=getchar())!=EOF) fputc(c, fpentrata); } } } il debugger in fase di compilazione mi dice: undefined reference to _Inserisci dove è l'errore? cosa devo fare? non sono tanto ferrato in materia.... |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 1999
Messaggi: 139
|
la butto lì: hai definito i prototipi delle funzioni in testa al programma (prima del main) ?
__________________
Ingegnere: colui che ha molta familiarità con i modelli e molto poca con le modelle. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Piacenza d'Adige (PD)
Messaggi: 651
|
void Inserisci(void);
void Ricerca(void); void Rimuovi(void); void Modificadati(void); void Stampacodice(void); void Nuovonumero(void); void Ricercanumero(void); void Cancellanumero(void); void Modificanumero(void); void Stampanumeri(void); |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Dec 1999
Messaggi: 139
|
senti, fai prima ad allegare tutto il sorgente... leggerlo a spizzichi e bocconi aiuta poco.
__________________
Ingegnere: colui che ha molta familiarità con i modelli e molto poca con le modelle. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Piacenza d'Adige (PD)
Messaggi: 651
|
eccolo
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Piacenza d'Adige (PD)
Messaggi: 651
|
bisogna salvarlo in locale sennò non si capisce niente...
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Codice:
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
typedef struct
{
char nome_cognome[52];
char indirizzo[101];
int codice_persona;
}persone;
typedef struct
{
int codice_persona_telefono;
char numero_telefono[21];
char commento[51];
}num_telefono;
/*prototipi*/
void Inserisci(void);
void Ricerca(void);
void Rimuovi(void);
void Modificadati(void);
void Stampacodice(void);
void Nuovonumero(void);
void Ricercanumero(void);
void Cancellanumero(void);
void Modificanumero(void);
void Stampanumeri(void);
main()
{
int Risposta;
switch (Risposta)
{
case '1': Inserisci();
break;
case '2': Ricerca();
break;
case '3': Rimuovi();
break;
case '4': Modificadati();
break;
case '5': Stampacodice();
break;
case '6': Nuovonumero(); //<-- mancava un ; mi sembra qui
break;
case '7': Ricercanumero();
break;
case '8': Cancellanumero();
break;
case '9': Modificanumero();
break;
case '10': Stampanumeri();
break;
}
} //<--mancava questa grafa (l'avevi messo in fondo al file)
void Inserisci() // <-- qui non ci voleva il ;
{
printf("_______________________________________________________________________________\n\n");
printf("Inserire nome, cognome, indirizzo della persona, \n\ne assegnarne un codice nel formato <nome> <cognome> <indirizzo> <numero codice>\n\n");
printf("\nPremere CTRL+Z seguito da INVIO per terminare l'immisione dei dati\n");
printf("_______________________________________________________________________________\n\n\n");
{FILE *fpentrata=fopen("persone.txt", "a");
{
int c;while ((c=getchar())!=EOF) fputc(c, fpentrata);
}
}
}
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Dec 1999
Messaggi: 139
|
quando definisci la funzione devi usare esattamente lo stesso prototipo altrimenti qualche compilatore s' incazza. Inoltre quando la definisci non devi mettere il ; prima delle graffe !
Codice:
void Inserisci(void)
{...}
__________________
Ingegnere: colui che ha molta familiarità con i modelli e molto poca con le modelle. |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Dec 1999
Messaggi: 139
|
ecco cionci mi ha anticipato
__________________
Ingegnere: colui che ha molta familiarità con i modelli e molto poca con le modelle. |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Piacenza d'Adige (PD)
Messaggi: 651
|
grazie a tutti...magari facendo copia-incolla tra un sorgente e l'altro (ne faccio uno per ogni funzione) ho scazzato la graffa....
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:21.


















