CIao raga, ho iniziato a scrivere questo semplice programma RUBRICA TELEFONICA, ma quando lo compilo, va' tutto bene, invece quando lo esegue, quando premo l'ultimo invio per inserire l'indirizzo e-mail, mi dice di fare la segnalazione errori a windows.
codice:# include <iostream> # include <stdio.h> # include <stdlib.h> # include <cstdio> // Per la funzione fseek # include <fstream> using namespace std; FILE *w,*r; typedef char NOME; typedef char COGNOME; typedef char NUMERO; typedef char MAIL; struct rubrica { NOME nome; COGNOME cogn; NUMERO numero; MAIL mail; }; void inizia(void); struct rubrica aquisizione(); void scrittura(struct rubrica A, FILE* w); int main() { int scelta; struct rubrica A[1]; cout << "RUBRICA telefonica\n"<<endl; cout << "1) Inizia Rubrica "<<endl; cout << "2) Aggiungi Contatti "<<endl; cout << "3) Visualizza contatti "<<endl; cout << "4) Esci "<<endl; cin>> scelta; if (scelta==1) { w = fopen("Rubrica.txt","w"); inizia(); A[0]=aquisizione(); scrittura(A[0],w); } if (scelta==2) { } if (scelta==3) { } fclose(w); system("PAUSE"); } //------------------------------------------------------------------------------ void inizia() { fputs ( "NOME" , w ); fseek ( w , 20 , SEEK_SET ); // Sposta il cursore dall'inizio del File di 20 byte fputs ( "|COGNOME" , w ); fseek ( w , 41 , SEEK_SET ); fputs ( "|NUMERO" , w ); fseek ( w , 55 , SEEK_SET ); fputs ( "|E-MAIL" , w ); } //------------------------------------------------------------------------------ struct rubrica aquisizione() { struct rubrica A; printf("Inserisci il nome :\n"); scanf("%s",&A.nome); printf("Inserisci il cognome :\n"); scanf("%s",&A.cogn); printf("Inserisci il numero :\n"); scanf("%s",&A.numero); printf("Inserisci l' e-mail :\n"); scanf("%s",&A.mail); return A; } //------------------------------------------------------------------------------ void scrittura(struct rubrica A, FILE* w) { fprintf(w, "%-20s",A.nome); fprintf(w, "%-20s",A.cogn); fprintf(w, "%-14s",A.numero); fprintf(w, "%-20s\n",A.mail); fflush(w); }

Rispondi quotando