用c语言实现一个火车票售票软件,功能包括:售票、退票、查询和显示剩余票数。 2. 要求:1)设置全局变量保存当前剩余票数;2)模块化编程:用不同函数实现不同的功能,包含主模块、退售模块(实现退票/售票功能)、查显模块(实现查询和显示剩余票数功能)。 3. 编程规范:除了一般规范外,重点关注:1)头文件与源文件的文件头注释的不同;2)函数头注释,包括函数功能、参数、返回值的注释。
时间: 2024-02-24 10:54:05 浏览: 21
下面是一个简单的C语言程序,实现了火车票售票软件的功能。程序中使用了全局变量来保存当前剩余票数,同时采用模块化编程,将不同的功能分别实现在不同的函数中。程序中也遵循了编程规范,包括头文件与源文件的文件头注释的不同以及函数头注释。
【train_ticket.h】
```c
#ifndef TRAIN_TICKET_H
#define TRAIN_TICKET_H
/* 火车票售票软件 */
/* 初始化剩余票数 */
void initTicket(int num);
/* 查询剩余票数 */
int queryTicket();
/* 售票 */
int sellTicket(int num);
/* 退票 */
int refundTicket(int num);
#endif // TRAIN_TICKET_H
```
【train_ticket.c】
```c
#include "train_ticket.h"
#include <stdio.h>
/* 全局变量:当前剩余票数 */
static int s_ticketNum = 0;
/* 初始化剩余票数 */
void initTicket(int num)
{
s_ticketNum = num;
}
/* 查询剩余票数 */
int queryTicket()
{
return s_ticketNum;
}
/* 售票 */
int sellTicket(int num)
{
if (s_ticketNum >= num) {
s_ticketNum -= num;
printf("成功售出 %d 张票,当前剩余票数为 %d 张。\n", num, s_ticketNum);
return 1;
} else {
printf("售出 %d 张票失败,当前剩余票数为 %d 张。\n", num, s_ticketNum);
return 0;
}
}
/* 退票 */
int refundTicket(int num)
{
s_ticketNum += num;
printf("成功退回 %d 张票,当前剩余票数为 %d 张。\n", num, s_ticketNum);
return 1;
}
```
【main.c】
```c
#include "train_ticket.h"
#include <stdio.h>
int main()
{
initTicket(100); // 初始化剩余票数为 100 张
printf("当前剩余票数为 %d 张。\n", queryTicket());
sellTicket(50); // 售出 50 张票
printf("当前剩余票数为 %d 张。\n", queryTicket());
refundTicket(20); // 退回 20 张票
printf("当前剩余票数为 %d 张。\n", queryTicket());
sellTicket(80); // 售出 80 张票
printf("当前剩余票数为 %d 张。\n", queryTicket());
return 0;
}
```
以上代码实现了一个简单的火车票售票软件,其中头文件中定义了不同函数的声明,源文件中实现了不同函数的功能,主函数中调用了这些函数,并输出了相应的结果。您可以在此基础上继续完善和扩展。