首页 > 其他分享 >C语言实训:销售管理系统<仅供参考>

C语言实训:销售管理系统<仅供参考>

时间:2024-10-26 11:51:10浏览次数:8  
标签:COUNT PRODUCT 管理系统 int salesData C语言 实训 printf SALESMAN

问题描述:

本代码比较完善,有菜单模块,拥有较高的可操控性和可观性。

代码所包含的功能有很多:输入销售数据,计算每人每种产品销售额,按销售额对销售员排序,计算每种产品总销售额,显示销售报表......

以下是全部代码:

记得点赞加关注喔~

#include <stdio.h>
#include <stdlib.h>

#define SALESMAN_COUNT 4
#define PRODUCT_COUNT 5

void inputSalesData(int salesData[SALESMAN_COUNT][PRODUCT_COUNT]);
void calculateSalesBySalesmanAndProduct(int salesData[SALESMAN_COUNT][PRODUCT_COUNT]);
void sortSalesmenBySales(int salesData[SALESMAN_COUNT][PRODUCT_COUNT]);
void calculateTotalSalesByProduct(int salesData[SALESMAN_COUNT][PRODUCT_COUNT]);
void displayMenu();
void displaySalesBySalesmanAndProduct(int salesData[SALESMAN_COUNT][PRODUCT_COUNT]);
void displaySortedSalesmen();
void displayTotalSalesByProduct();
void displaySalesReport(int salesData[SALESMAN_COUNT][PRODUCT_COUNT]);

int main() {
    int salesData[SALESMAN_COUNT][PRODUCT_COUNT] = {0};
    int choice;

    do {
        displayMenu();
        scanf("%d", &choice);

        switch (choice) {
            case 1:
                inputSalesData(salesData);
                break;
            case 2:
                calculateSalesBySalesmanAndProduct(salesData);
                break;
            case 3:
                sortSalesmenBySales(salesData);
                break;
            case 4:
                calculateTotalSalesByProduct(salesData);
                break;
            case 5:
                displaySalesReport(salesData);
                break;
            case 6:
                printf("正在退出...\n");
                break;
            default:
                printf("无效选择。请重试。\n");
        }
    } while (choice!= 6);

    return 0;
}

void displayMenu() {
    printf("\n销售管理系统菜单:\n");
    printf("1. 输入销售数据\n");
    printf("2. 计算每人每种产品销售额\n");
    printf("3. 按销售额对销售员排序\n");
    printf("4. 计算每种产品总销售额\n");
    printf("5. 显示销售报表\n");
    printf("6. 退出\n");
    printf("请输入你的选择: ");
}

void inputSalesData(int salesData[SALESMAN_COUNT][PRODUCT_COUNT]) {
    int salesman, product, amount;
    printf("输入销售员编号(1 - 4)、产品编号(1 - 5)和销售额: ");
    scanf("%d %d %d", &salesman, &product, &amount);
    salesData[salesman - 1][product - 1] += amount;
}

void calculateSalesBySalesmanAndProduct(int salesData[SALESMAN_COUNT][PRODUCT_COUNT]) {
    // 此函数用于计算上个月每个人每种产品的销售额,可在输入数据后调用或作为报表生成的一部分。目前只是占位符。
    printf("每人每种产品销售额已计算。\n");
}

void sortSalesmenBySales(int salesData[SALESMAN_COUNT][PRODUCT_COUNT]) {
    int totalSalesBySalesman[SALESMAN_COUNT];
    for (int i = 0; i < SALESMAN_COUNT; i++) {
        totalSalesBySalesman[i] = 0;
        for (int j = 0; j < PRODUCT_COUNT; j++) {
            totalSalesBySalesman[i] += salesData[i][j];
        }
    }

    for (int i = 0; i < SALESMAN_COUNT - 1; i++) {
        for (int j = i + 1; j < SALESMAN_COUNT; j++) {
            if (totalSalesBySalesman[i] < totalSalesBySalesman[j]) {
                int temp = totalSalesBySalesman[i];
                totalSalesBySalesman[i] = totalSalesBySalesman[j];
                totalSalesBySalesman[j] = temp;
            }
        }
    }

    printf("按销售额从高到低排序的销售员编号: ");
    for (int i = 0; i < SALESMAN_COUNT; i++) {
        printf("%d ", i + 1);
    }
    printf("\n");
}

void calculateTotalSalesByProduct(int salesData[SALESMAN_COUNT][PRODUCT_COUNT]) {
    int totalSalesByProduct[PRODUCT_COUNT];
    for (int i = 0; i < PRODUCT_COUNT; i++) {
        totalSalesByProduct[i] = 0;
        for (int j = 0; j < SALESMAN_COUNT; j++) {
            totalSalesByProduct[i] += salesData[j][i];
        }
    }

    printf("每种产品总销售额:\n");
    for (int i = 0; i < PRODUCT_COUNT; i++) {
        printf("产品 %d 的总销售额:%d\n", i + 1, totalSalesByProduct[i]);
    }
}

