El Sistema de Gestión Turística está implementado por programación C. Es lo mismo que se puede ver al hacer una reserva en línea. Aquí, la idea subyacente es presentar a los usuarios dos opciones de paquetes turísticos internacionales o de la India. Luego, según la elección, se mostrarán los paquetes disponibles. El siguiente paso es mencionar el número total de pasajeros y todos los detalles necesarios de los pasajeros. Se evaluará el monto total y se generará un recibo en la pantalla.
Acercarse:
- Se implementa una estructura para tomar los detalles de los pasajeros como nombre, género y edad.
- Seis funciones : anular detalles(), anular add_node (char, char, int), anular recibo(), anular encabezado(), anular inter(), anular india() se crean para manejar diferentes funcionalidades.
- Se declara la función header() que hará el encabezamiento del portal.
- El sistema («cls») se utiliza para limpiar nuestra pantalla.
- Se agregan tres elementos en la estructura como dos strings, una para tomar el nombre y el género del pasajero y un número entero para tomar la edad del pasajero. Además, se utilizará el puntero de estructura que ayudará a vincular el siguiente Node de otro pasajero. Es similar a una lista enlazada .
- Algunas arrays de caracteres están definidas y algunas arrays de enteros de forma global.
- El usuario tiene que dar la opción de paquetes turísticos internacionales o indios.
- Si el usuario elige paquetes turísticos internacionales, se llamará a la función inter(). Aquí, el usuario tiene que elegir ciertos paquetes de una lista.
- Si el usuario elige el paquete turístico de la India, se llamará a la función india(). Aquí, el usuario tiene que elegir ciertos paquetes de una lista.
- Se llamará a la función details() para tomar el número de pasajeros.
- Se ejecutará un bucle for para tomar los detalles de cada pasajero. Luego, los detalles tomados se enviarán a la función add_node().
- En la función add_node, cada detalle se almacenará en un Node para cada pasajero. Este Node se vinculará entre sí. Esto se basa en el concepto de lista enlazada.
- Por último, se llamará a la función de recibo(), que mostrará todos los detalles necesarios.
Código fuente: a continuación se muestra la implementación del enfoque anterior
C
// C program to implement // the above approach #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <string.h> // Defining Structure typedef struct mynode { char name[20]; char gen[6]; int age; struct mynode* link; } Node; Node* start = NULL; // Declaring Function Used // In This Program void heading(); void details(); void inter(); void india(); void receipt(); // Global variables int k, amount; char type[60], place[30], date[20]; // Driver Code void main() { int a; // Calling heading() function heading(); // Taking Choice From User printf("\t\t\t\t1. International " "Tour Packages\n"); printf("\t\t\t\t2. India Tour Packages\n"); printf("\t\t\t\tEnter Choice: "); scanf("%d", &a); switch (a) { // Calling inter() function case 1: inter(); break; // Calling india() function case 2: india(); break; default: printf("Enter Right Choice..."); break; } // Calling details() function details(); // Calling receipt() function receipt(); } // Function To Take Package // Choice From India void india() { int a; // Clearing Screen system("cls"); // Calling heading() function heading(); strcpy(type, "India Tour Package"); printf("\t\t\t\t1. Simla Tour Packages " "6 Days 7 Nights (18880/-)\n"); printf("\t\t\t\t2. Kashmir Tour Packages " "5 Days 4 Nights (35500/-)\n"); printf("\t\t\t\t3. Kolkata Tour Packages " "11 Days 10 Nights (10000/-)\n"); printf("\t\t\t\tEnter Choice: "); scanf("%d", &a); if (a == 1) { strcpy(place, "Simla Tour"); amount = 18880; } else if (a == 2) { strcpy(place, "Kashmir Tour"); amount = 35500; } else if (a == 3) { strcpy(place, "Kolkata Tour"); amount = 10000; } else printf("Enter Correct Choice..."); } // Function To Take Package Choice // From International void inter() { int a; // Clearing Screen system("cls"); // Calling heading() function heading(); strcpy(type, "International Tour Package"); printf("\t\t\t\t1. England Tour Packages " "6 Days 7 Nights (28880/-)\n"); printf("\t\t\t\t2. Thailand Tour Packages " "5 Days 4 Nights (15500/-)\n"); printf("\t\t\t\t3. New York Tour Packages " "11 Days 10 Nights (567800/-)\n"); printf("\t\t\t\tEnter Choice: "); scanf("%d", &a); if (a == 1) { strcpy(place, "England Tour"); amount = 28880; } else if (a == 2) { strcpy(place, "Thailand Tour"); amount = 15500; } else if (a == 3) { strcpy(place, "New York Tour"); amount = 567800; } else printf("Enter Correct Choice..."); } // Function To Take Passenger Details void details() { int i, a; char val[20], gen[6]; // Clearing Screen system("cls"); // Calling heading() function heading(); printf("\t\t\t\tEnter Number Of " "Passengers: "); scanf("%d", &k); printf("\t\t\t\tEnter Date " "(DD/MM/YY): "); fflush(stdin); gets(date); for (i = 1; i <= k; i++) { system("cls"); heading(); printf("\t\t\t\tEnter The %dth " "Passenger Name: ", i); fflush(stdin); gets(val); printf("\t\t\t\tEnter The %dth " "Passenger Gender: ", i); fflush(stdin); gets(gen); printf("\t\t\t\tEnter The %dth " "Passenger Age: ", i); fflush(stdin); scanf("%d", &a); // Calling add_node() function add_node(val, gen, a); } } // Function to add details in // node for each passengers void add_node(char lol[20], char der[6], int b) { Node *newptr = NULL, *ptr; newptr = (Node*)malloc(sizeof(Node)); strcpy(newptr->name, lol); strcpy(newptr->gen, der); newptr->age = b; newptr->link = NULL; if (start == NULL) start = newptr; else { ptr = start; while (ptr->link != NULL) ptr = ptr->link; ptr->link = newptr; } } // Function For Printing Receipt void receipt() { int i, b; Node* ptr = start; system("cls"); heading(); printf("\n\t\t\t\t**Take Screenshot " "For Further Use**\n"); for (i = 1; i <= k; i++) { printf("\t\t\t\t%dst Passenger " "Name: ", i); puts(ptr->name); printf("\t\t\t\t%dst Passenger " "Gender: ", i); puts(ptr->gen); printf("\t\t\t\t%dst Passenger " "Age: %d\n\n", i, ptr->age); ptr = ptr->link; } printf("\t\t\t\tSelected Type: "); puts(type); printf("\t\t\t\tPackage: "); puts(place); printf("\t\t\t\tDate: "); puts(date); b = amount * k; printf("\t\t\t\tTotal Amount: %d", b); printf("\n\t\t\t\t**Thank You For " "registration**"); } // Function For Printing Heading // Of Portal void heading() { printf("\t\t\t\t***Tourism Package " "Management System***\n"); printf("\t\t\t***Vaccination Certificate " "Is Necessary For Travel Purpose***\n\n"); }
Producción:
Publicación traducida automáticamente
Artículo escrito por sounetraghosal2000 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA