c语言编程笔录

首页 > C语言 > c语言

c语言

C语言实现学生个人消费管理系统

更新时间:2023-08-09

前言

学生个人消费管理系统是一个用于帮助学生管理个人消费的软件。通过该系统,学生可以记录他们的消费情况,查看消费报表,分析消费习惯以及制定合理的消费计划。本文将以C语言为基础,设计和编写学生个人消费管理系统。

设计和编写代码

首先,我们需要定义所需的数据结构。学生的消费通常包括日期、消费金额和消费类别等信息。我们可以使用结构体来表示学生的消费记录:

typedef struct {
    char date[11];  // 日期(格式为YYYY-MM-DD)
    float amount;   // 消费金额
    char category[20];  // 消费类别
} Expense;

接下来,我们可以设计主菜单,供用户输入指令选择需要的功能,例如添加消费、查看消费报表、分析消费习惯等:

void printMainMenu() {
    printf("------ 学生个人消费管理系统 ------\n");
    printf("1. 添加消费记录\n");
    printf("2. 查看消费报表\n");
    printf("3. 分析消费习惯\n");
    printf("0. 退出\n");
    printf("--------------------------------\n");
    printf("请输入功能编号:");
}

int main() {
    int choice;
    Expense expenses[MAX_EXPENSES];
    int count = 0;
  
    do {
        printMainMenu();
        scanf("%d", &choice);
      
        switch(choice) {
            case 1:
                addExpense(expenses, &count);
                break;
            case 2:
                viewExpenseReport(expenses, count);
                break;
            case 3:
                analyzeExpenseHabits(expenses, count);
                break;
            case 0:
                printf("感谢使用学生个人消费管理系统!\n");
                break;
            default:
                printf("无效的功能编号,请重新输入。\n");
                break;
        }
    } while(choice != 0);
    
    return 0;
}

代码分析和解释

上述代码定义了一个主菜单函数`printMainMenu()`,用于显示用户可选择的功能列表。主函数中,我们使用一个`do-while`循环,根据用户的选择执行相应的功能函数。参数`expenses`是存储消费记录的数组,`count`表示当前已记录的消费次数。

在`addExpense()`函数中,我们可以根据用户输入来添加新的消费记录:

void addExpense(Expense expenses[], int *count) {
    // 获取用户输入的消费日期、金额和类别
    printf("请输入消费日期(格式为YYYY-MM-DD):");
    scanf("%s", expenses[*count].date);
  
    printf("请输入消费金额:");
    scanf("%f", &expenses[*count].amount);
  
    printf("请输入消费类别:");
    scanf("%s", expenses[*count].category);
  
    // 增加消费记录计数
    (*count)++;
  
    printf("消费记录添加成功!\n");
}

`viewExpenseReport()`函数用于显示消费报表,即按日期顺序列出所有消费记录:

void viewExpenseReport(Expense expenses[], int count) {
    if(count == 0) {
        printf("暂无消费记录。\n");
        return;
    }
  
    printf("------ 消费报表 ------\n");
  
    for(int i=0; i

最后,`analyzeExpenseHabits()`函数用于分析消费习惯,例如统计每个类别的总消费金额、平均每次消费金额等:

void analyzeExpenseHabits(Expense expenses[], int count) {
    if(count == 0) {
        printf("暂无消费记录。\n");
        return;
    }
  
    // 统计每个类别的总消费金额
    float totalAmounts[NUM_CATEGORIES] = {0};
  
    for(int i=0; i

总结

通过使用C语言,我们设计和编写了学生个人消费管理系统。该系统具有添加消费记录、查看消费报表以及分析消费习惯的功能。我们通过结构体`Expense`存储消费记录,并使用了不同的函数来实现相应的功能。希望这个系统对学生们能够有所帮助,使他们能更好地管理个人消费。