用c语言简易写一个陈陈电力公司收费管理信息系统
时间: 2023-11-17 12:06:38 浏览: 53
好的,我可以帮你提供一个简单的陈陈电力公司收费管理信息系统的C语言示例代码,但由于篇幅限制,只提供主要功能的实现。
代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义客户结构体
typedef struct customer {
char name[20]; // 姓名
int id; // 客户ID
float power_usage; // 电量使用量
float bill; // 账单金额
struct customer *next; // 指向下一个客户的指针
} Customer;
// 函数声明
void add_customer(Customer **head, int id, char *name, float power_usage);
void calculate_bill(Customer *head);
void print_customers(Customer *head);
void delete_customers(Customer **head);
int main() {
Customer *head = NULL;
int choice, id;
char name[20];
float power_usage;
// 主循环
do {
printf("\n1. 添加客户\n");
printf("2. 计算账单\n");
printf("3. 显示客户列表\n");
printf("4. 清空客户列表\n");
printf("0. 退出\n");
printf("\n请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("\n请输入客户ID:");
scanf("%d", &id);
printf("请输入客户姓名:");
scanf("%s", name);
printf("请输入电量使用量:");
scanf("%f", &power_usage);
add_customer(&head, id, name, power_usage);
printf("添加成功!\n");
break;
case 2:
calculate_bill(head);
printf("账单计算完成!\n");
break;
case 3:
print_customers(head);
break;
case 4:
delete_customers(&head);
printf("客户列表已清空!\n");
break;
case 0:
printf("再见!\n");
break;
default:
printf("输入错误,请重新选择!\n");
break;
}
} while (choice != 0);
return 0;
}
// 添加客户
void add_customer(Customer **head, int id, char *name, float power_usage) {
Customer *new_customer = (Customer *)malloc(sizeof(Customer));
strcpy(new_customer->name, name);
new_customer->id = id;
new_customer->power_usage = power_usage;
new_customer->bill = 0;
new_customer->next = NULL;
if (*head == NULL) {
*head = new_customer;
} else {
Customer *current = *head;
while (current->next != NULL) {
current = current->next;
}
current->next = new_customer;
}
}
// 计算账单
void calculate_bill(Customer *head) {
Customer *current = head;
float price = 0.5; // 单价
while (current != NULL) {
current->bill = current->power_usage * price;
current = current->next;
}
}
// 显示客户列表
void print_customers(Customer *head) {
if (head == NULL) {
printf("\n客户列表为空!\n");
} else {
printf("\n客户列表:\n");
printf("ID\t姓名\t电量使用量\t账单金额\n");
Customer *current = head;
while (current != NULL) {
printf("%d\t%s\t%.2f\t\t%.2f\n", current->id, current->name, current->power_usage, current->bill);
current = current->next;
}
}
}
// 清空客户列表
void delete_customers(Customer **head) {
Customer *current = *head;
while (current != NULL) {
Customer *temp = current;
current = current->next;
free(temp);
}
*head = NULL;
}
```
这个简易的收费管理信息系统可以添加客户、计算账单、显示客户列表和清空客户列表等功能。你可以根据自己的需求进行修改和完善。