![c06afa1db8fda87b2ae4b4d07d113ed7.png](https://i-blog.csdnimg.cn/blog_migrate/8fc442adbcafd936a9019463faa60423.jpeg)
![b58028b891dac3ce9d2d49ed15cc187f.png](https://i-blog.csdnimg.cn/blog_migrate/ad634a1ef60206fd724da0ec9a14fd35.jpeg)
程序设计要求用C语言写一个简单的火车售票系统,主要实现的功能为:
录入班次信息
浏览班次信息
按班次号查询
按终点站查询
按余票数量排序保存
售票
退票
更新班次信息
退出系统
所有的班次信息保存在number.dat文件中,排序过后的保存在sort.dat中(.dat是一种二进制文件)。
下面是小编准备的一套非常适合初学者学习C/C++编程的视频教程
![dece35c8df873f8578d0c16842e8a86e.png](https://i-blog.csdnimg.cn/blog_migrate/d479aed9af56b70afc02eb85bc1fa6be.jpeg)
在编写的过程中我觉得在判断火车的状态比较值得深究。这里假设火车主要有四种状态:
1.未发车
2.已发车
3.停止检票
4.停止退票
在程序中,思路是将代表发车时间的字符串转化为整型,再和系统现在的时间进行大小比较,主要采用if判断各种情况。其中atime代表的是发车时间的整型数,btime代表的是系统时间的整型数,具体实现如下:
![f07aee33bf423dfc16b60d36584acb18.png](https://i-blog.csdnimg.cn/blog_migrate/18e800daf2a0770b7a8f1c100268a8e6.jpeg)
在判断退票时如果两个时间的小时数是一样的,则它们的分钟数如果相差在30之内即半小时之内或者发车时间的小时和系统时间的小时相差一个1,并且发车时间的分钟数小于30,系统时间的分钟大于30,则它们之间也就相差在30之内,此时代表停止退票。
判断检票和上面思想大致相同。
为了参考研究,贴上代码:
![a1ca8c2226cc6c3e25ed78894beac551.png](https://i-blog.csdnimg.cn/blog_migrate/56342b9e025d4ee0332b3445e4c2fe45.jpeg)
![888e37cc831d5a244c7d896d6c4c9203.png](https://i-blog.csdnimg.cn/blog_migrate/51279601efd684a15e6b6992c63b6e91.jpeg)
![8b64621edad86543d4cf585cd50836d6.png](https://i-blog.csdnimg.cn/blog_migrate/e3d529a3e6be1adab48e5fd9dcb5a357.jpeg)
![5c5bec62488e91e32ff1aff70f193c1f.png](https://i-blog.csdnimg.cn/blog_migrate/6a22f00daab3ab642f8fc486effcf2d5.jpeg)
![5ca84c3f29ba30feb591860269b018dd.png](https://i-blog.csdnimg.cn/blog_migrate/771bd32abf8f452f4f80f314777b9e0f.jpeg)
![3a3a23fdd86df234796e293cc64bd275.png](https://i-blog.csdnimg.cn/blog_migrate/054292a8d2abc00938bbe83c3ccb3597.jpeg)
![2d7a562996c915b647b90bbfa5e4d500.png](https://i-blog.csdnimg.cn/blog_migrate/55c609053423dc2d6aaf1171302f4692.jpeg)
![829829fb1e80e88cfdbf7931e340da0e.png](https://i-blog.csdnimg.cn/blog_migrate/f2b755111a2ea0509979ce693806c641.jpeg)
![379418a4ec034feada125fd4fe9f2a37.png](https://i-blog.csdnimg.cn/blog_migrate/1908eb803c40c57b8aab5757c52d82ee.jpeg)
![d2aff77e4664d66189452ff8de0784f2.png](https://i-blog.csdnimg.cn/blog_migrate/01e485ae2ecbb1f35f99ed177526e6c0.jpeg)