void displaySalesBySalesmanAndProduct(int salesData[SALESMAN_COUNT][PRODUCT_COUNT]) {
    printf("每人每种产品销售额:\n");
    for (int i = 0; i < SALESMAN_COUNT; i++) {
        for (int j = 0; j < PRODUCT_COUNT; j++) {
            printf("销售员 %d,产品 %d 的销售额:%d\n", i + 1, j + 1, salesData[i][j]);
        }
    }
}

void displaySortedSalesmen() {
    // 此函数用于显示按销售额排序后的销售员,可在对销售员排序后调用。目前只是占位符。
    printf("排序后的销售员已显示。\n");
}

void displayTotalSalesByProduct() {
    // 此函数用于显示每种产品的总销售额,可在计算每种产品总销售额后调用。目前只是占位符。
    printf("每种产品总销售额已显示。\n");
}

void displaySalesReport(int salesData[SALESMAN_COUNT][PRODUCT_COUNT]) {
    printf("销售统计报表:\n");
    printf("销售员编号\t产品1\t产品2\t产品3\t产品4\t产品5\t销售总和\n");
    for (int i = 0; i < SALESMAN_COUNT; i++) {
        int totalSales = 0;
        printf("%d\t\t", i + 1);
        for (int j = 0; j < PRODUCT_COUNT; j++) {
            printf("%d\t\t", salesData[i][j]);
            totalSales += salesData[i][j];
        }
        printf("%d\n", totalSales);
    }
    printf("产品编号\t每种产品总和\n");
    for (int i = 0; i < PRODUCT_COUNT; i++) {
        int totalSales = 0;
        for (int j = 0; j < SALESMAN_COUNT; j++) {
            totalSales += salesData[j][i];
        }
        printf("%d\t\t%d\n", i + 1, totalSales);
    }
}

运行结果:

标签:COUNT,PRODUCT,管理系统,int,salesData,C语言,实训,printf,SALESMAN
From: https://blog.csdn.net/qq_49964423/article/details/143251508

相关文章

  • Springboot宠物医院预约管理系统5l5a0
    Springboot宠物医院预约管理系统5l5a0本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表项目功能:用户,医生,医生信息,线上挂号,宠物分类,宠物病历,宠物寄养,寄养预约开题报告内容一、项目背景与意义随着宠物......
  • 数据结构:学生成绩管理系统(链表方法)〈可直接使用〉
    本代码比较完善,有登录模块和菜单模块,拥有很高的可操控性和可观性。代码所包含的功能有很多:成绩输入与删除,按位置查询学生,按姓名查找学生,求表的长度,求最高分学生信息,显示全部学生信息,保存与读取文件......本代码的文件读取和文件保存是一大亮点,可以灵活的存取,启动一次可以切换......
  • 基于SpringBoot+Vue的鲜牛奶订购管理系统设计与实现毕设(文档+源码)
            目录一、项目介绍二、开发环境三、功能介绍四、核心代码五、效果图六、源码获取:        大家好呀,我是一个混迹在java圈的码农。今天要和大家分享的是一款基于SpringBoot+Vue的鲜牛奶订购管理系统,项目源码请点击文章末尾联系我哦~目前有各类成......
  • ELK日志管理系统搭建文档
    ELK日志管理系统搭建文档ELK是ElasticsearchLogstashkibana三个开源软件的组合来进行搭建.jianyi1jianyijianyi1建议架构:节点服务器部署程序备注节点1node-110.10.183.211Elasticsearch、kibana、head主节点节点2node-210.10.183.1......
  • java计算机毕业设计4S店客户关系管理系统(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景在当今竞争激烈的汽车销售与服务市场中,4S店面临着诸多挑战。随着汽车行业的发展,消费者对于汽车购买和售后服务的期望不断提高,市场上的汽车品牌和......
  • java计算机毕业设计核酸检测管理系统(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景在新冠疫情爆发后,核酸检测成为疫情防控的关键环节。传统的核酸检测管理多依赖人工操作,如人工记录检测者信息、检测结果等,这种方式效率低下且容易......
  • JAVA开源项目 基于Vue和SpringBoot在线文档管理系统
    本文项目编号T038,文末自助获取源码\color{red}{T038,文末自助获取源码}......
  • java计算机毕业设计航空公司货运管理系统(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景在当今全球化的时代,航空货运在国际贸易和物流运输中扮演着极为关键的角色。随着国家经济转型与制造业的稳步升级,国民生活水平大幅提高,航空货运需......
  • 【开题报告】基于Springboot+vueHPV疫苗预约管理系统(程序+源码+论文) 计算机毕业设计
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在当今社会,随着健康意识的不断提升,预防疾病已成为人们日益关注的话题。其中,HPV(人乳头瘤病毒)疫苗作为预防宫颈癌等恶性疾病的重要手段,其接种需求在全球......
  • 一篇文章带你了解基于SpringBoot开发的-Ruoyi若依管理系统及其业务程序生成式开发
    一、关于后台管理系统产品    最近看了一下若依管理系统,说它是一套后台管理系统,其实并不是很准确。它应该是一个后台管理系统的基础架子,包括了后台管理系统必备的功能如菜单管理、用户管理、角色管理、字典管理、日志管理、系统监控等,可以免去很多后台管理系统的最初......