分享
2023年学生管理系统 客车管理系统.doc
下载文档

ID:1342593

大小:29KB

页数:16页

格式:DOC

时间:2023-04-20

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023年学生管理系统 客车管理系统 2023 学生 管理 系统 客车
C程序设计 [题目编号] C02 [题目名称] 客车票务管理 [设计目的] 1、熟悉结构体数组定义、使用、输入、输出等根本操作 2、掌握文件的根本操作 [题目内容] 假设每天从A市开往B市的客车有假设干个班次,数据格式如下: 班次 发车时间 载客量 已售票数 1 6:50 50 0 2 9:00 40 0 3 11:20 40 0 4 13:30 30 0 5 16:40 40 0 请按以下要求开发一个程序,完成每天的售票业务。 1.设计客车班次数据的存储格式。 2.实现键盘录入或从文件导入客车班次信息。 3.实现售票功能〔某个班次已经过了开车时间,或已无剩票,那么该班次今天不再售票〕。 4.显示当前售票情况。 5.保存当天数据。 6.设计简单的菜单界面。 7.在报告中画出程序流程图,说明程序设计的算法,附完整程序代码。 8.在报告中说明程序设计过程中出现的问题、解决方法及编程小结或体会。 客车票务管理程序: #include<stdio.h> #include<stdlib.h> #include<string.h> struct ticket { char number[4]; char time[10]; int otal; int ver; }tic[]={{"1","6:50",50,0},{"2","9:00",40,0},{"3","11:20",40,0},{"4","13:30",30,0},{"5","16:40",40,0}}; int N=5; void input()//输入售车票的信息 // { int i; char xp="ticket.txt"; FILE xfp; if ((fp=fopen("ticket.txt","w"))==NULL) { printf("cannot Open file\n"); exit(0); } printf("从A到B班次 时间 总票数 已售票数:\n"); for(i=0;i<N;i++) { getchar(); printf("%s\t%s\t%d\t%d",tic[i].number,tic[i].time,tic[i].total,tic[i].over); printf("\n"); } for(i=0;i<N;i++) fread(&tic[i],sizeof(struct ticket),1,fp); fclose(fp); } void seek()//查寻售票的信息// { int i,flag; char s[4]; printf("请输入查询的班次:\n"); scanf("%s",s); for(i=0;i<N;i++) if(strcmp(tic[i].number,s)==0) { flag=1; printf("该班次的信息:\n"); printf("班次 发车时间 总票数 已售票\n"); printf("%s\t%s\t%d\t%d",tic[i].number,tic[i].time,tic[i].total,tic[i].over); } if(flag==0)printf("无此班次!\n"); } void buy()//乘客售票// { int i,flag=0,n,b; char s[4]; printf("请输入所购的班次:\n"); scanf("%s",&s); for(i=0;i<N;i++) if(strcmp(tic[i].number,s)==0) { flag=1; b=tic[i].total-tic[i].over; printf("剩余票数:\n"); printf("%d\n",b); if(b==0) { printf("请重新选择!\n"); break; } printf("请选择购置的票数:\n"); scanf("%d",&n); if(n>b) {printf("选择票数超出,请重新输入!"); break; } else { printf(" 购置成功!祝您旅途愉快! \n\n"); printf("xxx以下是您所买票的信息xxx\n\n"); printf("班次%d 发车时间%s 购置票数 %d",b,tic[i].time,n); } tic[i].over+=n;break; } if(flag==0)printf("无此班次!请重新选择:\n"); } void display()//显示当前售票情况// { int i; printf("当前售票情况:\n"); printf("班次 发车时间 总票数 已售票\n"); for(i=0;i<N;i++) printf("%s\t%s\t%d\t%d\n",tic[i].number,tic[i].time,tic[i].total,tic[i].over); } void save()//保存修改// { int i,flag=0; FILE xfp; fp=fopen("ticket.txt","w"); for(i=0;i<N;i++) if(fwrite(&tic[i],sizeof(struct ticket),1,fp)!=1) printf("file write error!"); fclose(fp); printf("保存成功!"); } void main() { int select,k; while (k=1) { printf("\nxxxxxx客车售票管理菜单xxxxxx\n"); printf("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n"); printf(" xx1.显示车票信息xx \n"); printf(" xx2.查询车票信息xx \n"); printf(" xx3.乘客车票购置xx \n"); printf(" xx4.显示当前信息xx \n"); printf(" xx5.保存售票信息xx \n"); printf(" xx0.退出售票信息xx \n"); printf("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n"); scanf("%d",&select); getchar(); switch(select) { case 1:input();break; case 2:seek();break; case 3:buy();break; case 4:display();break; case 5:save();break; case 0:return; default:printf("输入错误请重新输入!\n"); } } } 编程的问题和体会: 1. 没有熟练的掌握结构体定义和应用等,文件的输入和输出。文件的翻开与保存,以及指针的应用。 2. 编程序太少,没有对大一点的程序进行练习,缺少经验。 3. 欠缺程序总体结构的思考。 4. 以后对程序多进行练习,和对结构体,指针,文件多看,多练习,掌握这方面的知识。 客车票务管理程序: #include<stdio.h> #include<stdlib.h> #include<string.h> struct ticket { char number[4]; char time[10]; int otal; int ver; }tic[]={{"1","6:50",50,0},{"2","9:00",40,0},{"3","11:20",40,0},{"4","13:30",30,0},{"5","16:40",40,0}}; int N=5; void input()//输入售车票的信息 // { int i; char xp="ticket.txt"; FILE xfp; if ((fp=fopen("ticket.txt","w"))==NULL) { printf("cannot Open file\n"); exit(0); } printf("从A到B班次 时间 总票数 已售票数:\n"); for(i=0;i<N;i++) { getchar(); printf("%s\t%s\t%d\t%d",tic[i].number,tic[i].time,tic[i].total,tic[i].over); printf("\n"); } for(i=0;i<N;i++) fread(&tic[i],sizeof(struct ticket),1,fp); fclose(fp); } void seek()//查寻售票的信息// { int i,flag; char s[4]; printf("请输入查询的班次:\n"); scanf("%s",s); for(i=0;i<N;i++) if(strcmp(tic[i].number,s)==0) { flag=1; printf("该班次的信息:\n"); printf("班次 发车时间 总票数 已售票\n"); printf("%s\t%s\t%d\t%d",tic[i].number,tic[i].time,tic[i].total,tic[i].over); } if(flag==0)printf("无此班次!\n"); } void buy()//乘客售票// { int i,flag=0,n,b; char s[4]; printf("请输入所购的班次:\n"); scanf("%s",&s); for(i=0;i<N;i++) if(strcmp(tic[i].number,s)==0) { flag=1; b=tic[i].total-tic[i].over; printf("剩余票数:\n"); printf("%d\n",b); if(b==0) { printf("请重新选择!\n"); break; } printf("请选择购置的票数:\n"); scanf("%d",&n); if(n>b) {printf("选择票数超出,请重

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开