void query_sight(char name[]) { int i; for (i = 0; i < num_sights; i++) { if (strcmp(sights[i].name, name) == 0) { printf("%s 的门票价格为 %d 元,余票数量为 %d 张。\n", name, sights[i].price, sights[i].rest_tickets); return; } } printf("未找到名为 %s 的景点!\n", name); }
时间: 2024-04-02 18:36:27 浏览: 36
这是一个查询景点门票信息的函数,它接受一个字符串参数name,表示需要查询的景点名称。函数会遍历已有的景点信息,如果找到了名称与参数name相同的景点,则输出该景点的门票价格和余票数量。如果没有找到,则输出提示信息。其中,num_sights表示已有的景点数量,sights是一个结构体数组,每个结构体存储一个景点的名称、门票价格和余票数量。strcmp函数用于比较两个字符串是否相等。如果相等,则返回0。
相关问题
void buy_ticket(char name[], int num) { int i; for (i = 0; i < num_sights; i++) { if (strcmp(sights[i].name, name) == 0) { if (sights[i].rest_tickets >= num) { sights[i].rest_tickets -= num; printf("购买成功!共花费 %d 元。\n", sights[i].price * num); } else { printf("购买失败:余票不足!\n"); } return; } } printf("未找到名为 %s 的景点!\n", name); }
这段代码实现了景点门票的购买功能。它接受两个参数,一个是要购买的景点的名称,另一个是购买的门票数量。
函数首先使用一个循环遍历所有的景点,直到找到名字匹配的景点为止。如果找到了名字匹配的景点,那么就检查该景点的余票数量是否足够购买。如果余票数量足够,那么就减少该景点的余票数量,并输出购买成功信息,购买花费的总价也会被计算并输出。如果余票数量不足,那么就输出购买失败信息。如果没有找到名字匹配的景点,那么就输出未找到该景点的信息。
这段代码使用了结构体数组中的景点名称、门票价格和余票数量等信息,以及字符串比较函数 strcmp(),用于查找名字匹配的景点。这个函数是一个比较简单的功能实现,但是可以作为学习和练习基本函数设计的例子。
void return_ticket(char name[], int num) { int i; for (i = 0; i < num_sights; i++) { if (strcmp(sights[i].name, name) == 0) { sights[i].rest_tickets += num; printf("退票成功!共返还 %d 元。\n", sights[i].price * num); return; } } printf("未找到名为 %s 的景点!\n", name); } int main() { int choice; char name[20]; int price, tickets, num; while (1) { printf("请输入操作代码:\n"); printf("1. 添加景点\n"); printf("2. 查询景点信息\n"); printf("3. 购买门票\n"); printf("4. 退回门票\n"); printf("5. 退出\n"); scanf("%d", &choice); switch (choice) { case 1: printf("请输入景点名称、门票价格和余票数量:\n"); scanf("%s %d %d", name, &price, &tickets); add_sight(name, price, tickets); break; case 2: printf("请输入景点名称:\n"); scanf("%s", name); query_sight(name); break; case 3: printf("请输入景点名称和购票数量:\n"); scanf("%s %d", name, &num); buy_ticket(name, num); break; case 4: printf("请输入景点名称和退票数量:\n"); scanf("%s %d", name, &num); return_ticket(name, num); break; case 5: return 0; default: printf("无效的操作代码!\n"); } } }
这段代码是一个简单的景点门票管理系统。使用者可以添加景点、查询景点信息、购买门票和退回门票。
在主函数中,使用者可以输入操作代码,选择需要执行的操作。如果选择添加景点,则需要输入景点名称、门票价格和余票数量,程序会将这些信息存储到一个结构体数组中。如果选择查询景点信息,则需要输入景点名称,程序会输出该景点的信息。如果选择购买门票,则需要输入景点名称和购票数量,程序会检查该景点的余票数量是否足够,如果足够则减少余票数量并输出购买成功信息,否则输出购买失败信息。如果选择退回门票,则需要输入景点名称和退票数量,程序会将该景点的余票数量增加并输出退票成功信息。
在这个简单的系统中,使用了结构体和函数等基本的程序设计概念,可以用于入门级别的程序设计学习和练习。
阅读全文