第一范文网 - 专业文章范例文档资料分享平台

车票管理系统的程序设计 - 图文

来源:用户分享 时间:2025/5/22 21:59:01 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

⒊各模块分函数:

⑴打印表头:

void ShowTable1() {

int i=2;

system(\gotoxy(4,i++);

printf(\ gotoxy(4,i++);

printf(\ gotoxy(4,i++);

printf(\ 班次 | 发车时间 | 起点站 | 终点站 |行车时间|额定载量| 已售票 |\}

⑵打印表尾:

形参I为0时表示无查询结果。 void ShowTable2(int i) {

gotoxy(4,i+5);

printf(\}

⑶查询函数:

此函数是search函数所用,其形参是s1[],s2[]只有一个为用户输入值,s1[]中放置的是班次,s2[]中放置的是终点站。当strcmp(s1,records[i].num)==0||strcmp(s2,records[i].to)==0表示找到了所查找的班次,m=0表示是按班次查询,因班次均不一样因此找到后即可跳出循环,当m==1时表示按终点站查询,因为有可能通往一地的不止一班车故应执行完循环,当h==0时表示cmp(s1,records[i].num)==0||strcmp(s2,records[i].to)==0均不满足,即无查找班次,ShowTable2表格与ShowTable1构成表格。 void find(char s1[],char s2[]) {

int i,h=0,m; ShowTable1();

if(s2[0]=='\\0') m=1; else m=0;

for(i=0;i

printf(\cords[i].min,records[i].from,records[i].to,records[i].hours,records[i].max,records[i].now);

第 15 页 共 26 页

}

h+=2; if(m==1) break; } ShowTable2(h); if(h==0) printf(\要查找的班次不存在!\

⑷按班次查询函数:

此函数是为修改、删除函数所用,若找到所需班次返回该班次在结构体的位置,否则为class_num。 int findnum(char s1[]) {

int i,h=0;

ShowTable1();

for(i=0;i

printf(\cords[i].min,records[i].from,records[i].to,records[i].hours,records[i].max,records[i].now);

h+=2; break; }

ShowTable2(h); return i; }

⑸保存函数:

void save() {

FILE *fp1,*fp2;

if((fp1=fopen(\车票管理系统.dat\ { printf(\文件打开错误!\ exit(0); }

if((fp2=fopen(\车票管理系统0.dat\ { printf(\文件打开错误!\ exit(0); }

fwrite(&class_num,sizeof(int),1,fp2);

fwrite(records,sizeof(CLASS),class_num,fp1); fclose(fp1);fclose(fp2); }

第 16 页 共 26 页

⑹打开文件函数

void load() {

FILE *fp1,*fp2;

if((fp1=fopen(\车票管理系统.dat\ { system(\ gotoxy(12,8); printf(\文件打开错误!\ getch(); exit(0); }

if((fp2=fopen(\车票管理系统0.dat\ { system(\ gotoxy(12,8); printf(\文件打开错误!\ getch(); exit(0); }

fread(&class_num,sizeof(int),1,fp2);

fread(records,sizeof(CLASS),class_num,fp1); fclose(fp1);fclose(fp2); }

⑺判断时间是否超出函数:

tm 为包含在中的结构体其定义为{int tm_sec;int tm_min;int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst;},time_t是用来表示日历时间的数据类型,time函数可用于获取日历时间,localtime函数将日历时间转换为本地时间 int whether(int i) {

struct tm *local; time_t t;

t=time(NULL); local=localtime(&t);

if(local->tm_hourtm_hour==atoi(records[i].hour)&&local->tm_min

⑻定位函数:

void gotoxy(int i,int j) {

HANDLE hConsole = GetStdHandle ( STD_OUTPUT_HANDLE );

第 17 页 共 26 页

if ( INVALID_HANDLE_VALUE != hConsole ) {

COORD pos = {i, j};

SetConsoleCursorPosition ( hConsole, pos ); } }

⑼修改及增加录入:

用于单个录入班次信息,不能判断是否与其他班次重复。 void get(int i,int j) {

for(;;) { gotoxy(8,j++); printf(\请输入发车时间(xx xx)\

if((atoi(records[i].hour)<24&&atoi(records[i].hour)>=0)&&(atoi(records[i].min)<60&&atoi(records[i].min)>=0))

break; else { gotoxy(8,j++); printf(\输入错误\ getch(); } }

gotoxy(8,j++);

printf(\请输入起点站:\scanf(\ gotoxy(8,j++);

printf(\请输入终点站:\scanf(\ gotoxy(8,j++);

printf(\请输入行车时间:\scanf(\ gotoxy(8,j++);

printf(\请输入额定载量:\scanf(\ for(;;) { gotoxy(8,j++); printf(\请输入已售票数:\ if(records[i].now<=records[i].max) break; else { gotoxy(8,j++);

printf(\输入错误!\

getch(); } } }

第 18 页 共 26 页

搜索更多关于: 车票管理系统的程序设计 - 图文 的文档
车票管理系统的程序设计 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c5m50g1hru7721et5ih1j_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top