Red de conocimientos turísticos - Lugares de interés turístico - Problema de alquiler de coches con programación en lenguaje C

Problema de alquiler de coches con programación en lenguaje C

¿Puedo ejecutar el diseño del curso yo mismo para realizar pruebas personales? Estoy cansado. El código es el siguiente: Mi curso diseña un sistema de alquiler de autos en lenguaje C.

#incluye & ltstdio.h & gt?

#incluye & ltstdlib.h & gt?

#include & ltstring.h & gt?

#¿Definir MaxNum? 20?

estructura typedef A{?

número entero;? /*Número de vehículo*/?

Tipo de carácter; /*modelo de coche*/?

Pago de intereses; /*tarifa de arrendamiento*/?

int bien/*muy bien*/?

struct a* next;/*apunta al siguiente nodo*/?

}Coche;?

estructura typedef B{?

int número; /*número de cliente*/?

char Nombre[20];/*Nombre del cliente*/?

licencia de caracteres;? /*Categoría de licencia*/?

int car¿No? /*Número de vehículo de alquiler*/?

int? cielo;? /*Número de días de alquiler*/?

int DelayDay/*Días de retraso*/?

Estructura B* ¿siguiente?

}Cliente;?

La estructura c {/* es el nodo principal de la lista vinculada de vehículos, cada tipo A, B, C tiene un */?

Tipo de carácter; /*modelo de vehículo*/?

int avl/*cantidad disponible*/?

Car*head; /*apunta al nodo del vehículo*/?

} headNode[3]={{'A ', MaxNum, NULL}, {'B ', MaxNum, NULL}, {'C ', MaxNum, NULL } }?

cliente * allClien = NULL?

int pay[3]={400, 300, 200}, multa[3]={600, 500, 400};?

void init();/*Inicialización*/?

int menu();/*Interfaz de menú simple*/?

búsqueda nula();/*consulta*/?

void carSc();/*Consultar vehículo*/?

void clientSc();/*Consultar cliente*/?

anular alquiler();/*alquilar un coche*/?

void return();/*Devolver el auto*/?

void add CLI(client * CLI); /*Agregar cliente a la lista de clientes*/?

client * del CLI(int client no); /*Eliminar el cliente de la lista de clientes*/?

void addCar(char carType, int carNo);?

car* delCar(tipo de carácter);?

salir nula(); /*Salir*/?

¿Anular principal()?

{?

init();?

¿Y (1)?

{?

¿Cambiar (menú())?

{?

Caso 1: búsqueda(); rota;?

Caso 2: alquiler(); roto;?

Caso 3: devolver(); romper;?

Caso 4: Salir();?

Valor predeterminado:;?

}?

}?

}?

¿void init()?

{?

int I = 0;?

¿Coche *ptr, *pa, *pb, *pc?

headNode[0]. cabeza=NULL, cabezaNodo[1]. cabeza=NULL, cabezaNodo[2]. cabeza = NULO?

ptr=(coche*)malloc(tamañode(coche));?

ptr->no=100;?

ptr->Tipo = 'A?

ptr->pago=400;?

ptr-> bien = 600;?

headNode[0].

cabeza = ptr?

pa=ptr?

pa-> siguiente = NULL?

for(I = 1;i<20;i++){?

ptr=(coche*)malloc(tamañode(coche));?

ptr->no=10I;?

ptr->Tipo = 'A?

ptr->pago=400;?

ptr-> bien = 600;?

pa-> siguiente = ptr?

pa=ptr?

pa-> siguiente = NULL?

}?

Gratis(ptr);?

ptr=(coche*)malloc(tamañode(coche));?

ptr->no=200;?

ptr->Tipo = ' B?

ptr->pago=300;?

ptr-> bien = 500;?

headNode[1]. cabeza = ptr?

pb=ptr?

pb- >siguiente = NULL?

for(I = 1;i<20;i++){?

ptr=(coche*)malloc(tamañode(coche));?

ptr->no = 20I;?

ptr->Tipo = 'A?

ptr->pago=400;?

ptr-> bien = 600;?

pb- >siguiente = ptr?

pb=ptr?

pb- >siguiente = NULL?

}?

Gratis(ptr);?

ptr=(coche*)malloc(tamañode(coche));?

ptr->no=300;?

ptr-> tipo = "C";?

ptr->pago=200;?

ptr-> bien = 400;?

headNode[2]. cabeza = ptr?

pc=ptr?

PC-> siguiente = NULL?

for(I = 1;i<20;i++){?

ptr=(coche*)malloc(tamañode(coche));?

ptr->no = 30I;?

ptr->Tipo = 'A?

ptr->pago=400;?

ptr-> bien = 600;?

PC-> siguiente = ptr?

pc=ptr?

PC-> siguiente = NULL?

}?

Gratis(ptr);?

}?

