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

C语言实现学生消费管理系统攻略】

一、需求分析

对于学生来说,管理自己的消费是很有必要的。因此我们需要实现一款学生消费管理系统,具备以下功能:

  • 学生信息管理:包括姓名、学号、性别等信息。
  • 消费信息管理:包括日期、消费品种(如食物、书籍等)、消费金额等信息。
  • 消费查询功能:能够查询某一段时间内的消费情况。
  • 统计分析功能:能够统计学生的消费情况,如消费总额、平均每日消费等。

二、设计思路

学生消费管理系统可以使用C语言来实现,具体的设计思路如下:

  1. 学生信息和消费信息的数据结构定义:使用结构体类型来定义学生信息和消费信息,包括姓名、学号、性别、消费日期、消费品种和消费金额等信息。
  2. 学生信息和消费信息的录入:使用scanf函数来录入信息,使用fscanf来从文件中读取信息。
  3. 学生信息和消费信息的查询:使用printf函数来显示信息,使用fprintf函数将数据存储到文件中。
  4. 统计分析功能的实现: 使用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技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • 配置iptables实现本地端口转发的方法详解

    下面是关于配置iptables实现本地端口转发的方法详解,包含两条示例说明: 一、什么是iptables iptables是Linux系统中基于网络包过滤的软件,它可以管理网络连接,实现网络包的过滤、NAT、端口转发、防火墙等功能,非常常用。 二、本地端口转发 本地端口转发是指将客户端请求的某个端口转发到本机的另一个端口,或者将本机请求的某个端口转发到远程机…

    C 2023年5月24日
    00
  • epoll多路复用的一个实例程序(C实现)

    下面是对“epoll多路复用的一个实例程序(C实现)”的完整攻略。 标题一 概述 本程序是一个利用epoll多路复用机制来实现高并发网络通信的实例程序。主要实现了一个基于TCP协议的简单服务器,可同时支持多个客户端连接。 使用方法 编译程序:使用make命令进行编译: make 启动服务器:使用以下命令启动服务器: ./server [port] 其中por…

    C 2023年5月23日
    00
  • N点虚拟主机管理系统出现错误代码-100001的解决方法

    N点虚拟主机管理系统出现错误代码-100001的解决方法 问题描述 在使用N点虚拟主机管理系统时,用户可能会遇到错误代码-100001,这通常是由于N点虚拟主机管理系统的一些配置问题引起的。 解决方法 1. 检查配置文件 首先,您需要检查配置文件,确保所有必要的参数设置正确。如果配置文件中存在错误或缺失,可能会导致错误代码-100001的出现。按照以下步骤进…

    C 2023年5月22日
    00
  • C语言编程C++编辑器及调试工具操作命令详解

    C语言编程C++编辑器及调试工具操作命令详解 1. 编辑器 1.1 什么是编辑器 编辑器是一种用于编写程序源码的软件,常用的编辑器有Visual Studio Code、Sublime Text、Notepad++等。 1.2 Visual Studio Code Visual Studio Code是一款免费开源的文本编辑器,可以在Windows、Linu…

    C 2023年5月23日
    00
  • 45W pd电源到底怎么样?小米45W USB-C电源测评

    45W PD电源的介绍 45W PD电源是一种高功率输出的USB-C电源,可以为充电功率需求较高的设备提供更快的充电速度,如大型笔记本电脑、平板电脑和智能手机等。小米45W USB-C电源是目前市面上最受欢迎的45W PD电源之一。 电源性能测试 为了测试小米45W USB-C电源的性能表现,我们进行了以下测试: 确定输出功率 首先,我们测试了电源提供的最大…

    C 2023年5月23日
    00
  • C语言访问特殊用途的地址

    我来详细讲解一下C语言访问特殊用途的地址的完整使用攻略。 什么是特殊用途地址 特殊用途地址(Special Purpose Address)是指在计算机系统中被用于特定目的的内存地址。在C程序中,可以通过这些地址来访问一些系统资源,如输入输出端口、内存映射设备等。 常见的特殊用途地址包括两种:物理地址和虚拟地址。物理地址是指直接映射到物理内存的地址,而虚拟地…

    C 2023年5月10日
    00
  • C++算法学习之贪心算法的应用

    C++算法学习之贪心算法的应用 算法简介 贪心算法是一种算法思想,指的是在求解问题时,总是做出当前看来最优的选择,也就是说在每一步中都选择最优解,最终得到全局最优解。 贪心算法的优点在于其简单易懂、运行效率高等特点。但是,由于贪心算法对于求解问题的约束条件和目标函数的要求过高,导致其只能解决部分问题,无法求解所有NP问题。一般情况下,合理的贪心策略是求解问题…

    C 2023年5月22日
    00
  • 一起来了解c语言的str函数

    一起来了解C语言的str函数 str函数简介 在C语言中,字符串是以字符数组的形式存在的,而str函数就是C语言中对字符串的处理函数之一。str函数常用于字符串的复制,连接,比较和查找等操作。 str函数的常用类型 str函数有多个类型,其中最常用的函数类型如下: strcpy: 字符串拷贝函数,用于将源字符串复制到目标字符串中。 strcat: 字符串连接…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部