#include<stdio.h>#include <stdlib.h>#include <string.h>#define MAX_TICKETS 100#pragma warning(disable:4996)int main() { void add_ticket(); void delete_ticket(); void modify_ticket(); void search_ticket(); struct Ticket; int choice; do { printf("1. 添加车票"); printf("2. 删除车票"); printf("3. 修改车票"); printf("4. 查询车票"); printf("0. 退出"); printf("请输入操作编号:"); scanf("%d", &choice); switch (choice) { case 1: add_ticket(); break; case 2: delete_ticket(); break; case 3: modify_ticket(); break; case 4: search_ticket(); break; case 0: printf("退出程序"); break; default: printf("无效的操作编号"); break; } } while (choice != 0); return 0; } struct Ticket { char name[50]; int id; char departure[50]; char destination[50]; int price; }; struct Ticket tickets[MAX_TICKETS]; int num_tickets = 0; void add_ticket(){//实现添加的功能 struct Ticket ticket; printf("请输入乘客姓名:"); scanf("%s", ticket.name); printf("请输入车票编号:"); scanf("%d", &ticket.id); printf("请输入出发地:"); scanf("%s", ticket.departure); printf("请输入目的地:"); scanf("%s", ticket.destination); printf("请输入车票价格:"); scanf("%d", &ticket.price); tickets[num_tickets++] = ticket; printf("添加成功!\n"); } void delete_ticket() { int id; printf("请输入要删除的车票编号:"); scanf("%d", &id); int index = -1; for (int i = 0; i < num_tickets; i++) { if (tickets[i].id == id) { index = i; break; } } if (index == -1) { printf("未找到该车票!\n"); } else { for (int i = index; i < num_tickets - 1; i++) { tickets[i] = tickets[i + 1]; } num_tickets--; printf("删除成功!\n"); } } void modify_ticket() { int id; printf("请输入要修改的车票编号:"); scanf("%d", &id); int index = -1; for (int i = 0; i < num_tickets; i++) { if (tickets[i].id == id) { index = i; break; } } if (index == -1) { printf("未找到该车票!\n"); } else { struct Ticket ticket; printf("请输入新的乘客姓名:"); scanf("%s", ticket.name); printf("请输入新的出发地:"); scanf("%s", ticket.departure); printf("请输入新的目的地:"); scanf("%s", ticket.destination); printf("请输入新的车票价格:"); scanf("%d", &ticket.price); tickets[index] = ticket; printf("修改成功!\n"); } void search_ticket(); { int id; printf("请输入要查询的车票编号:"); scanf("%d", &id); int index = -1; for (int i = 0; i < num_tickets; i++) { if (tickets[i].id == id) { index = i; } }}}
修改如下,大致改了,能运行,功能细节你自己优化吧
#include<stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_TICKETS 100
int main() {
void add_ticket();
void delete_ticket();
void modify_ticket();
void search_ticket();
struct Ticket;
int choice;
do {
printf("1. 添加车票\n");
printf("2. 删除车票\n");
printf("3. 修改车票\n");
printf("4. 查询车票\n");
printf("0. 退出\n");
printf("请输入操作编号:");
scanf("%d", &choice);
switch (choice) {
case 1: add_ticket();
break;
case 2: delete_ticket();
break;
case 3: modify_ticket();
break;
case 4: search_ticket();
break;
case 0: printf("退出程序");
break;
default: printf("无效的操作编号");
break;
}
}
while (choice != 0);
return 0;
}
struct Ticket {
char name[50];
int id;
char departure[50];
char destination[50];
int price;
};
struct Ticket tickets[MAX_TICKETS];
int num_tickets = 0;
void add_ticket() {
struct Ticket ticket;
printf("请输入乘客姓名:");
scanf("%s", ticket.name);
printf("请输入车票编号:");
scanf("%d", &ticket.id);
printf("请输入出发地:");
scanf("%s", ticket.departure);
printf("请输入目的地:");
scanf("%s", ticket.destination);
printf("请输入车票价格:");
scanf("%d", &ticket.price);
tickets[num_tickets++] = ticket;
printf("添加成功!\n");
}
void delete_ticket() {
int id;
printf("请输入要删除的车票编号:");
scanf("%d", &id);
int index = -1;
for (int i = 0; i < num_tickets; i++) {
if (tickets[i].id == id) {
index = i;
break;
}
}
if (index == -1) {
printf("未找到该车票!\n");
} else {
for (int i = index; i < num_tickets - 1; i++) {
tickets[i] = tickets[i + 1];
}
num_tickets--;
printf("删除成功!\n");
}
}
void modify_ticket() {
int id;
printf("请输入要修改的车票编号:");
scanf("%d", &id);
int index = -1;
for (int i = 0; i < num_tickets; i++) {
if (tickets[i].id == id) {
index = i;
break;
}
}
if (index == -1) {
printf("未找到该车票!\n");
} else {
struct Ticket ticket;
getchar();
printf("请输入新的乘客姓名:");
scanf("%s", ticket.name);
getchar();
printf("请输入新的出发地:");
scanf("%s", ticket.departure);
getchar();
printf("请输入新的目的地:");
scanf("%s", ticket.destination);
printf("请输入新的车票价格:");
scanf("%d", &ticket.price);
tickets[index] = ticket;
printf("修改成功!\n");
}
}
void search_ticket() {
int id;
printf("请输入要查询的车票编号:");
scanf("%d", &id);
int index = -1;
for (int i = 0; i < num_tickets; i++) {
if (tickets[i].id == id) {
index = i;
}
}
if (index != -1)
{
printf("乘客姓名:%s\n", tickets[index].name);
printf("出发地:%s\n", tickets[index].departure);
printf("目的地:%s\n", tickets[index].destination);
printf("车票价格:%d\n", tickets[index].price);
}
else
printf("Not Found!!!");
}
你这不排版下吗