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); }
时间: 2024-02-14 09:21:53 浏览: 141
01P-Charlotte_Sights_And_Lights
这段代码实现了景点门票的购买功能。它接受两个参数,一个是要购买的景点的名称,另一个是购买的门票数量。
函数首先使用一个循环遍历所有的景点,直到找到名字匹配的景点为止。如果找到了名字匹配的景点,那么就检查该景点的余票数量是否足够购买。如果余票数量足够,那么就减少该景点的余票数量,并输出购买成功信息,购买花费的总价也会被计算并输出。如果余票数量不足,那么就输出购买失败信息。如果没有找到名字匹配的景点,那么就输出未找到该景点的信息。
这段代码使用了结构体数组中的景点名称、门票价格和余票数量等信息,以及字符串比较函数 strcmp(),用于查找名字匹配的景点。这个函数是一个比较简单的功能实现,但是可以作为学习和练习基本函数设计的例子。
阅读全文