C语言航空售票系统

以下是系统部分页面

以下是部分源码,需要源码的私信

cpp 复制代码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define max_user 100
typedef struct ft
{
	char name[50];//名字
	char start_place[50];//出发地
	char end_place[50];//目的地
	char date[50];//发车日期
	char flight_time[50];//运行时间
	int ticket_price;//票价
	int total;//总票数
	int surplus;//剩余票数
	ft* next;
}flight;
flight L;//创建头结点

typedef struct us//用户使用
{
	char name[50];
	char id[50];
	char phone[20];
	char flight_name[50];//车次信息
	int flighr_price;//价钱
}User;//用户信息
User UL[max_user];//创建头结点
int count_user = 0;

int choose_()//定义选择函数------后期只需要进行调用就行--不需要重复写
{
	while (1)
	{
		printf("请输入你的选择:");
		int c;
		scanf("%d", &c);
		printf("\n");
		if (c == 1)
		{
			return 1;
		}
		else if (c == 2)
		{
			return 2;
		}
		else if (c == 3)
		{
			return 3;
		}
		else if (c == 0)
		{
			return 0;
		}
		else if (c == 4)
		{
			return 4;
		}
		else if (c == 5)
		{
			return 5;
		}
		else if (c == 6)
		{
			return 6;
		}
		else if (c == 7)
		{
			return 7;
		}
		else
		{
			printf("输入错误,请重新输入\n");
		}
	}

}

int InitList_flight()//初始化航班信息
{
	L.next = NULL;
	FILE* fp = fopen("./flight.txt", "r");
	if (!fp)
	{
		printf("打开文件失败\n");
		return 0;
	}
	flight* p = &L;
	flight* q;
	q = (flight*)malloc(sizeof(flight));
	if (!q)
	{
		printf("q--malloc失败\n");
		return 0;
	}
	while (fscanf(fp, "%s%s%s%s%s%d%d%d", q->name, q->start_place, q->end_place, q->date, q->flight_time, &q->ticket_price, &q->total, &q->surplus) != EOF)
	{
		p->next = q;
		p = q;
		q = (flight*)malloc(sizeof(flight));
		if (!q)
		{
			printf("q--malloc失败\n");
			return 0;
		}
	}
	p->next = NULL;
	fclose(fp);
	return 0;
}


int Updata_flight()//用来更新航班信息
{
	FILE* fp = fopen("./flight.txt", "w+");
	if (!fp)
	{
		printf("打开文件失败\n");
		return 0;
	}
	flight* q = L.next;
	while (q != NULL)
	{
		fprintf(fp, "%s %s %s %s %s %d %d %d\n", q->name, q->start_place, q->end_place, q->date, q->flight_time, q->ticket_price, q->total, q->surplus);
		q = q->next;
	}
	fclose(fp);
	return 0;
}

int Add_flight()
{
	flight* p = L.next;
	flight* q;
	q = (flight*)malloc(sizeof(flight));
	if (!q)
	{
		printf("q--malloc失败\n");
		return 0;
	}
	printf("******************航班信息录入*****************\n");
	printf("请输入航班名称:");
	scanf("%s", q->name);
	printf("请输入出发地:");
	scanf("%s", q->start_place);
	printf("请输入目的地:");
	scanf("%s", q->end_place);
	printf("请输入发车日期:");
	scanf("%s", q->date);
	printf("请输入运行时间:");
	scanf("%s", q->flight_time);
	printf("请输入票价:");
	scanf("%d", &q->ticket_price);
	printf("请输入总票数:");
	scanf("%d", &q->total);
	
	q->surplus = q->total;
	L.next = q;
	q->next = p;
	Updata_flight();
	printf("添加成功\n");
	return 0;

}

int modifiction_flight()
{
	printf("请输入你想修改的航班名称:");
	char name[50];
	scanf("%s", name);
	flight* q = L.next;
	while (q != NULL)
	{
		if (strcmp(name, q->name) == 0)//找到该航班
		{
			printf("******************信息修改******************\n");
			printf("请输入航班名称:");
			scanf("%s", q->name);
			printf("请输入出发地:");
			scanf("%s", q->start_place);
			printf("请输入目的地:");
			scanf("%s", q->end_place);
			printf("请输入发车日期:");
			scanf("%s", q->date);
			printf("请输入运行时间:");
			scanf("%s", q->flight_time);
			printf("请输入票价:");
			scanf("%d", &q->ticket_price);
			printf("请输入总票数:");
			scanf("%d", &q->total);
			printf("请输入剩余票数:");
			scanf("%d", &q->surplus);

			Updata_flight();
			printf("修改成功\n");
			return 0;
		}
		q = q->next;
	}
	printf("未找到该航班\n");
	return 0;
}
相关推荐
dragoooon342 分钟前
[hot100 NO.62~67]
算法
你撅嘴真丑6 分钟前
求矩阵的两对角线上的元素之和 与 sizeof的大作用
线性代数·算法·矩阵
程序员三明治10 分钟前
【面试手撕】如何构造二叉树输入用例?ACM模式,路径总和2解题思路
算法·leetcode·面试·acm·构造二叉树·路径总和
better_liang17 分钟前
Java技术栈中的MySQL数据结构应用与优化
java·数据结构·mysql·性能调优·索引优化
干前端22 分钟前
Message组件和Vue3 进阶:手动挂载组件与 Diff 算法深度解析
javascript·vue.js·算法
ゞ 正在缓冲99%…24 分钟前
2025.12.17华为软开
java·算法
qq_5895681030 分钟前
centos6.8版本虚拟机使用过程中的问题解决
数据结构·centos·list·esc键盘
子午30 分钟前
【2026原创】文本情感识别系统~Python+深度学习+textCNN算法+舆情文本+模型训练
python·深度学习·算法
Flash.kkl31 分钟前
递归、搜索与回溯算法概要
数据结构·算法
s090713631 分钟前
【MATLAB】多子阵合成孔径声纳(SAS)成像仿真——基于时域反向投影(BP)算法
算法·matlab·bp算法·合成孔径