机票订购系统.doc_第1页
机票订购系统.doc_第2页
机票订购系统.doc_第3页
机票订购系统.doc_第4页
机票订购系统.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据结构课程项目实施方案一、项目名称: 机票订购系统二、项目要求及系统基本功能 利用数据结构的知识独立完成一个应用系统设计 程序正常运行,能够实现基本的数据增加、删除、修改、查询等功能 体现程序实现算法复杂度优化 体现程序的健壮性系统预期实现基本功能:(结合本系统预期具体实现,描述出对应基本要求(增、删、改、查等)的具体功能)1. 增加航班信息 2. 修改航班信息 3. 查询航班信息 4. 订购机票 5. 退订机票 6. 备份恢复航班信息 7. 进入系统需要密码,并且密码可修改 8. 分为Admin和Client用户,不同用户权限不同,并且可修改 三、项目组成员及任务分配(基本分为组织实施组织、程序功能模块编写、系统说明撰写等。其中程序功能子模块实现每一个成员都要分配)组长:许峥 10160400113主要任务:排序 账户信息的修改 修改和删除航班信息 主程序调试 项目报告制作组员:高家乐 10160400109主要任务:程序的主题框架 增加航班信息 查找航班信息 主程序调试 源代码编写组员:杨柳 10160400102主要任务:数据的备份与恢复 LOGO制作 菜单的制作以及 主程序调试 流程图制作四、系统设计算法描述(用文字结合框图描述系统功能主要实现算法思路等,即使用自然语言描述系统实现)1、 修改航班信息:可以用来修改航班的具体信息,可以按照航班号来查询航班的主要信息以便修改。2、 查询航班信息:可以用来查询航班的具体信息,可以按照航班号来查询具体信息。3、 增加航班信息:可以选择在任何一个航班的后面插入该航班的信息,同样可以按照航班号来插入。4、 删除航班信息:可以按照航班号来删除航班的信息。5、 顶退票功能:可以订购和退订机票。6、 系统登录及密码管理:本程序分为Admin和Client两个账户,不同账户不同功能,而且账户名,密码以及权限都可以修改。7、 保存及备份:本程序可以保存和备份航班信息,而且可以指定路径,所保存的信息包括航班的各项信息。五、系统实现程序程序流程图(主要以程序流程图的形式体现各函数之间的运行调用关系)程序源代码/*程序名称:飞机订票系统 */*团队成员:组长:许铮*/* 组员: 欧阳益 */*完成时间:2011年6月3日 */#include#include#include#include#include#define ACCOUNTS 2#define MAX 20typedef struct char name20;double id;guestinf;typedef structchar PlaneID5;char PlantUp5;char PlaneDown5;double value;int chair;char startMAX;char endMAX;guestinf gueinfMAX;plane;typedef structchar name20;char password10;int type;account;void welcome()printf(ttt n);printf(ttt n);printf(ttt n);printf(ttt n);printf(ttt n);printf(ttt n);printf(ttt n);printf(ttt n);system(color 48);Sleep(300);system(color 48);Sleep(300);system(color 7C);Sleep(300);system(color 0F);int password()system(color 0c);FILE *pw;account accountsACCOUNTS;/*存储账户信息*/account pwtry;/*存储用户输入的账户信息*/strcpy(,Admin);strcpy(accounts0.password,neusoft);accounts0.type=1;strcpy(,Client);strcpy(accounts1.password,ese10001);accounts1.type=2;int i;pw=fopen(password.txt,r);if(NULL=pw)printf(本程序的Admin的初始密码为neusoft,Client初始密码为ese10001n);pw=fopen(password.txt,w);fprintf(pw,%10s %10s %1d,,accounts0.password,accounts0.type);fprintf(pw,%10s %10s %1d,,accounts1.password,accounts1.type);fclose(pw);Sleep(3000);return 1;elsefor(i=0;iACCOUNTS;i+)if(feof(pw)printf(load error);break;elsefscanf(pw,%10s %10s %1d,,accountsi.password,&accountsi.type);int repeat=max(strlen(accounts0.password),strlen(accounts1.password);printf(nnnnnnnnnnnn);printf(tttt请输入用户名);scanf(%s,);printf(tttt请输入密码);for(i=0;irepeat;i+)pwtry.passwordi=getch();printf(*);if(13=pwtry.passwordi)break;printf(n);for(i=0;iACCOUNTS;i+)if(0=(strncmp(accountsi.password,pwtry.password,strlen(accountsi.password)&(0=strncmp(,,strlen()system(cls);printf(tttt密码正确,欢迎进入本系统!n);fclose(pw);Sleep(300);system(color c0);Sleep(300);system(color 0c);Sleep(300);system(color c0);Sleep(300);return accountsi.type;printf(atttt用户名或者密码错误!即将退出!);fclose(pw);Sleep(1000);exit(1);int changeuserfile()char password110,password210;account pwtry;int i,n;FILE *pw;account accountsMAX;pw=fopen(password.txt,r);for(i=0;iMAX;i+)if(feof(pw)break;elsefscanf(pw,%10s %10s %1d,,accountsi.password,&accountsi.type);printf(请输入用户名);scanf(%s,);printf(请输入密码);for(i=0;i10;i+)pwtry.passwordi=getch();printf(*);if(pwtry.passwordi=13)break;for(i=0;iMAX;i+)if(!(strncmp(,pwtry.password,strlen(accountsi.password)&(strncmp(,,strlen(accountsi.password)printf(n请输入新的账户名);scanf(%s,);printf(请输入新密码);scanf(%s,password1);printf(请再次输入);scanf(%s,password2);while(1)printf(请输入账户类型(1 admin,2 client);scanf(%d,&accountsi.type);if(accountsi.type!=1&accountsi.type!=2)printf(输入错误,请重新输入);elsebreak;if(0=strcmp(password1,password2)strcpy(accountsi.password,password1);pw=fopen(password.txt,w);for(i=0;iMAX;i+)fprintf(pw,%10s %10s %d,,accountsi.password,accountsi.type);fclose(pw);printf(修改成功!n);return 1;elseprintf(两次输入的密码不一致,修改错误!n);return 0;int AddInf(plane *p)int i=0;while(pi.chair!=0&i10)i+;printf(请输入航班号n);scanf(%s,pi.PlaneID);printf(请输入起飞时间);scanf(%s,&pi.PlantUp);printf(请输入降落时间);scanf(%s,&pi.PlaneDown);printf(请输入票价);scanf(%lf,&pi.value);printf(请输入座位数);scanf(%d,&pi.chair);printf(请输入起飞地点n);scanf(%s,pi.start);printf(请输入降落地点n);scanf(%s,pi.end);return 0;int Num(plane *p)int i,j=0;for(i=0;iPlaneID,NULL)j+;return j;int All(plane *p)int i,j;j=Num(p);for(i=0;ij;i+)printf(t航班号t起飞时间t降落时间t起飞地点t降落地点t票价t剩余座位数n);printf(t%st%st%st%20st%20st%lft%d,pi.PlaneID,pi.PlantUp,pi.PlaneDown,pi.start,pi.end,pi.value,pi.chair);return 1;int IDtoNum(plane *p,char *q)int i;for(i=0;igueinf-name);printf(请输入您的身份证号);scanf(%lf,&p-gueinf-id);p-chair-;return 1;int Sellticks(plane *p)int k,j;char PlaneID5;char *q;q=PlaneID;char nameMAX;double id;printf(请输入要购票的航班号);scanf(%s,PlaneID);int i=IDtoNum(p,q);if(i=-1)printf(没有这个航班);return 0;elseprintf(请输入您的姓名);scanf(%s,name);printf(请输入您的身份证号);scanf(%lf,&id);for(k=0;k10;k+)for(j=0;jPlaneID,NULL);printf(取消成功!n);return 0;int recovery(plane *p)return 0;int backup(plane *p)FILE *bac;char back20;printf(请输入要保存的文件名);scanf(%s,back);bac=fopen(back,w);int i;fprintf(bac,t航班号t起飞时间t降落时间t起飞地点t降落地点t票价t剩余座位数n);for(i=0;i10;i+)if(0=strcmp(pi.PlaneID,NULL)fprintf(bac,nnend);break;fprintf(bac,t%st%st%st%20st%20st%lft%d,pi.PlaneID,pi.PlantUp,pi.PlaneDown,pi.start,pi.end,pi.value,pi.chair);fclose(bac);printf(备份成功!);return 1;void about()printf(程序名称:飞机票订票系统n);printf(制作团队:嵌入1班n);printf(组长:许铮n);printf(组员:欧阳益n);void menu(plane *p)int choice;while(1)printf(n=n);printf(尊敬的Admin,欢迎使用本系统!n);printf( 1 * 新增航班 t);printf( 2 * 修改航班 n);printf( 3 * 查询航班 t);printf( 4 * 订购机票 n);printf( 5 * 退订机票 t);printf( 6 * 取消航班 n);printf( 7 * 恢复航班信息 t);printf( 8 * 备份航班信息 n);printf( 9 * 用户管理 t);printf( 10 * 关于 n);printf( 0 * 退出 n);printf(=n);printf(请输入您所需要的服务);scanf(%d,&choice);switch(choice)case 1:AddInf(p);break;case 2:RepairInf(p);break;case 3:FindInf(p);break;case 4:Buyticks(p);break;case 5:Sellticks(p);break;case 6:cancleInf(p);break;case 7:recovery(p);break;case 8:backup(p);break;case 9:changeuserfile();break;case 10:about();break;case 0:exit(1);break;default:printf(输入错误,请重新输入!);fflush;void menuC(plane *p)int choice;while(1)printf(n=n);printf(尊敬的Client,欢迎使用本系统!n);printf( 1 * 订购机票 n);printf( 2 * 退订机票 t);printf( 3 * 显示所有航班信息 n);printf( 4 * 查询航班信息 t);printf( 5 * 用户管理 t);printf( 6 * 关于 n);printf( 0 * 退出 n);printf(=n);printf(请输入您所需要的服务);scanf(%d,&choice);switch(choice)case 1:Buyticks(p);break;case 2:Sellticks(p);break;case 3:All(p);break;case 4:FindInf(p);break;case 5:changeuserfile();break;case 6:about();break;case 0:exit(1);break;default:printf(输入错误,请重新

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论