Kurisu Rin
Kilopat
- Katılım
- 26 Nisan 2015
- Mesajlar
- 123
Main fonksiyonuyla deniyorsunuz umarım? Yani
Bu şekilde çalıştı OnlineGDB'de.
int main(){return 0;}
gibi.Bu şekilde çalıştı OnlineGDB'de.
C++:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// Structure to store passenger information
struct passenger {
char name[50];
char departure[50];
char arrival[50];
char date[10];
int seat_number;
struct passenger* next;
};
// Global head pointer of the linked list
struct passenger* head = NULL;
int checkDuplicate(char* name);
// Function to add a new passenger
void addPassenger() {
struct passenger* newPassenger = (struct passenger*)malloc(sizeof(struct passenger));
printf("Enter passenger name: ");
scanf("%s", newPassenger->name);
// Check for duplicate passenger
if (checkDuplicate(newPassenger->name)) {
printf("Passenger with the same name already exists.\n");
free(newPassenger);
return;
}
printf("Enter departure: ");
scanf("%s", newPassenger->departure);
printf("Enter arrival: ");
scanf("%s", newPassenger->arrival);
printf("Enter date: ");
scanf("%s", newPassenger->date);
printf("Enter seat number: ");
scanf("%d", &(newPassenger->seat_number));
newPassenger->next = NULL;
if (head == NULL) {
head = newPassenger;
} else {
struct passenger* current = head;
while (current->next != NULL) {
current = current->next;
}
current->next = newPassenger;
}
printf("Passenger added successfully.\n");
}
// Function to check for duplicate passenger
int checkDuplicate(char* name) {
struct passenger* current = head;
while (current != NULL) {
if (strcmp(current->name, name) == 0) {
return 1; // Duplicate found
}
current = current->next;
}
return 0; // No duplicate found
}
// Function to delete a passenger
void deletePassenger() {
if (head == NULL) {
printf("No passengers in the list.\n");
return;
}
char name[50];
printf("Enter passenger name to delete: ");
scanf("%s", name);
struct passenger* current = head;
struct passenger* prev = NULL;
while (current != NULL) {
if (strcmp(current->name, name) == 0) {
if (prev == NULL) {
head = current->next;
} else {
prev->next = current->next;
}
free(current);
printf("Passenger deleted successfully.\n");
return;
}
prev = current;
current = current->next;
}
printf("Passenger not found.\n");
}
// Function to search and display passenger information
void searchPassenger() {
if (head == NULL) {
printf("No passengers in the list.\n");
return;
}
char name[50];
printf("Enter passenger name to search: ");
scanf("%s", name);
struct passenger* current = head;
while (current != NULL) {
if (strcmp(current->name, name) == 0) {
printf("Name: %s\n", current->name);
printf("Departure: %s\n", current->departure);
printf("Arrival: %s\n", current->arrival);
printf("Date: %s\n", current->date);
printf("Seat Number: %d\n", current->seat_number);
return; // exit function when passenger found
}
current = current->next;
}
printf("Passenger not found.\n");
}
int main(){return 0;}
Son düzenleyen: Moderatör: