帮我用c语言写一个网吧管理系统的代码,用来登记上机人数和余额
时间: 2023-08-28 07:25:45 浏览: 52
好的,这是一个简单的网吧管理系统的 C 代码,可以实现登记上机人数和余额的功能。代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义结构体,用来存储网吧客户的信息
struct customer {
char name[20]; // 客户姓名
int hours; // 上机时间
float balance; // 余额
};
// 定义函数,用来输入客户信息
struct customer input_customer()
{
struct customer c;
printf("请输入客户姓名:");
scanf("%s", c.name);
printf("请输入上机时间(小时):");
scanf("%d", &c.hours);
printf("请输入余额:");
scanf("%f", &c.balance);
return c;
}
int main()
{
int num = 0; // 上机人数
float total = 0; // 收入总额
struct customer c[100]; // 最多存储100个客户信息
while (1) {
printf("\n1. 登记上机\n");
printf("2. 结算\n");
printf("3. 退出\n");
printf("请选择操作:");
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
// 登记上机
if (num >= 100) {
printf("网吧已满,无法登记新客户!\n");
break;
}
c[num] = input_customer();
printf("登记成功!\n");
num++;
break;
case 2:
// 结算
if (num == 0) {
printf("当前没有客户上机!\n");
break;
}
printf("当前上机人数:%d\n", num);
printf("客户信息如下:\n");
for (int i = 0; i < num; i++) {
printf("%d. %s 上机时间:%d小时 余额:%.2f元\n", i+1, c[i].name, c[i].hours, c[i].balance);
}
printf("请输入结算客户的编号:");
int index;
scanf("%d", &index);
if (index < 1 || index > num) {
printf("输入的编号无效!\n");
break;
}
float cost = c[index-1].hours * 2; // 计算上机费用
if (cost > c[index-1].balance) {
printf("余额不足,无法结算!\n");
break;
}
c[index-1].balance -= cost; // 扣除费用
total += cost; // 更新收入总额
printf("结算成功!上机费用为%.2f元,客户余额为%.2f元\n", cost, c[index-1].balance);
break;
case 3:
// 退出
printf("网吧已关闭,今日收入为%.2f元,明日再见!\n", total);
exit(0);
default:
printf("无效的操作!\n");
break;
}
}
return 0;
}
```
这个代码实现了一个简单的网吧管理系统,可以通过菜单选择登记客户、结算费用和退出程序等操作。希望能够帮助到您!