Logo by Irenicus mercoledì 20-ago-08 11:59


RaulKen.It :: Leggi il Topic - [c]record file binario
 FAQFAQ   CercaCerca   Gruppi utentiGruppi utenti   ProfiloProfilo   Messaggi PrivatiMessaggi Privati   LoginLogin 

[c]record file binario

 
Nuovo Topic   Rispondi    Indice del forum -> Programmazione
Precedente :: Successivo  
Autore Messaggio
bronx87
Utente del Forum
Utente del Forum


Registrato: Jun 17, 2002
Messaggi: 55
Località: .........BARI

MessaggioInviato: Ven Gen 04, 2008 2:54 pm    Oggetto: [c]record file binario Rispondi citando

come posso costruire una funzione che mi cancella e mi aggiorna un record???

Codice:
#include<stdlib.h>
#include<stdio.h>
#include<string.h>

typedef struct{
        char codiceTreno[10];
        char cittaPartenza[15];
        char dataPartenza[10];
        char oraPartenza[10];
        char cittaArrivo[15];
        char dataArrivo[10];
        char oraArrivo[10];
        int numPostiPrenPclasse;
        int numPostiLibPclasse;
        float prezzo1;
        int numPostiPrenSclasse;
        int numPostiLibSclasse;
        float prezzo2;
        }tipoTreno;
void aggiorna(tipoTreno*tren);
int leggiRecord(tipoTreno tren);     
void svuotabuffer();       
int inserisciTreno(tipoTreno*tren);       
int main(void)
{
     int i=0,totTreni,k;
     tipoTreno treno,trenov[2];
     FILE*alfa;
     char nomeAlfa[]="treni.dat";
     int controllo;

 
  printf("\n\n-----scegli tra le seguenti opzioni--------\n");
  printf("1.riescrivi i treni\n2.prenota treno\n3.visualizza treni");
  scanf("%d",&controllo);


switch(controllo)
{
 case 1:
        printf("quanti treni vuoi inserire?");
     scanf("%d",&totTreni);
     alfa=fopen(nomeAlfa,"wb");
      for(i=0;i<totTreni;i++)
      {
printf("----INSERISCI IL %d TRENO----",i+1);
inserisciTreno(&treno);
treno=trenov[i];

fwrite(&treno,sizeof(tipoTreno),1,alfa);

}
fclose(alfa);
     
break;

     
     
  case 2:
        alfa=fopen(nomeAlfa,"rb");
   
      totTreni=2;
     
      for(k=0;k<totTreni;k++)
      {        printf("\n\n\n----treno %d----\n",k+1);           
   
fread(&treno,sizeof(tipoTreno),1,alfa);                                             

leggiRecord(treno);
}
                                                                                                                                                               
    fclose(alfa);
   
   
    break;}
      printf("\n\n\n");
      system("PAUSE");
      return(0);
      }
     
    int inserisciTreno(tipoTreno*tren)
    {
         
svuotabuffer();
    printf("\ninserisci il codice del treno:");
    gets(tren->codiceTreno);
    printf("inserisci la citta' di partenza:");
    gets(tren->cittaPartenza);
    printf("inserisci la data di partenza:");   
    gets(tren->dataPartenza);
    printf("inserisci l'ora di partenza:");
    gets(tren->oraPartenza);
    printf("inserire la citta' di arrivo:");
    gets(tren->cittaArrivo);
    printf("inserisci la data di arrivo:");
    gets(tren->dataArrivo);
    printf("inserisci l'ora di arrivo:");
    gets(tren->oraArrivo);
    printf("inserisci il numero di posti prenotati in prima classe:");
    scanf("%d",&tren->numPostiPrenPclasse);
    printf("inserisci il numero di posti liberi in prima classe:");
    scanf("%d",&tren->numPostiLibPclasse);
    printf("inserire il prezzo del biglietto in prima classe:");
    scanf("%f",&tren->prezzo1);
    printf("inserisci il numero di posti prenotati della seconda classe:");
    scanf("%d",&tren->numPostiPrenSclasse);
    printf("inserire il numero di posti liberi della seconda classe:");
    scanf("%d",&tren->numPostiLibSclasse);
    printf("inserisci il prezzo del biglietto in seconda classe:");
    scanf("%f",&tren->prezzo2);
   
}


int leggiRecord(tipoTreno tren)
{
     printf("\ncodice del treno:%s",tren.codiceTreno);
     printf("\ncitta' di partenza:%s",tren.cittaPartenza);
     printf("\ndata di partenza:%s",tren.dataPartenza);
     printf("\nora di partenza:%s",tren.oraPartenza);
     printf("\ncitta' di arrivo:%s",tren.cittaArrivo);
     printf("\ndata di arrivo:%s",tren.dataArrivo);
     printf("\nora di arrivo:%s",tren.oraArrivo);
     printf("\nnumero posti prenotati prima classe:%d",tren.numPostiPrenPclasse);
     printf("\nnumero di posti liberi prima classe:%d",tren.numPostiLibPclasse);
     printf("\nprezzo biglietto prima classe:%f",tren.prezzo1);
     printf("\nnumero posti prenotati seconda classe:%d",tren.numPostiPrenSclasse);
     printf("\nnumero posti liberi seconda classe:%d",tren.numPostiLibSclasse);
     printf("\nprezzi biglietto seconda classe:%f",tren.prezzo2);
     
     
     }
     
   
   
     
void svuotabuffer()
                 { char scarta;
                      do
                      {
                                    scanf("%c",&scarta);
                                    }while(scarta!='\n');}

_________________
[img]http://digilander.libero.it/siempreche/sito/bse/che1.jpg[/img]
Torna in cima
Profilo Messaggio privato Invia email MSN Messenger
GREY_FOX
Moderatore di RaulKen.It
Moderatore di RaulKen.It


Registrato: dic 27, 2001
Messaggi: 3940
Località: L'Aquila

MessaggioInviato: Lun Gen 07, 2008 10:05 pm    Oggetto: Rispondi citando

usa le liste...
_________________
Raulkeniano numero 1332 Gioia


Il Sapere umano appartiene al mondo.
the developers: il mio blog sull'informatica.
Torna in cima
Profilo Messaggio privato Invia email HomePage MSN Messenger
Mostra prima i messaggi di:   
Nuovo Topic   Rispondi    Indice del forum -> Programmazione Tutti i fusi orari sono GMT + 1 ora
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi Topic in questo forum
Non puoi rispondere ai Topic in questo forum
Non puoi modificare i tuoi messaggi in questo forum
Non puoi cancellare i tuoi messaggi in questo forum
Non puoi votare nei sondaggi in questo forum

Powered by phpBB © 2001, 2005 phpBB Group

 
© 1999-2008 by Hyarbor S.r.l. PI 04698901215 ®
Usando questo sito si accettano le Note Legali in termini di privacy.
PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Generazione pagina: 0.12 Secondi