物业费管理系统c语言链表
时间: 2023-09-02 08:08:52 浏览: 64
以下是一个简单的物业费管理系统的C语言链表实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_NAME_LEN 20
typedef struct PropertyFee {
char name[MAX_NAME_LEN];
int fee;
struct PropertyFee* next;
} PropertyFee;
void addPropertyFee(PropertyFee** head, char* name, int fee) {
PropertyFee* newPropertyFee = (PropertyFee*)malloc(sizeof(PropertyFee));
strncpy(newPropertyFee->name, name, MAX_NAME_LEN);
newPropertyFee->fee = fee;
newPropertyFee->next = NULL;
if (*head == NULL) {
*head = newPropertyFee;
} else {
PropertyFee* cur = *head;
while (cur->next != NULL) {
cur = cur->next;
}
cur->next = newPropertyFee;
}
}
void printPropertyFee(PropertyFee* propertyFee) {
printf("%s: %d\n", propertyFee->name, propertyFee->fee);
}
void printPropertyFeeList(PropertyFee* head) {
PropertyFee* cur = head;
while (cur != NULL) {
printPropertyFee(cur);
cur = cur->next;
}
}
void freePropertyFeeList(PropertyFee* head) {
PropertyFee* cur = head;
while (cur != NULL) {
PropertyFee* next = cur->next;
free(cur);
cur = next;
}
}
int main() {
PropertyFee* head = NULL;
addPropertyFee(&head, "A", 100);
addPropertyFee(&head, "B", 200);
addPropertyFee(&head, "C", 300);
printPropertyFeeList(head);
freePropertyFeeList(head);
head = NULL;
return 0;
}
```
这个程序定义了一个`PropertyFee`结构体,包含了物业费的名称和金额,以及一个指向下一个物业费的指针。`addPropertyFee`函数将新的物业费添加到链表的末尾,`printPropertyFeeList`函数遍历整个链表并打印出每个物业费的名称和金额,`freePropertyFeeList`函数释放链表中的所有内存。在主函数中,我们创建一个空链表,添加三个物业费,打印出整个链表,然后释放链表中的所有内存。
当然,这只是一个非常简单的示例,实际的物业费管理系统可能需要更多的功能和复杂的逻辑。