C语言结构体–火车票查询程序

【问题描述】定义一个火车票的结构体数组,结构体的数据包括车次、始发站、终点站和票价。要求从键盘输入多个火车票数据,票价输入为负数时代表输入结束。
继续输入查询条件和要查询的数据,输出满足查询条件的所有车次信息(不考虑查不到的情况)。
【输入形式】
输入火车票数据信息,输入顺序为车次、始发站、终点站和票价,票价输入为负数时代表输入结束。
再输入查询条件和查询数据,形式如下:
1 站名originst:查询所有始发站为 originst 的车次信息。
2 站名terminal:查询所有终点站为 terminal 的车次信息。
3 票价fare:查询低于该票价 fare 的所有车次信息。
4 车次train:查询该车次 train 的信息。
注:以上四个变量名只是参考,不一定用该名字。不需考虑查不到的情况,不需考虑查询条件非法(不是1~4)的情况。
【输出形式】
输出查询到的车次信息。小数保留一位小数点。
【样例输入】
c6859 guangzhou zhaoqing 65
k9078 guangzhou yiyang 119
k7037 haerbin suihua -19.5
4 c6859
【样例输出】
c6859 guangzhou zhaoqing 65

源代码如下:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{struct Train                                     //定义一个火车结构体{char tra[12];                                   //车次char ori[20];                                   //始发车char ter[20];                                   //终点站float fare;                                     //票价};struct Train date[20];                           //定义一个火车信息的数组int i, n, k, j;char str[20];for (i = 0;; i++){k = i;scanf_s("%s %s %s %f", date[i].tra, 12, date[i].ori, 20, date[i].ter, 20, &date[i].fare);if (date[i].fare < 0)break;}//scanf_s("%d %s", &n, str, 20);scanf_s("%d", &n);if (n != 3)scanf_s("%s", str, 20);elsescanf_s("%d", &j);if (n == 1){for (i = 0; i < k; i++){if (strcmp(str, date[i].ori) == 0){printf("%s %s %s %.1f\n", date[i].tra, date[i].ori, date[i].ter, date[i].fare);}}}if (n == 2){for (i = 0; i < k; i++){if (strcmp(str, date[i].ter) == 0){printf("%s %s %s %.1f\n", date[i].tra, date[i].ori, date[i].ter, date[i].fare);}}}if (n == 4){for (i = 0; i < k; i++){if (strcmp(str, date[i].tra) == 0){printf("%s %s %s %.1f \n", date[i].tra, date[i].ori, date[i].ter, date[i].fare);}}}if (n == 3){for (i = 0; i < k; i++){if (date[i].fare < j){printf("%s %s %s %.1f \n", date[i].tra, date[i].ori, date[i].ter, date[i].fare);}}}system("pause");return 0;
}

运行情况:


