From 9757756a012e24d08929862ea005dc4d831f658b Mon Sep 17 00:00:00 2001 From: devprnvk Date: Mon, 10 Jun 2024 23:06:50 -0400 Subject: [PATCH] [Implement] Booking Security devprnvk --- display.c | 8 ++++---- display.h | 2 +- display.o | Bin 17120 -> 17544 bytes flights.c | 3 +-- flights.o | Bin 12736 -> 12736 bytes main | Bin 39096 -> 39096 bytes main.c | 53 +++++++++-------------------------------------------- main.h | 3 ++- main.o | Bin 19064 -> 19304 bytes 9 files changed, 17 insertions(+), 52 deletions(-) diff --git a/display.c b/display.c index 584a47f..731cfd8 100644 --- a/display.c +++ b/display.c @@ -124,10 +124,10 @@ void displaySingleFlightData(FlightDatabase *fdatab, char const *str) { if (strcmp(adding, "more data") == 0) { double avgMile = calculateAverageMilesPerFlight(flight->totalMiles, flight->totalTrips); char *fTime = calculateFlightTime(flight->departTime, flight->arrivalTime); - double earnings = calculateTotalRevenue(flight->seats, 409.99) - printf("\nThis plane's average miles per trip: %.2f miles\n", avgMile); - printf("Total Travel Duration is %s\n", fTime); - printf("Total Expected Earnings: %f\n", earnings); + double earnings = calculateTotalRevenue(flight->seats, 409.99); + printf("\nThis plane's average miles per trip --> %.2f miles\n", avgMile); + printf("Total Travel Duration --> %s\n", fTime); + printf("Total Expected Earnings --> $%.2f\n", earnings); free(fTime); } break; diff --git a/display.h b/display.h index e25ae76..aea961f 100644 --- a/display.h +++ b/display.h @@ -23,7 +23,7 @@ void displaySingleFlightData(FlightDatabase *fdatab, char const *str); Display all available airports in the current flight database @param fdatab the database to check */ -void displayAllAirports(FlightDatabase *fdatab) +void displayAllAirports(FlightDatabase *fdatab); void displayApp(); #endif diff --git a/display.o b/display.o index 1f34007dc1af53d141f8339f093f1d89c0f09d97..25a0a2f48809a6b008b0df9a62c7c1cab7255792 100644 GIT binary patch delta 7247 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 J)YEE5{U7VgOo#vg diff --git a/flights.c b/flights.c index b28c3aa..b577db1 100644 --- a/flights.c +++ b/flights.c @@ -45,7 +45,6 @@ void freeFlightDatabase(FlightDatabase *flightdb) { * @param table the HashTable to free. */ void freeHashTable(HashTable *table) { - // Free the allocated memory for (int i = 0; i < table->size; i++) { CountryNode *countryNode = table->buckets[i]; while (countryNode != NULL) { @@ -140,7 +139,7 @@ void insertAirport(HashTable *table, const char *country, const char *airport) { } AirportNode *current = countryNode->airports; - // Check for duplicate country airports + while (current != NULL) { if (strcmp(current->airport, airport) == 0) { return; diff --git a/flights.o b/flights.o index 33c4d611a6e446bc53a4d84a3df35f41262c9a14..53635fc66bdf530ca6e3ff323292c3c9d6b3574a 100644 GIT binary patch delta 1174 zcmZWoT}V@582)~C);YHHY;H^C5dB&6Cor@K1|r>PC)3$XA`rs~2^mhhQCOQA2w}Cx zCw37;U>8Aw*t!T@p*L0pAxV<-sB;{S;4gqalNr!^kVA^n71Kr$?{ z(4|%UhVzUlaT~!ljX%nfy9xV%@+TU9mP6(d_8rNmqR(y6*Xf(?MQT)4azZ>skjEH< zUja)N%`(s(7K4Q)iRz|pR!&{QT+JvTPgKecTTWJxI*ODPg&!rK#c`Kj;#r>$ted6! zS5aF(XQ8B?g#udN0XZ0}enYNd9{YGR;0r<&dtDWsKD$_5f+X$4;sTa(%wyvSa)8Ju zO+p`{qjQ?vn+nWGlupoO-$BDhp-}Mn@x4!-9#|2 zYZ>QVv8T(8#qC}BlllshH*h2PE^Bq;;tyDxs0IcG6@5j;2J)_3$Tpf%e;~S#N>W(o z#5E9-v5e-Ug~=c=Xm%IoCZ)Y-*(L&eJro{Dr)0-&mqZC`S6wAr$@2%cqV^+*9^;n+ zZO$FvidsX6W@OV)JEA#>8Y75a*eF?b5z#9&O1!^t;}A83Bna)@i*HzvdoZFXT);AT zkv?D{!{m6>g`PgJscB=mQhKR5KE8wD|gVh z>DhhHDP2zwmL6gif8%S4!iT7->~vmL_B&0*XDW*GgrYSmK0w+q{}~?!l8=b@2QRCu zaZ}mt-4hdJEPKTA!f5=ztKW##HW Dcn!#_ delta 1174 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 sw!IxSZ+0L4abN6-TN_{a`40m0Y^BVJ^%m! diff --git a/main.c b/main.c index 243c638..4a5916d 100644 --- a/main.c +++ b/main.c @@ -178,9 +178,12 @@ bool isValidDate(const char *date) { @param bookingInfo the struct to store booking information */ void collectData(const char *booking, Booking *bookingInfo) { - printf("\nHello, please Enter your Name: \n\n"); + printf("\nHello, please Enter your First Name: \n\n"); printf("cmd> "); - scanf("%s[^\n]", bookingInfo->name); + scanf("%s[^\n]", bookingInfo->first); + printf("Please Enter your Last Name: \n\n"); + printf("cmd> "); + scanf("%s[^\n]", bookingInfo->last); printf("\nWhich Class Seat would you like? (First, Premium, or Economy) \n\n"); printf("cmd> "); @@ -205,8 +208,8 @@ void collectData(const char *booking, Booking *bookingInfo) { printf("\nAny special requests? (None, Animal, ExtraMeal, ExtraSeat, Vegetarian, Vegan, Veteran): \n\n"); printf("cmd> "); - char * requestInput; - requestInput = readLine(stdin); + char requestInput[12]; + scanf("%s[^\n]", requestInput); toUpperCase(requestInput); if (strcmp(requestInput, "ANIMAL") == 0) { @@ -253,8 +256,7 @@ void bookFlight(FlightDatabase *fdatab) { printf("Oops! This flight was not found in our database. Try again!\n"); } else { collectData(flightID, &bookingInfo); - - printf("\nBooking confirmed for %s on flight %s\n", bookingInfo.name, flightID); + printf("\nBooking confirmed for %s %s on flight %s\n", bookingInfo.first, bookingInfo.last, flightID); printf("Itinerary Number: %s\n", bookingInfo.itineraryNumber); printf("Class: %s\n", (bookingInfo.userClass == FIRST) ? "First" : (bookingInfo.userClass == PREMIUM) ? "Premium" : "Economy"); printf("Date of Birth: %s\n", bookingInfo.dateOfBirth); @@ -268,41 +270,4 @@ void bookFlight(FlightDatabase *fdatab) { ); } -} - -// void collectData(const char * booking) { -// printf("\nHello, please Enter your Name: \n"); -// printf("cmd> "); -// char * read; -// read = readLine(stdin); -// char name[15]; -// attempt: -// if (sscanf(read, "%s[^\n]", name) == 1) { - -// } else { -// free(read); -// print("That was wrong, try again!") -// goto attempt -// } - - -// Class userClass; -// free(read) -// printf("\nWhich Class Seat would you like? (First, Premium, or Economy)"); -// read = readLine(stdin); -// attempt2: -// if (sscanf(read, "%s[^\n]", userClass.toUpper()) == 1) { - -// } else { -// free(read); -// print("That was wrong, try again!") -// goto attempt2 -// } - -// // Generate a random 6 digit itinerary number using the random library starting with #. for example #5ADF32 -// // Also need to collect date of birth -// // Last thing to collect is a special request. This should be another enummeration Dietary restrictions, mobility, and any special service requests (SSRs). -// // SSRs are four-character codes that identify extra services, such as extra seats, meals, or bringing animals on board. you could do ANIMAL, XTRAMEAL, XTRASEAT, VEGETARIAN, VEGAN, VETERAN - - -// } \ No newline at end of file +} \ No newline at end of file diff --git a/main.h b/main.h index cd223b5..ffd4c0c 100644 --- a/main.h +++ b/main.h @@ -25,7 +25,8 @@ typedef enum { } SpecialRequest; typedef struct { - char name[50]; + char first[20]; + char last[20]; Class userClass; char itineraryNumber[7]; char dateOfBirth[11]; diff --git a/main.o b/main.o index f91e401e365bf65a0254e2fe36d44a507757d1d0..c9e518381f1028538f376ddd573c4ea0f5e63576 100644 GIT binary patch delta 8127 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 delta 7798 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