int menú()?

{?

int seleccionar;?

printf("\n\n\nSeleccione servicio: 1. Preguntar 2. Alquilar un auto. Regresar 4. Salir\n ");?

scanf("%d ", & amp select);?

Y (¡elección!=1. & ampchoice!= 2 & amp& ampchoice!= 3 & amp& ampchoice!=4)?

{?

printf ("\nError de entrada, vuelva a ingresar:");?

scanf("%d ", & amp select);?

}?

Devolver selección;?

}?

búsqueda nula()?

{?

int seleccionar;?

printf(" \ nQuiere consultar: 1. ¿Coche? 2. ¿Cliente? 3. ¿Devolución? \ n ");?

scanf("%d ", & amp select);?

Y (seleccione!=1.

& ¡elegir! = 2 & amp& amp¡Elige! =3)?

{?

printf("\nError de entrada, vuelva a ingresar:");?

scanf("%d ", & amp select);?

}?

¿Cambiar (seleccionar)?

{?

Caso 1: carSc(); roto;?

Caso 2: clientSc(); roto;?

Caso 3:;?

Valor predeterminado:;?

}?

}?

¿Anular carSc()?

{?

printf(" \ n \ nToda la información del coche:\ n ");?

Printf ("\Hay %d autos que van a Norteamérica.\Hay %d autos que van a NB.\Quedan %d autos para NC",?

headNode[0]. avl, headNode[1]. avl, headNode[2].

AVL);?

}?

¿Anular clientSc()?

{?

cliente * ptr = allClien?

printf(" \ n \ nToda la información del cliente: \ n ");?

mientras(ptr!=NULL)?

{ printf("\n\nNúmero de cliente:%d",ptr->No);?

printf("\nNombre del cliente:%s",ptr->nombre);?

printf("\nTipo de licencia de conducir: %c",ptr-> licencia);?

printf("\nNúmero de vehículo original: %d",ptr->kano);?

printf("\nNúmero de días de lanzamiento: %d",ptr->days);?

printf("\nDías de retraso:%d",ptr->día de retraso);?

ptr = ptr->Siguiente;?

}?

}?

¿void addCli(cliente *cli)?

{?

if(allClien==NULL)?

allClien = cli?

¿Y si?

{?

CLI-> next = allClien?

allClien = cli?

}?

}?

cliente* delCli(int número de cliente)?

{?

Cliente *ptr, *prePtr;?

ptr = todoCliente?

mientras(ptr!= NULL & amp& ampptr-& gt; ¡No!=clientNo)?

{ prePtr = ptr?

ptr = ptr->Siguiente;?

}?

¿Si (ptr!=NULL)?

{?

if(ptr==allClien)?

{?

allClien = NULL?

}?

¿Y si?

{?

prePtr->;siguiente = ptr->Siguiente;?

}?

}?

¿Devolver ptr?

}?

¿Anular el alquiler()?

{?

nombre de carácter[20], tipo, Sí _ No?

int núm, día, No;?

coche * carPtr?

Cliente *cli?

printf("\n\nIngrese el tipo de licencia (A/B/C):");?

scanf("%c ", & tipo);?

mientras(type!= 'A' & amp&typing!= 'B' &&typing!='C')?

{?

Printf("Error de entrada, vuelva a ingresar:");?

scanf("%c ", & tipo);?

}?

if(tipo=='A ')?

num=headNode[0]. avl?

si no (tipo=='B ')?

num=headNode[1]. avl?

¿Y si?

num=headNode[2].

avl?

printf(" \ N % Quedan %d autos en la categoría C, ¿quieres alquilarlos (Y/N): ", tipo, num);?

scanf("%c", & yes_no);?

Y (Yes_No!= ' Y ' & amp& ampYes_No! = ' N ' & amp& ampYes_No!= ' y ' & amp& ampYes_No!='n ')?

{?

Printf("Y o n:");?

scanf("%c", & yes_no);?

}?

/*Agregar clientes*/?

if(Sí_No=='Y'||Sí_No=='y ')?

{?

printf("\nIngrese su nombre:");?

scanf("%s ", nombre);?

printf("\nIngrese el número de días de su alquiler:");?

scanf("%d ", & días);?

}?

no = rand()% 6200;?

carPtr = delCar(tipo);?

cli=(cliente *)malloc(tamañode(cliente));?

CLI->no=no;?

strcpy(CLI-> nombre, nombre);?

CLI->license=tipo;?

CLI->carNo = carPtr->No;?

CLI->日=日;?

CLI-> día de retraso = 0;?

CLI-> siguiente = NULL?

¿Agregar CLI(CLI);?

/*Saca el coche*/?

printf(" \nSu número de cliente es: %d ", No);?

printf("\nEl auto que alquila es %c, y el número de auto es %d ", escriba, carPtr-& gt; No);?

printf("\nSu período de alquiler es %d días., días);?

}?

void return().

{?

int número;?

Pagos de intereses a largo plazo;?

¿Cliente*ptr?

printf("\n\nNúmero de cliente:");?

scanf("%d ", & no);?

if((ptr=delCli(No))==NULL)?

printf("\n¡El cliente no existe y no se puede devolver!");?

¿Y si?

{?

¿Cambiar (ptr-& gt; licencia)?

{?

Caso 1: Pago = ptr->Día*40ptr->DelayDay*600Break;?

Caso 2: Pago = ptr->día*30ptr->día de retraso*500;descanso??

Caso 3: Pago = ptr->Día*20ptr->DelayDay*400Break;?

Valor predeterminado:;?

}?

printf("\n\nNombre del cliente: %s",ptr->name);?

printf("\nTipo de licencia de conducir: %c",ptr-> licencia);?

printf("\nNúmero de vehículo original: %d",ptr->kano);?

printf("\nDías de lanzamiento: %d",ptr->days);?

printf("\nDías de retraso:%d",ptr->día de retraso);?

printf(" \ n \ nCosto requerido: %ld ", pago);?

addCar(ptr->licencia,ptr->carno);?

Gratis(ptr);?

}?

}?

void addCar(char carType, int carNo)?

{?

coche *ptr?

int index=carType-65;?

ptr=headNode[índice]. cabeza;?

si(ptr==NULL)?

{ptr=(coche*)malloc(tamañode(coche));?

nodo principal[índice]. cabeza = ptr?

nodo principal[índice]. avl++;?

}?

¿Y si?

{ mientras(ptr-& gt; siguiente)?

ptr = ptr->Siguiente;?

ptr-& gt; next=(car*)malloc(sizeof(car));?

ptr = ptr->Siguiente;?

nodo principal[índice]. avl++;?

}?

ptr-& gt; No = Kano;?

ptr->Tipo = tipo de coche?

ptr->pago=pago[índice];?

ptr->fine = multa[índice];?

ptr-> siguiente = NULL?

}?

car* delCar(tipo de carácter)?

{?

Coche*Alquiler de coche;?

¿Coche*pp?

¿Interruptor (tipo)?

{?

Caso A:

rentcar=headNode[0]. cabeza;?

headNode[0]. head = alquilar coche->siguiente;?

headNode[0]. AVL-;?

¿Romper;?

Caso "B": coche de alquiler = nodo principal[1]. cabeza;?

headNode[1]. head = alquilar coche->siguiente;?

headNode[1]. AVL-;?

¿Romper;?

Caso "C": coche de alquiler = nodo principal[2]. cabeza;?

headNode[2]. head = alquilar coche->siguiente;?

headNode[2].

AVL-;?

¿Romper;?

Valor predeterminado:;?

}?

Volver al alquiler de coches;?

}?

¿Anular salida()?

{?

printf("\nBienvenido...88886666...");?

Salir(0);?

}