家庭财务管理系统c语言代码
时间: 2024-01-02 13:00:29 浏览: 118
家庭财务管理系统是一个用于帮助家庭管理和跟踪财务状况的应用程序。以下是一个简单的C语言代码示例,用于实现家庭财务管理系统的基本功能:
#include <stdio.h>
#include <stdlib.h>
#define MAX_ENTRIES 100
typedef struct {
int day;
int month;
int year;
} Date;
typedef struct {
Date transactionDate;
char description[100];
double amount;
} Entry;
void addEntry(Entry entries[], int* count) {
if (*count >= MAX_ENTRIES) {
printf("已达到最大条目数!\n");
return;
}
printf("请输入交易日期[日 月 年]:");
scanf("%d %d %d", &entries[*count].transactionDate.day,
&entries[*count].transactionDate.month,
&entries[*count].transactionDate.year);
printf("请输入交易描述:");
scanf("%s", entries[*count].description);
printf("请输入金额:");
scanf("%lf", &entries[*count].amount);
printf("条目添加成功!\n");
(*count)++;
}
void viewEntries(Entry entries[], int count) {
if (count == 0) {
printf("没有记录!\n");
return;
}
printf("日期\t\t\t描述\t\t金额\n");
printf("-------------------------------------------\n");
for (int i = 0; i < count; i++) {
printf("%d/%d/%d\t\t%s\t\t%.2f\n",
entries[i].transactionDate.day,
entries[i].transactionDate.month,
entries[i].transactionDate.year,
entries[i].description,
entries[i].amount);
}
}
int main() {
Entry entries[MAX_ENTRIES];
int count = 0;
int choice;
do {
printf("\n家庭财务管理系统\n");
printf("1. 添加交易\n");
printf("2. 查看所有交易\n");
printf("3. 退出\n");
printf("请选择操作(1-3):");
scanf("%d", &choice);
switch (choice) {
case 1:
addEntry(entries, &count);
break;
case 2:
viewEntries(entries, count);
break;
case 3:
printf("已退出!\n");
break;
default:
printf("无效的选择!\n");
break;
}
} while (choice != 3);
return 0;
}
这段代码定义了两个结构体,Date
用于表示日期,Entry
用于表示交易条目。addEntry
函数用于添加新的交易记录,通过用户输入交易日期、描述和金额并将其存储到 entries
数组中。viewEntries
函数用于查看所有的交易记录。main
函数为用户提供了一个简单的菜单,允许用户选择添加交易、查看所有交易或退出程序。程序使用循环来持续接收用户输入,直到用户选择退出。最后,程序返回0以表示正常结束。
请注意,这只是一个简单的示例,实际应用中可能需要添加更多功能,例如删除或编辑交易记录、生成报告、支持多个家庭成员的账户等。此示例代码仅作为参考,具体应根据实际需求进行相应的修改和完善。