列车时刻表信息管理系统实践报告C语言源代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include"stdio.h"
#include"stdlib.h"
#include"string.h"/*定义头文件,处理文件及字符数组时要用到相应功能*/
#define N 10
void fmenu()
{
system("cls");
printf("************************欢迎使用苏州列车时刻表信息管理系统v1.20*****************\n");
printf("\t\t\t\t %c1. 查询列车\n",3);
printf("\n");
printf("\t\t\t\t %c2. 修改列车\n",3);
printf("\n");
printf("\t\t\t\t %c3. 增加列车\n",3);
printf("\n");
printf("\t\t\t\t %c4. 取消列车\n",3);
printf("\n");
printf("\t\t\t\t %c5. 保存信息\n",3);
printf("\n");
printf("\t\t\t\t %c0. 退出\n",3);
printf("********************************************************************* ***********\n");
printf("请选择要执行的操作:\n");/*菜单程序,用于各种功能的选择*/
}
struct train/*定义结构体*/
{
char name[8];
char checi[6];
int year;
int month;
int day;
int hour;
int minute;
}lieche[N];/*定义一个结构体数组*/
void paixu(struct train *p);/*函数声明*/
void chaxun(struct train *p)/*子程序,其功能是查询列车*/
{
paixu(lieche);/*先排序一下,方便查看*/
char a[8];/*定义一个字符数组,输入要查询的列车*/
int k=0,i,c;
printf("请输入要查询的列车:\n");
scanf("%s",a);
for(i=0;i { if(strcmp(p[i].name,a)==0) { printf("苏州—%s\t%s(车次)\t%d年%d月%d日\t%d:%02d\n",p[i].name,p[i].checi,p[i].year,p[i].month,p[i].day,p[i].hour,p[i].minute);/*将所查列车的信息全部打出*/ k++; } } if(k==0) printf("抱歉,没有这趟列车\n");/*没有查到时,打出通知*/ printf("按1 继续,按0 退出\n");/*选择继续或者退出*/ scanf("%d",&c); if(c!=0) chaxun(lieche); } void xiugai(struct train *p)/*子程序,用于修改列车时间*/ { char a[8],b[6]; int i,x,c,k=0,h,mi,y,m,d,q; printf("请输入要修改的列车:\n"); scanf("%s",a); for(i=0;i { if(strcmp(p[i].name,a)==0) { printf("苏州—%s\t%s()车次\t%d年%d月%d日\t%d:%02d\n",p[i].name,p[i].checi,p[i].year,p[i].month,p[i].day,p[i].hour,p[i].minute); printf("要修改这趟列车吗?\n1.是0.否\n"); scanf("%d",&q); if(q==1) { printf("请输入修改后的车次:\n"); scanf("%s",b); printf("请输入修改后的年月日:\n"); scanf("%d%d%d",&y,&m,&d); scanf("%d%d",&h,&mi); printf("确定修改吗?\n1.是2.否\n");/*选择是否确定修改列车时间,防止错误操作*/ scanf("%d",&x); if(x==1) { strcpy(p[i].checi,b); p[i].year=y; p[i].month=m; p[i].day=d; p[i].hour=h; p[i].minute=mi; printf("已经修改此列车"); } } k++; } } if(k==0) printf("抱歉,没有这趟列车\n");/*没有查到时,打出通知*/ printf("按1 继续,按0 退出\n"); scanf("%d",&c); if(c!=0) xiugai(lieche); } void zengjia(struct train *p)/*子程序,用于列车增加*/ { struct train a; char b[]={"0000000"};/*空白位置,在此处插入所填列车*/ int x,c,i; printf("请输入要增加的列车目的地:\n"); scanf("%s",); printf("请输入修改后的车次:\n"); scanf("%s",a.checi); printf("请输入所增加列车的年月日:\n"); scanf("%d%d%d",&a.year,&a.month,&a.day); printf("请输入所增加列车的小时和分钟:\n"); scanf("%d%d",&a.hour,&a.minute); printf("确定要增加这一趟列车吗?\n1.是0.否\n"); scanf("%d",&x); if(x==1) for(i=0;i { if(strcmp(p[i].name,b)==0) { strcpy(p[i].name,); strcpy(p[i].checi,a.checi); p[i].year=a.year; p[i].month=a.month; p[i].day=a.day; p[i].hour=a.hour; p[i].minute=a.minute;