【C语言实现学生消费管理系统攻略】
一、需求分析
对于学生来说,管理自己的消费是很有必要的。因此我们需要实现一款学生消费管理系统,具备以下功能:
- 学生信息管理:包括姓名、学号、性别等信息。
- 消费信息管理:包括日期、消费品种(如食物、书籍等)、消费金额等信息。
- 消费查询功能:能够查询某一段时间内的消费情况。
- 统计分析功能:能够统计学生的消费情况,如消费总额、平均每日消费等。
二、设计思路
学生消费管理系统可以使用C语言来实现,具体的设计思路如下:
- 学生信息和消费信息的数据结构定义:使用结构体类型来定义学生信息和消费信息,包括姓名、学号、性别、消费日期、消费品种和消费金额等信息。
- 学生信息和消费信息的录入:使用scanf函数来录入信息,使用fscanf来从文件中读取信息。
- 学生信息和消费信息的查询:使用printf函数来显示信息,使用fprintf函数将数据存储到文件中。
- 统计分析功能的实现: 使用for循环和if语句来计算统计分析结果,并使用printf函数输出结果。
三、代码实现(示例一)
以下是学生消费管理系统的代码实现示例:
#include<stdio.h>
typedef struct student{
char name[20];
int id;
char sex[10];
} Student; //定义学生信息结构体
typedef struct consumption{
char date[10];
char category[20];
float amount;
} Consumption; //定义消费信息结构体
void input_student_info(Student *student);
void input_consumption_info(Consumption *consumption);
void save_student_info(Student student);
void save_consumption_info(Consumption consumption);
int main(){
Student student;
input_student_info(&student);
save_student_info(student);
Consumption consumption;
input_consumption_info(&consumption);
save_consumption_info(consumption);
return 0;
}
void input_student_info(Student *student){
printf("请输入学生姓名:");
scanf("%s", student->name);
printf("请输入学号:");
scanf("%d", &student->id);
printf("请输入性别:");
scanf("%s", student->sex);
}
void input_consumption_info(Consumption *consumption){
printf("请输入消费日期:");
scanf("%s", consumption->date);
printf("请输入消费品种:");
scanf("%s", consumption->category);
printf("请输入消费金额:");
scanf("%f", &consumption->amount);
}
void save_student_info(Student student){
FILE *f;
f = fopen("student.txt", "w");
fprintf(f, "%s %d %s", student.name, student.id, student.sex);
fclose(f);
}
void save_consumption_info(Consumption consumption){
FILE *f;
f = fopen("consumption.txt", "w");
fprintf(f, "%s %s %.2f", consumption.date, consumption.category, consumption.amount);
fclose(f);
}
该程序可以录入学生信息和消费信息,并存储到文件中。
四、代码实现(示例二)
以下是消费查询功能的代码实现示例:
#include<stdio.h>
typedef struct consumption{
char date[10];
char category[20];
float amount;
} Consumption; //定义消费信息结构体
void query_consumption_info(char *start_date, char *end_date);
int main(){
query_consumption_info("2021-01-01", "2021-01-30");
return 0;
}
void query_consumption_info(char *start_date, char *end_date){
FILE *f;
f = fopen("consumption.txt", "r");
while(!feof(f)){
Consumption consumption;
fscanf(f, "%s %s %f", consumption.date, consumption.category, &consumption.amount);
if(strcmp(consumption.date, start_date) >= 0 && strcmp(consumption.date, end_date) <= 0){
printf("%s\t%s\t%.2f\n", consumption.date, consumption.category, consumption.amount);
}
}
fclose(f);
}
该程序可以查询给定日期范围内的消费信息并输出到屏幕上。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言实现学生消费管理系统 - Python技术站