Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Aiutino
Forum - C/C++ - Aiutino

Avatar
K2 (Normal User)
Rookie


Messaggi: 27
Iscritto: 08/08/2008

Segnala al moderatore
Postato alle 18:48
Venerdì, 19/12/2008
Salve a tutti. Ho un piccolo problemino con un programma che sto facendo per esercitarmi.
Il debug mi segnala errore nella dichiarazione del puntatore al file: 'p' undeclered.
Ecco qua il codice
Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define FILE "prova.txt"
  4.  
  5. int main()
  6. {
  7.      struct {
  8.             char nome[20];
  9.             char cognome[20];
  10.             char citta[20];
  11.             int anni[10];
  12.             }dati;
  13.     printf("Inserici il nome:");
  14.     scanf("%s\n\n", dati.nome);
  15.     printf("Inserisci il cognome:");
  16.     scanf("%s\n\n", dati.cognome);
  17.     printf("Inserisci dove abiti:");
  18.     scanf("%s\n\n", dati.citta);
  19.     printf("Inserisci la tua eta':");
  20.     scanf("%s\n\n", dati.anni);
  21.     FILE *p;
  22.     p = fopen(FILE, "w");
  23.     if(!p)
  24.     printf("Non riesco ad aprire il file %s", FILE);
  25.     fprintf(p, "%s\t\t%s\n\n%s\t\t%s\n\n", dati.nome, dati.cognome, dati.citta, dati.anni);
  26.     return 0;
  27. }


PM Quote
Avatar
mc (Normal User)
Rookie


Messaggi: 52
Iscritto: 04/12/2008

Segnala al moderatore
Postato alle 19:15
Venerdì, 19/12/2008
Le dichiarazioni in C vanno fatte all'inizio di ogni blocco.
Oltretutto la definizione del tipo struct andrebbe fatta fuori della funzione main.

PM Quote
Avatar
mc (Normal User)
Rookie


Messaggi: 52
Iscritto: 04/12/2008

Segnala al moderatore
Postato alle 19:17
Venerdì, 19/12/2008
È soprattutto non puoi chiamare la macro FILE.
FILE è un nome di tipo di variabile già usato dalla libreria standard.
Chiamalo FILE_ oppure FILENAME.

PM Quote
Avatar
K2 (Normal User)
Rookie


Messaggi: 27
Iscritto: 08/08/2008

Segnala al moderatore
Postato alle 19:50
Venerdì, 19/12/2008
Porca miseria, faccio ancora questi stupidi errori :-o.
Ho utilizzato una keyword per dichiarare una variabile, adesso ho cambiato il nome della costante e va bene. Grazie mille!

PM Quote