写一个关于学生个人消费管理系统c语言代码
时间: 2023-12-24 11:05:49 浏览: 125
以下是一个简单的学生个人消费管理系统的 C 语言代码示例:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_RECORDS 100 // 最大记录数
// 消费记录结构体
typedef struct {
int id; // 记录编号
char date[20]; // 日期
char category[20]; // 消费类别
double amount; // 消费金额
} Record;
// 学生结构体
typedef struct {
char name[20]; // 姓名
int age; // 年龄
Record records[MAX_RECORDS]; // 消费记录数组
int record_count; // 消费记录数量
double total_spending; // 总消费金额
} Student;
// 打印学生信息
void print_student_info(Student student) {
printf("姓名:%s\n", student.name);
printf("年龄:%d\n", student.age);
printf("消费记录数量:%d\n", student.record_count);
printf("总消费金额:%.2f\n", student.total_spending);
printf("消费记录:\n");
printf("编号\t日期\t\t类别\t金额\n");
for (int i = 0; i < student.record_count; i++) {
Record record = student.records[i];
printf("%d\t%s\t%s\t%.2f\n", record.id, record.date, record.category, record.amount);
}
printf("\n");
}
// 添加消费记录
void add_record(Student *student, char *date, char *category, double amount) {
// 生成记录编号
int id = student->record_count + 1;
// 创建新的消费记录
Record record = {id, "", "", amount};
strcpy(record.date, date);
strcpy(record.category, category);
// 将记录添加到学生的消费记录数组中
student->records[student->record_count] = record;
student->record_count++;
// 更新学生的总消费金额
student->total_spending += amount;
}
int main() {
// 创建学生
Student student = {"张三", 20, {}, 0, 0.0};
// 添加消费记录
add_record(&student, "2022-01-01", "餐饮", 50.0);
add_record(&student, "2022-01-02", "购物", 100.0);
add_record(&student, "2022-01-03", "娱乐", 80.0);
// 打印学生信息
print_student_info(student);
return 0;
}
```
该示例代码使用了结构体来组织学生和消费记录的数据,并提供了添加消费记录和打印学生信息的函数。在程序中创建了一个学生对象,并添加了三条消费记录,最后打印了学生的信息。
阅读全文