Ciao ragazzi, questo il codice e uno screen di come vengono memorizzati i dati nel file. la domanda era intesa su come ordinare i dati nel file, ad esempio farli comparire intabellati.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define MAX 16
typedef struct
{
char codice_fiscale[16];
char nome_paziente[MAX];
char cognome_paziente[MAX];
char birth[11];
char placebirth[MAX];
char stato_arrivo[12];
char diagnosi[30];
char referto[50];
char coda;
}prontos_t;
typedef struct
{
char codice_ric[16];
}
ricerca_t;
void inserimento(FILE *prontosoccorso_f);
void ricercap(void);
int
main ()
{
FILE *prontosoccorso;
int scelta,i;
do
{
system("cls");
printf("******** MENU OPERAZIONI ********\n");
printf("******** 1.Inserimento Paziente ********\n");
printf("******** 2.Ricerca Paziente ********\n");
printf("******** 3.Cancellazione Paziente ********\n");
printf("******** 4.Inserimento Referto ********\n");
printf("******** 5.Paziente Successivo ********\n");
printf("******** 6.Esci ********\n");
printf("*************************************************************************\n");
do
{
printf("Digitare l'operazione da effettuare --> ");
scanf("%d", &scelta);
}while((scelta<1)||(scelta>6));
prontosoccorso=fopen("prontosoccorso.dat", "a+");
if (prontosoccorso==NULL)
printf("\n\n\n*********** Impossibile aprire il file************* \n\n");
else
{
switch (scelta)
{
case 1:
inserimento(prontosoccorso);
break;
case 6:
printf("\n\n\n\n\n********************PROGRAMMA TERMINATO*********************\n\n\n");
break;
}
}
}while (scelta!=6);
fclose(prontosoccorso);
system("pause");
return (0);
}
void inserimento(FILE *prontosoccorso)
{
prontos_t prontos={"","",""};
char continua;
printf("\nInserire i dati del paziente: ");
do
{
fflush(stdin);
printf("\nCodice Fiscale --> ");
fgets(prontos.codice_fiscale, MAX, stdin);
fflush(stdin);
printf("\nNome --> " );
fgets(prontos.nome_paziente, MAX, stdin);
fflush(stdin);
printf("\nCognome --> " );
fgets(prontos.cognome_paziente, MAX, stdin);
fflush(stdin);
printf("\nData di Nascita --> ");
fgets(prontos.birth, MAX, stdin);
fflush(stdin);
printf("\nLuogo di Nascita --> ");
fgets(prontos.placebirth, MAX, stdin);
fflush(stdin);
printf("\nStato di Arrivo Cosciente/Incosciente--> ");
fgets(prontos.stato_arrivo, MAX, stdin);
fflush(stdin);
printf("\nDiagnosi --> ");
fgets(prontos.diagnosi, MAX, stdin);
fflush(stdin);
printf("\nCoda Selezione ordinaria=0 Emergenza=1--> ");
scanf("\n%d", &prontos.coda);
fflush(stdin);
fwrite(&prontos, sizeof(prontos_t), 1, prontosoccorso);
printf("\nVuoi Continuare? (s/n)");
scanf("%c", &continua);
continua=tolower(continua);
}while(continua=='s');
fclose(prontosoccorso);
}
i dati vengono salvati nel file in questo modo
mrarss87e26l011a mario
rossi 26/18/1987
incosciente morto
io invece vorrei che venissero salvati in maniera ordinata tipo:
mrarss87e26l011a mario rossi 26/18/1987 incosciente morto
insomma su un unica riga.
ringrazio tutti per l'aiuto e scusatemi per le lunghe attese.