⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 11.c

📁 一个用C做的汽车票管理系统
💻 C
📖 第 1 页 / 共 2 页
字号:
					printf("始发站:");
					printf("%s\n",f3[i]);
					printf("终点站:");
					printf("%s\n",f4[i]);
					printf("行车时间:");
					printf("%d\n",e5[i]);
					printf("额定载客数:");
					printf("%d\n",e6[i]);
					printf("已售出票数:");
					printf("%d\n",e7[i]);
				}
		}
		fclose(fp);
		return1();														/*进入返回函数*/
	}
	else if(choicen3=='d')												/*返回至售票员系统函数*/
		solder();
	else																/*防错处理,若输入错误则返回至查找函数*/
	{
		printf("没有这个选项,请重新选择");
		search();
	}
}

void return1()
{
	void search();
	char j[1];
	printf("是否返回上一级菜单( y or n ):");
	scanf("%s",&j);
	if(strcmp("y",j)==0)											/*返回至查找函数*/
		search();
	else if(strcmp("n",j)==0)										/*退出程序*/
		exit(0);
	else															/*防错处理,若输入错误则返回至return1函数*/
	{
		printf("没有这个选项,请重新输入\n");
		return1();
	}
}

void tickets()														/*追加售出车票*/
{
	FILE *fp;
	void solder();
	void return2();
	int x,y,i,e1[20],e2[20],e5[20],e6[20],e7[20];
	char f3[20][50],f4[20][50];
	fp=fopen("c:\\bus.txt","r");
	printf("请输入售出车票的车号:");
	scanf("%d",&x);
	printf("\n**********车次信息**********\n");
	for(i=0;i<m+1;i++)
	{
		fscanf(fp,"%d %d %s %s %d %d %d",&e1[i],&e2[i],&f3[i],&f4[i],&e5[i],&e6[i],&e7[i]);				/*从文件读入车次信息*/
		if (x==e1[i])												/*查找需要追加车票的车次信息并输出*/	
		{
			printf("班次:");
			printf("%d\n",e1[i]);
			printf("发车时间:");
			printf("%d\n",e2[i]);
			printf("始发站:");
			printf("%s\n",f3[i]);
			printf("终点站:");
			printf("%s\n",f4[i]);
			printf("行车时间:");
			printf("%d\n",e5[i]);
			printf("额定载客数:");
			printf("%d\n",e6[i]);
			printf("已售出票数:");
			printf("%d\n",e7[i]);
			fclose(fp);
			printf("\n请追加售出的车票数:");
			scanf("%d",&y);
			if(e7[i]+y<=e6[i])										/*判断是否超过额定载客数*/
			{
				fp=fopen("c:\\bus.txt","w");
				e7[i]+=y;
				fprintf(fp,"%d %d %s %s %d %d %d",e1[i],e2[i],f3[i],f4[i],e5[i],e6[i],e7[i]);
				printf("\n**********车次信息**********\n");
				printf("班次:");
				printf("%d\n",e1[i]);
				printf("发车时间:");
				printf("%d\n",e2[i]);
				printf("始发站:");
				printf("%s\n",f3[i]);
				printf("终点站:");
				printf("%s\n",f4[i]);
				printf("行车时间:");
				printf("%d\n",e5[i]);
				printf("额定载客数:");
				printf("%d\n",e6[i]);
				printf("已售出票数:");
				printf("%d\n",e7[i]);
				fclose(fp);
			}
			else													/*若超出额定载客数则返回至售票函数*/
			{
				printf("超出额定载客数,请重新输入!\n");
				tickets();
			}
		}
	}
	return2();														/*进入返回函数*/
}

void return2()
{
	void solder();
	char j[1];
	printf("是否返回上一级菜单( y or n ):");
	scanf("%s",&j);
	if(strcmp("y",j)==0)										/*返回至售票函数*/
		solder();
	else if(strcmp("n",j)==0)									/*退出程序*/
		exit(0);
	else														/*防错处理,若输入错误则返回至return2函数*/
	{
		printf("没有这个选项,请重新输入\n");
		return2();
	}
}

struct data *a(struct data *head)							/*登录车次信息*/
{
	struct data *p1,*p2;
	int m=0;
	n=0;
	p1=(struct data*)malloc(LEN);
	p2=(struct data*)malloc(LEN);
	p1=p2;
	system("cls");
	printf("请输入您要登录的车次号:");
	scanf("%d",&p1->number);
	printf("请输入出发时间:");
	scanf("%d",&p1->time);
	printf("请输入始发站:");
	scanf("%s",p1->strat_position);
	printf("请输入终点站:");
	scanf("%s",p1->end_position);
	printf("请输入行驶时间:"); 
	scanf("%d",&p1->long1);
	printf("请输入载客量:"); 
	scanf("%d",&p1->capacity);
	printf("请输入卖出车票数:");
	scanf("%d",&p1->sell_ticket);
	head=NULL;
	while (p1->number!=0)
 {
	n=n+1;
	if(n==1)
	head=p1;
	else p2->next=p1;
	p2=p1;
	p1=(struct data*) malloc(LEN);
	printf("请输入您要添加的车次号:");
	scanf("%d",&p1->number);
	printf("请输入出发时间:");
	scanf("%d",&p1->time);
	printf("请输入始发站:");
	scanf("%s",p1->strat_position);
	printf("请输入终点站:");
	scanf("%s",p1->end_position);
	printf("请输入行驶时间:"); 
	scanf("%d",&p1->long1);
	printf("请输入载客量:"); 
	scanf("%d",&p1->capacity);
	printf("请输入卖出车票数:");
	scanf("%d",&p1->sell_ticket);
}
	p2->next=NULL;
	printf("已成功建立!");

	return(head);
}

struct data *insert(struct data *head)						/*插入车次信息*/
{	
	struct data *p0,*p1,*p2;
	system("cls");
	printf("欢迎来到车次信息添加系统!\n");
	printf("请输入您要添加的车次号:");
	scanf("%d",&datas.number);
	printf("请输入出发时间:");
	scanf("%d",&datas.time);
	printf("请输入始发站:");
	scanf("%s",datas.strat_position);
	printf("请输入终点站:");
	scanf("%s",datas.end_position);
	printf("请输入行驶时间:"); 
	scanf("%d",&datas.long1);
	printf("请输入载客量:"); 
	scanf("%d",&datas.capacity);
	printf("请输入卖出车票数:");
	scanf("%d",&datas.sell_ticket);
	p1=head;
	p0=&datas;
	if
	(head==NULL)
	{head=p0;
	p0->next=NULL;}
	else 
	{
		while((p0->number>p1->number)&&(p1->next!=NULL))
		{
			p2=p1;
			p1=p1->next;
		}
		if(p0->number<=p1->number)
		{
			if (head==p1)head=p0;
			else p2->next=p0;
			p0->next=p1;
		}
		else
		{
			p1->next=p0;p0->next=NULL;
		}
	}
	n=n+1;
	printf("已成功插入!");
	return (head);
}

struct data *b(struct data *head)						/*删除已登录的车次信息*/
{
	struct data *p3=NULL,*p4=NULL;
	int n2;
	system("cls");
	printf("欢迎来到删除车次信息系统!\n");
	printf("请输入您要删除的车次:\n");
	scanf("%d",&n2);
	if (head==NULL)
	printf("错误!\n");
	p3=head;
	while (n2!=p3->number&&p3->next!=NULL)
	{
		p4=p3;
		p3=p3->next;
	}
	if(n2==p3->number)
	{
		if(p3==head)
		head=p3->next;
		else p4->next=p3->next;
		printf("已成功删除:%d 号车次信息!",n2);
		n2=n2-1;
	}
	else printf("没有找到该车次信息!\n",n2);
	return (head);
}

struct data *c(struct data *head)					/*更改已登录的车次信息*/
{
	int n3;
	system("cls");
	printf("欢迎来到更改信息系统!\n");
	printf("请输入您要更改的车次号:\n");
	scanf("%d",&n3);
	p=head;
	while(p!=NULL)
	{
		if(n3==p->number)
		{
			printf("请输入出发时间:");
			scanf("%d",&p->time);
			printf("请输入始发站:");
			scanf("%s",p->strat_position);
			printf("请输入终点站:");
			scanf("%s",p->end_position);
			printf("请输入行驶时间:"); 
			scanf("%d",&p->long1);
			printf("请输入载客量:"); 
			scanf("%d",&p->capacity);
			printf("请输入卖出车票数:");
			scanf("%d",&p->sell_ticket);
			break;
		}
		p=p->next;
	}
	printf("已成功更改车次信息!");
	return (head);
}

void print(struct data *head)
{
	p=head;
	system("cls");
	if(head!=NULL)
	printf("\n******************************车次信息******************************\n");
	printf("********************************************************************\n");
	do
	{
		printf("**车号**发车时间**始发站**终点站**行车时间**额定载客数**已售出票数**\n");
		printf("** %d  ** %d      ** %s    ** %s    ** %d      ** %d        ** %d        **\n",p->number,p->time,p->strat_position,p->end_position,p->long1,p->capacity,p->sell_ticket);
		p=p->next;
	}
	while(p!=NULL);
	printf("********************************************************************\n");
	printf("********************************************************************\n");
}

void main ()
{
	void mmenu();
	mmenu();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -