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;
}
相关推荐
JSU_曾是此间年少3 分钟前
数据结构——线性表与链表
数据结构·c++·算法
sjsjs1110 分钟前
【数据结构-合法括号字符串】【hard】【拼多多面试题】力扣32. 最长有效括号
数据结构·leetcode
朱一头zcy1 小时前
C语言复习第9章 字符串/字符/内存函数
c语言
此生只爱蛋1 小时前
【手撕排序2】快速排序
c语言·c++·算法·排序算法
blammmp1 小时前
Java:数据结构-枚举
java·开发语言·数据结构
何曾参静谧1 小时前
「C/C++」C/C++ 指针篇 之 指针运算
c语言·开发语言·c++
昂子的博客1 小时前
基础数据结构——队列(链表实现)
数据结构
咕咕吖1 小时前
对称二叉树(力扣101)
算法·leetcode·职场和发展
九圣残炎2 小时前
【从零开始的LeetCode-算法】1456. 定长子串中元音的最大数目
java·算法·leetcode
lulu_gh_yu2 小时前
数据结构之排序补充
c语言·开发语言·数据结构·c++·学习·算法·排序算法