欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    C语言课程设计火车票系统源代码.docx

    • 资源ID:8760825       资源大小:17.91KB        全文页数:17页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言课程设计火车票系统源代码.docx

    1、C语言课程设计火车票系统源代码#include#include#include/火车票结构体类型/typedef struct Nodeint num; /编号/ char name20; /起点和终点/ char time5; /出发时间/ int price; /车票价格/ int amount; /剩余数量/ struct Node *next;Node;/创建链表并输入数据/struct Node *creat()struct Node *head,*r,*s; int i=0; char choice; head=(struct Node *)malloc(sizeof(struct

    2、 Node); head-next=NULL; r=head; do s=(struct Node *)malloc(sizeof(struct Node); s-next=NULL; printf(请输入第%d种火车票的信息:n,+i); printf(请输入火车的编号:); scanf(%d,&s-num); printf(起点和终点:); scanf(%s,s-name); printf(出发时间:); scanf(%s,s-time);printf(车票价格:);scanf(%d,&s-price);printf(剩余数量:); scanf(%d,&s-amount); r-next=

    3、s; r=s; printf(Continue?(Y/N); scanf(%s,&choice); while(choice=Y|choice=y); r-next=NULL; return(head);/将单链表中的信息保存到文件1.txt中/void save(struct Node *h) struct Node *s; FILE *fp; char 10=1.txt; fp=fopen(1.txt,wt);if(fp=NULL) printf(n写文件出错,按任意键退出!);getchar();exit(1); for(s=h-next;s!=NULL;s=s-next) fprint

    4、f(fp,%d %s %s %d %d n,s-num,s-name,s-time,s-price,s-amount); getchar();fclose(fp);/ 从文件1.txt中读取信息并存入单链表中/struct Node *read() struct Node *head,*r,*s; FILE *fp; char 10=zl.txt; fp=fopen(1.txt,rt); if(fp=NULL) printf(读文件错误,按任意键退出!);getchar();exit(1); head=(struct Node *)malloc(sizeof(struct Node); hea

    5、d-next=NULL; r=head; while(!feof(fp) s=(struct Node *)malloc(sizeof(struct Node); fscanf(fp,%d %s %s %d %d,&s-num,s-name,s-time,&s-price,&s-amount); r-next=s;r=s; r-next=NULL; fclose(fp); return head;/将链表中的数据输出/void print(struct Node *h) struct Node *s; printf(n火车票信息如下:n); printf(n); printf(编号 起点和终点

    6、 出发时间 车票价格 剩余票数:n); for(s=h-next;s-next!=NULL;s=s-next) printf( %d %10s %5s %10d %6dn,s-num,s-name,s-time,s-price,s-amount); /链表查询/struct Node * find(struct Node *h)int i,j;char s20;printf(tt 查询方法有以下几种:n); printf(tt 1.火车票编号n);printf(tt 2.起点和终点n);printf(tt 3.出发时间n);printf(tt 4.车票价格n);printf(tt 5.剩余票数

    7、n);printf(请输入您要查询的方法的序号:); scanf(%d,&i);switch(i) case 1:printf(请输入你要查询火车票的编号:); scanf(%d,&j); while(h-next!=NULL) h=h-next; if(h-num=j) return h; return NULL; break; case 2:printf(请输入您要查询火车票的起点和终点:);scanf(%s,s); while(h-next!=NULL) h=h-next; if(strcmp(h-name,s)=0) return h; return NULL; break; case

    8、 3:printf(请输入您要查询火车票的时间:); scanf(%s,s); while(h-next!=NULL) h=h-next; if(strcmp(h-time,s)=0) return h; return NULL; break; case 4:printf(请输入你要查询火车票的价格 :); scanf(%d,&j); while(h-next!=NULL) h=h-next; if(h-price=j) return h; return NULL; break; case 5:printf(请输入你要查询火车票的剩余票数:); scanf(%d,&j); while(h-ne

    9、xt!=NULL) h=h-next; if(h-amount=j) return h; return NULL; break;/修改信息/change(struct Node *h,int k) int j; struct Node *p;p=find(h); printf(-n);printf(t 您要修改哪一项?n);printf(t 1.火车编号n);printf(t 2.起点和终点n);printf(t 3.出发时间n);printf(t 4.车票价格n); printf(t 5.剩余票数n);printf(t 0.退出系统n); printf(-n);printf(请输入您要修改项

    10、的编号:);scanf(%d,&j);switch(j) case 1: printf(修改后的火车编号:); scanf(%d,&p-num); break; case 2: printf(修改后的起点和终点:); scanf(%s,p-name); break; case 3: printf(修改后的出发时间:); scanf(%s,p-time); break; case 4: printf(修改后的车票价格:); scanf(%d,&p-price); break; case 5: printf(修改后的剩余票数:); scanf(%d,&p-amount); break; case

    11、0:break;/删除信息/delete(struct Node *h)struct Node *p; int j; printf(请输入您要删除的火车票的编号:);scanf(%d,&j);p=h-next; if(p=NULL) return 0;while(p!=NULL)if(p-num=j) h-next=p-next; free(p); return 1; h=p; p=p-next; return 0;/添加信息/void append() struct Node *p; FILE *fp; fp=fopen(1.txt,at+); if(fp=NULL) printf(写文件出

    12、错,按任意键返回.n); getchar(); exit(1); printf(请输入要添加的火车票的信息:火车编号,起点和终点,出发时间,车票价格,剩余票数:n); scanf(%d%s%s%d%d,&p-num,p-name,p-time,&p-price,&p-amount); fprintf(fp,%d %s %s %d %dn,p-num,p-name,p-time,p-price,p-amount); getchar(); fclose(fp);/数据的统计/void count(struct Node *h) struct Node *s; s=h; int i,j,k,n=0;

    13、 printf(*n); printf(tt 请选择您要统计项目的序号:n); printf(tt 1.车票价格n); printf(tt 2.剩余票数n); printf(tt 0.退出界面n); scanf(%d,&i); switch(i) case 1: printf(请输入您要统计车票的价格的标准:); scanf(%d,&j); printf(tt 请选择低于或高于标准:n); printf(tt 1.价格低于%d的个数n,j); printf(tt 2.价格高于%d的个数n,j); scanf(%d,&k); if(k=1) for(s=h-next;s-next!=NULL;s

    14、=s-next) if(s-pricenext;s-next!=NULL;s=s-next) if(s-pricej) n+; printf(车票价格低于%d的个数有%d个.n,j,n); break; case 2: printf(请输入您要统计剩余票数的数量:); scanf(%d,&j); printf(tt 请选择低于或高于所输票数:n); printf(tt 1.票数低于%d的个数n,j); printf(tt 2.票数高于%d的个数n,j); scanf(%d,&k); if(k=1) for(s=h-next;s-next!=NULL;s=s-next) if(s-amountn

    15、ext;s-next!=NULL;s=s-next) if(s-amountj) n+; printf(剩余票数高于%d的个数有%d个.n,j,n); break; case 0:break; /保存用户和密码到文件2.txt中/void save_user() char =2.txt; FILE *fp;char name20; char pwd10; fp=fopen(2.txt,at+); if(fp=NULL) printf(n写文件出错,按任意键退出.n); getchar(); exit(1); printf(请输入用户名:); scanf(%s,name); printf(请输入

    16、密码:); scanf(%s,pwd); fprintf(fp,%s %sn,name,pwd); getchar(); fclose(fp); printf(用户注册成功!n);/检验用户和密码是否匹配/int check(char *name,char *pwd)char name120; char pwd110; FILE *fp; char =2.txt; if(fp=fopen(2.txt,rt)=NULL) printf(读文件出错,按任意键退出!n); getchar(); exit(1); while(!feof(fp) fscanf(fp,%s %s,name1,pwd1);

    17、 if(strcmp(name1,name)=0&strcmp(pwd1,pwd)=0) return 1; return 0;/数据排序/void sort(struct Node *h)struct Node *s,*p,*m,*n; int t,t1,t2,t3;char s120;char s210; printf(车票价格由小到大排序如下:n); for(s=h-next;s-next!=NULL;s=s-next) for(p=s-next;p-next!=NULL;p=p-next) if(s-pricep-price) t1=s-num;s-num=p-num;p-num=t1

    18、; t2=s-price;s-price=p-price;p-price=t2; t3=s-amount;s-amount=p-amount;p-amount=t3; strcpy(s1,s-name);strcpy(s-name,p-name);strcpy(p-name,s1); strcpy(s2,s-time);strcpy(s-time,p-time);strcpy(p-time,s2); print(h); printf(nn剩余车票数量由多到少排序如下:n); for(s=h-next;s-next!=NULL;s=s-next) for(p=s-next;p-next!=NUL

    19、L;p=p-next) if(s-amountamount) t1=s-num;s-num=p-num;p-num=t1; t2=s-price;s-price=p-price;p-price=t2; t3=s-amount;s-amount=p-amount;p-amount=t3; strcpy(s1,s-name);strcpy(s-name,p-name);strcpy(p-name,s1); strcpy(s2,s-time);strcpy(s-time,p-time);strcpy(p-time,s2); print(h);void main()struct Node *head,

    20、*p; int i,j,k; head=(struct Node *)malloc(sizeof(struct Node); head-next=NULL; char name20; char pwd10; printf(n*欢迎进入火车票管理系统*n); printf(tt 1.用户登录n); printf(tt 2.用户注册n); printf(tt 0.退出系统n); printf(请输入所选序号:); scanf(%d,&k); switch(k) case 1: printf(请输入用户名:); scanf(%s,name); printf(请输入密码:); scanf(%s,pwd

    21、); if(check(name,pwd) printf(密码正确.n); do printf(nntt*欢迎进入火车票管理系统*n); printf(tt 1.录入火车票信息tt 2.添加火车票信息n); printf(tt 3.修改火车票信息tt 4.删除火车票信息n); printf(tt 5.打印火车票信息tt 6.查询火车票信息n); printf(tt 7.统计火车票信息tt 8.火车票销售排行n); printf(tt 0.退出系统n); printf(请输入您要进入菜单的序号(0-8):); scanf(%d,&i); switch(i) case 1: printf(请录入火

    22、车票信息nn); head=creat(); save(head); head=read(); break; case 2: append(); break; case 3: printf(请输入您要修改的火车票的编号:); scanf(%d,&j); change(head,j); save(head); break; case 4: head=read(); if(delete(head) printf(已正确删除!n); save(head); else printf(要删除的结点不存在!n); break; case 5: head=read(); print(head); break

    23、; case 6: printf(请输入您要查询火车票的编号(以0结束):); scanf(%d,&j); p=find(head); printf(编号 起点和终点 出发时间 车票价格 剩余票数:n); printf(%d %10s %5s %10d %6dn,p-num,p-name,p-time,p-price,p-amount); printf(请继续输入序号(以0结束):); scanf(%d,&j); break; case 7: head=read();count(head);break; case 8: sort(head);break; case 0: printf(*谢谢使用!*n);break; while(i!=0); else printf(密码错误或用户名不存在.n); break; case 2:save_user();break; case 0:break;


    注意事项

    本文(C语言课程设计火车票系统源代码.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开