Sistema de gestión de tickets de programación en lenguaje C
#includelt;stdio.hgt;
#includelt;stdlib.hgt;
#includelt;string.hgt;
# definir tamaño 10 struct t_tickets /* definir estructura*/ {int número; /* parte de declaración en estructura*/ char start[10]; char loadend[30]; } t[tamaño]; ARCHIVO*fp; struct t_tickets t[tamaño];
void save()
{
int i; =fopen("ticket.text", "w "))==NULL)
{
printf("no se puede abrir el archivo\n");
p>
return;
}
for(i=0;ilt;size;i)
if(fwrite(amp;t [i ], sizeof(struct t_tickets), 1, fp)!=1)
printf(" error de escritura de archivo\n");
fclose(fp); p>
}
void input()
{
int i
printf("----- -- ---Por favor ingrese la información del turno----------\n");
for(i=0; ilt; size; i )
{
scanf("d s s s f d d", amp; t[i].número, t[i].begin, t[i].start, t[i].loadend, amp; t[i ].time ,&t[i].people,amp;t[i].booked);
save();} }
salida nula()
{
int i;
fp=fopen("ticket.text", "r"); /p>
{
fread(amp; t[i], sizeof(struct t_tickets), 1, fp printf("\n-4d -8s -13s -13s -6.1f); -6d 4d \n", t[i].número, t[i].comienzo, t[i].inicio, t[i].loadend, t[i].tiempo, t[i].personas, t [i] .booked);
}
fclose(fp);} void scan(){
int número
printf("Ingrese el número de turno que desea consultar:\n");
scanf("d",amp;número);
fp=fopen("ticket.text","r");
for(k=0;klt;size; k )
{
fread(amp; t[k], sizeof(struct t_tickets), 1, fp
if(number==t); [k].number)
{ printf("\n Hora de salida del vuelo, punto de partida, estación terminal, tiempo de conducción, capacidad nominal, número de personas que han reservado billetes\n");
printf(" \n-4d -8s -13s -13s -6.1f -6d 4d\n", t[k].número, t[k].begin, t[k].start, t[ k].loadend, t[ k].time, t[k].people, t[k].booked
break
}
}
if(kgt;=size)
printf("Lo sentimos, no hay ningún turno que quieras consultar, gracias por usar este sistema\n"); p>
fclose(fp);
} void check()
{
int char loadend[30];
printf("Ingrese lo que desea. El nombre del terminal a consultar: \n");
scanf("s", loadend
fp=); fopen("ticket.text", "r") ;
for(i=0; ilt; tamaño; i )
{
fread(amp ; t[i], sizeof(struct t_tickets), 1, fp);
if(strcmp(loadend, t[i].loadend)==0)
{
printf("\n turno Hora de salida Estación de origen Estación final Tiempo de viaje Capacidad nominal Número de personas que han reservado boletos\n"); -6d 4d\n", t[i].número, t[i].comienzo, t[i].inicio, t[i].loadend, t[i].tiempo, t[i].personas, t [i].booked);
descanso
}
}
if(igt;=tamaño)
printf("Lo sentimos, no hay nada que quieras consultar Shift, ¡gracias por usar este sistema! \n"); libro(){
int i; int número; int m; char loadend[30]; int ticket=1; , "r"))==NULL)
{
printf("no
t abre el archivo\n");
return;
}
for(i=0; ilt; =1; i )
fread(amp; t[i], sizeof(struct t_tickets), 1, fp);
printf("\nIngrese el terminal al que desea comunicarse:\n"); p>
scanf("s", loadend);
printf("Los vuelos que llegan a esta terminal son:\n"); hora de salida, estación de salida, estación terminal, tiempo de conducción, capacidad nominal, número de personas que han reservado billetes\n");
for(i=0; ilt; =1; i )
if (strcmp(loadend, t[i].loadend)==0)
{
ticket=2;
printf(" \n Hora de salida del vuelo Estación de salida y estación terminal Tiempo de conducción Capacidad nominal Número de personas que han reservado billetes\n");
printf("\n-4d -8s -13s -13s -6.1f - 6d 4d\n", t[ i].número, t[i].begin, t[i].start, t[i].loadend, t[i].time, t[i].people, t[ i].booked); p>
}
for(i=0;ilt;=1;i)
if(strcmp (loadend, t[i ].loadend)==0)
if(t[i].bookedlt; t[i].people)
{
ticket=3;
printf ("Ingrese el número de boletos a reservar:\n");
scanf("d",amp;m);
para (i=0;ilt;=tamaño ; i )
if(número=t[i].número); if ((fp=fopen("ticket.text", "w"))= =NULL)
{
printf("no abrir el archivo\n");
return
}
{
t[i].booked=t[i].booked m;
if ((fp=fopen("ticket.text", "w" ))==NULL)
{
printf("no abrir el archivo\n");
return
}
for( i=0; ilt; = tamaño; i) fwrite(amp; t[i], sizeof(struct t_tickets), 1, fclose(fp); p> printf("¡Su reserva de boleto se realizó correctamente! ¡Gracias por utilizar este servicio! \n"); }} if(ticket==1)
printf("\n No hay ningún vuelo que estés consultando, verifícalo e ingresa\n");
if (ticket==2)
printf("\n El boleto que desea comprar está agotado, compre el siguiente\n"); abrir(
"ticket.text", "w"))==NULL)
{
printf("no abrir el archivo\n");
return ;
} for(i=0; ilt; =size; i )
fwrite(amp; t[i], sizeof(struct t_tickets), 1, fclose); (fp);
} void rback(){
int número, i, m; ((fp=fopen("ticket.text", "r"))= =NULL)
{
printf("no abrir el archivo\n");
return
}for(i) =0; ilt; =1; i )
fread(amp; t[i], sizeof(struct t_tickets), 1, fp);
printf("Ingrese el reembolso turno de boleto:\n");
scanf("d",amp;number);
printf("Ingrese el número de boletos reembolsados:\n");
p>
scanf("d",amp; m);
for(i=0;ilt;=size;i)
if (número==t[ i].número)
{
t[i].booked=t[i].booked-m;
printf ("\n ¡Reembolsaste éxito!, gracias\n");}
fclose(fp) if ((fp=fopen("ticket.text", "w"))==NULL); )
{
printf("no abrir el archivo\n");
return
}
for(i=0 ;ilt;=size;i) fwrite(amp;t[i],sizeof(struct t_tickets),1,fp); fclose(fp);
} p>
void over ()
{
printf("\n¡Gracias por su uso, presione cualquier tecla para finalizar!\n");
return;
}
void main(){
int b; printf("Este es el sistema de gestión de tickets, puedes usarlo it\n");
printf("Producido por Yuan Hongjie\n");
printf("\n*************** ******************* ****************\n");
printf(" == == 0, ingresa la información del turno\n");
printf(" ==== 1, busca la información\n");
printf(" ==== 2 , consultar por turno\n");
printf (" ==== 3, buscar por terminal\n");
printf(" ==== 4, libro entradas\n");
pri
ntf(" ==== 5, reembolso\n");
printf(" ==== 6, salir del programa\n"); **************************************\n");
do{
printf("-----Seleccione la función del menú principal (0~6\n");
scanf("d",amp;b );
cambiar (b)
{
caso 0: entrada();
caso 1: salida(); ;
caso 2: escanear();
caso 3: comprobar();
caso 4: libro(); /p>
caso 5: rback(); romper;
caso 6: over(); romper
predeterminado: printf(" ingresar error!\n ") ;
}}mientras(1);}