自来水水质化验管理(原创)

水质数据图形分析

水质数据统计

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,下面是一个简单的某自来水公司收费管理系统的实现思路和代码示例。 1. 定义用户结构体 首先,我们需要定义一个用户结构体,包含用户的基本信息,例如姓名、用户编号、账户余额、用水量等: ``` typedef struct { char name[20]; // 姓名 int id; // 用户编号 float balance; // 账户余额 float usage; // 用水量 } User; ``` 2. 实现用户信息输入和输出功能 接下来,我们需要实现用户信息的输入和输出功能。对于输入,可以使用 `scanf` 函数,对于输出,可以使用 `printf` 函数,例如: ``` void inputUser(User* u) { printf("请输入用户姓名、编号、账户余额和用水量(以空格分隔):"); scanf("%s %d %f %f", u->name, &u->id, &u->balance, &u->usage); } void outputUser(User u) { printf("姓名:%s,编号:%d,账户余额:%.2f,用水量:%.2f\n", u.name, u.id, u.balance, u.usage); } ``` 3. 实现计费功能 某自来水公司的收费标准可能会随着用户的用水量而不同,例如前 10 吨水的单价为 2 元/吨,超过 10 吨的部分为 3 元/吨。因此,我们需要实现一个计费函数,根据用户的用水量来计算费用: ``` float calculateFee(float usage) { float fee = 0; if (usage <= 10) { fee = usage * 2; } else { fee = 10 * 2 + (usage - 10) * 3; } return fee; } ``` 4. 实现主程序 最后,我们需要实现一个主程序,让用户可以输入多个用户的信息,并计算每个用户的费用: ``` #define MAX_USERS 100 // 最大用户数量 int main() { User users[MAX_USERS]; // 用户数组 int n; // 用户数量 // 输入用户数量 printf("请输入用户数量:"); scanf("%d", &n); // 输入用户信息 for (int i = 0; i < n; i++) { inputUser(&users[i]); } // 计算费用并输出 for (int i = 0; i < n; i++) { float fee = calculateFee(users[i].usage); users[i].balance -= fee; outputUser(users[i]); printf("费用:%.2f元\n", fee); printf("账户余额:%.2f元\n", users[i].balance); } return 0; } ``` 在主程序中,我们首先输入用户数量,然后使用循环输入每个用户的信息,接着使用循环计算每个用户的费用,并输出用户信息、费用和账户余额。 完整代码如下: ``` #include <stdio.h> typedef struct { char name[20]; int id; float balance; float usage; } User; void inputUser(User* u) { printf("请输入用户姓名、编号、账户余额和用水量(以空格分隔):"); scanf("%s %d %f %f", u->name, &u->id, &u->balance, &u->usage); } void outputUser(User u) { printf("姓名:%s,编号:%d,账户余额:%.2f,用水量:%.2f\n", u.name, u.id, u.balance, u.usage); } float calculateFee(float usage) { float fee = 0; if (usage <= 10) { fee = usage * 2; } else { fee = 10 * 2 + (usage - 10) * 3; } return fee; } #define MAX_USERS 100 int main() { User users[MAX_USERS]; int n; printf("请输入用户数量:"); scanf("%d", &n); for (int i = 0; i < n; i++) { inputUser(&users[i]); } for (int i = 0; i < n; i++) { float fee = calculateFee(users[i].usage); users[i].balance -= fee; outputUser(users[i]); printf("费用:%.2f元\n", fee); printf("账户余额:%.2f元\n", users[i].balance); } return 0; } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值