C语言结构体-火车票查询程序相关推荐

  1. c语言结构体类型变量在程序运行期间(),C语言结构体类型变量在程序运行期间( )...

    摘要: 统自在交动催欠内系费期,语言结停机信方交费的授期后实施式,信用先使交费等级)的采取用后为(客户客户.体现虚静心态酒><饮万世.类型物我.物我化忘浑化三层.将众垫为铺山作,变量正的之 ...

  2. c语言 结构体_颖儿教你学C语言结构体,全面讲解,让程序小白玩转结构体编程...

    C语言结构体详细教学开始 前面的教程中我们讲解了数组(Array),它是一组具有相同类型的数据的集合.但在实际的编程过程中,我们往往还需要一组类型不同的数据,例如对于学生信息登记表,姓名为字符串,学号 ...

  3. C语言结构体和结构体数组示例 - Win32窗口程序演示

    C语言结构体和结构体数组的使用: /* C结构体和结构体数组示例,by bobo */#include <windows.h>LRESULT CALLBACK WndProc (HWND, ...

  4. 按平均成绩排行c语言文件操作,学生成绩管理系统(c语言结构体以及文件操作)实验报告精选.doc...

    学生成绩管理系统(c语言结构体以及文件操作)实验报告精选 C程序设计 实验报告 编号: 姓名院系学号任课教师于萧指导教师实验地点实验时间实验名称文件操作同 组 人无预习报告(对实验主要内容的认识)得分 ...

  5. c语言结构体成员变量私有化,C语言中结构体变量私有化详解

    C语言中结构体变量私有化详解 背景介绍 操作系统 : CentOS7.3.1611_x64 gcc版本 :4.8.5 什么是结构体? 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚 ...

  6. Go语言结构体(struct)

    Go 语言通过用自定义的方式形成新的类型,结构体是类型中带有成员的复合类型.Go 语言使用结构体和结构体成员来描述真实世界的实体和实体对应的各种属性. Go 语言中的类型可以被实例化,使用new或&a ...

  7. ARM汇编语言实现peek()_ARM汇编之访问C语言结构体数据

    前言 本文的写作目的在于装逼,没有要产生实际价值的意思. 前几天在做编译器的项目,有一个项目团队成员一直在问我ARM汇编能不能读C语言的结构体.我心想,我这生成ARM汇编的代码是用C++写的呀,又不是 ...

  8. C语言结构体-大小,对齐,填充,使用及其他

    C语言结构体-大小,对齐 C语言中的结构体(struct)的定义 在C语言中,最常用的数据结构就是结构体了,结构体也是其它数据结构(比如链表等)的基础,结构体的使用非常简单. 比如,定义一个结构体: ...

  9. 关于c语言结构体偏移的一点思考

    注:此处只是利用了编译器的特性来计算结构体偏移 这句话就一笔带过,说得有点牵强附会.以后有时间自己再详细了解一下编译器的特性... more exceptional c++ 中文版 26页 https ...

最新文章

  1. ajax-Ajax试题
  2. 查找python项目依赖并生成requirements.txt——pipreqs 真是很好用啊
  3. leetcode @38报数-js
  4. Vysor:安卓手机放到电脑上用
  5. 总结一下嵌入式OLED显示屏显示中文汉字的办法
  6. 鏖战双十一-阿里直播平台面临的技术挑战
  7. python阻塞和非阻塞_Python基础必备知识:同步异步阻塞非阻塞
  8. 震惊!html文件注释也会影响运行代码!(werkzeug.routing.BuildError: Could not build url for endpoint)莫名其妙
  9. 我删删删删库了,要跑路吗?
  10. hutool 读取扩展名文件_JPG,PNG,GIF,TIFF、SVG玩设计必须了解的文件格式你知道几个?...
  11. JavaScript进阶2-学习笔记
  12. HDU 1964 Pipes
  13. linux网络编程之setsockopt()函数来设置socket状态以及getsockopt函数只用总结
  14. 电子设计大赛作品_第十四届电子设计大赛圆满结束!
  15. 滴滴顺风车回归倒计时!
  16. c语言创建线程代码,如何用C语言实现多线程
  17. python生产者消费者模式_【整理】Python生产者消费者模型代码 | 勤奋的小青蛙
  18. 由购物论测试的重要性:桃子测试了,很好;糖没测试,竟然都有虫子
  19. java中文手册下载,22年最新
  20. IPV6 RFC和地址表示

热门文章

  1. 搜索引擎选型调研文档
  2. MyBatis发展历史
  3. proc_create的使用方法
  4. 895计算机专业基础,北京工业大学2020年考研895计算机学科专业基础考试大纲
  5. 日常微博营销技巧究竟有哪些呢?
  6. 使用正则限制输入框只能输入英文和数字
  7. QT实战-计算器-刘桂林-专题视频课程
  8. HLJUOJ1117(暴力模拟)
  9. 毕设论文评审意见分类
  10. 强化学习——环境库OpenAI Gym