【C++期末/课程设计】快递信息管理系统(DevC项目)

如对项目有任何问题或需要,请加本文下方推广QQ 

本文CSDN资源:https://download.csdn.net/download/weixin_47040861/89635398


1.题目要求

功能要求:
1、设计菜单实现功能选择;
3、增加和删除快递单记录、修改快递单记录;
3、查询派送单信息、收件单信息(可以根据单号、快递类别、收件日期、派送日期查询) ;
4、根据收件日期统计快递单数量、金额;
5、根据派送日期显示未签收的快递单、显示所有的疑难件;
6、可以将快递信息按日期、快递类别、金额等信息项进行排序显示;
7、使用文件读写相关的信息(将信息存入文件或者从文件中读取信息进行操作) ;

编程软件:

2.视频演示

【C++期末/课程设计】快递信息管理系统(DevC项目)

3.项目介绍

首先该项目使用结构体数组存储数据,结构体和函数的声明单独拆分在头文件“struct.h”文件中,函数的实现则位于“struct.cpp”文件中,“main.cpp”文件调用结构体和函数:

结构体和函数的声明:

struct ExpressInfo {
    std::string expressNumber; // 快递单号 
    std::string expressType;  // 快递类别(派送单/收件单)
    std::string senderAddress; //寄送人地址 
    std::string senderPhone; //寄送人电话 
    std::string senderNote; //寄送人备注信息 
    std::string receiverAddress; //收件人地址 
    std::string receiverPhone; //收件人电话 
    std::string receiverNote; //收件人备注信息 
    std::string sendDate; //收件日期 
    std::string deliveryDate; //派送日期 
    bool isSigned;  // 是否签收,是为true,否为false
    double amount; //金额 
    bool isProblematic;  // 是否疑难件,是为true,否为false
    std::string problemNote;  // 疑难件备注,记录难以派送原因

    // 初始化函数 
    ExpressInfo()
        : expressNumber(""), expressType(""), senderAddress(""), senderPhone(""),
          senderNote(""), receiverAddress(""), receiverPhone(""),
          receiverNote(""), sendDate(""), deliveryDate(""),
          isSigned(false), amount(0.0), isProblematic(false), problemNote("") {
    }
};

// 函数声明
void addExpressInfo(ExpressInfo array[], int& count); //增加快递信息
void deleteExpressInfo(ExpressInfo array[], int& count); //删除快递信息
void updateExpressInfo(ExpressInfo array[], int count); //修改快递信息
void findExpressInfo(ExpressInfo array[], int count); //查询快递信息
void countExpressInfoByDate(ExpressInfo array[], int count); // 统计某日快递单数量和金额
void findUnsignedAndProblematic(ExpressInfo array[], int count); // 查询未签收快递单和疑难件
void sortExpressInfo(ExpressInfo array[], int count); // 排序函数

void saveToCSV(ExpressInfo array[], int count); //保存到本地文件 
void loadFromCSV(ExpressInfo array[], int& count); //从本地文件读取 

快递数据同步保存在项目目录下的“struct.csv”文件中,第一行为表头:

1.增加快递信息

逐行接收用户输入的快递信息并保存到结构体数组和本地文件中,其中快递单号不能重复,快递类别必须为“派送单”或“收件单”,日期格式必须为YYYY-MM-DD,注意月份和日期都必须为两位数:

2.删除快递信息

根据输入的快递单号删除对应快递信息:

3.修改快递信息

根据输入的快递单号和操作编号修改对应快递信息:

4.查询快递信息

根据输入的操作编号查询对应内容,注意表格很长,所以最好拉宽窗口:

5.统计某日快递数量和金额

根据输入的日期统计当日快递单量和金额

6.查询未签收快递和疑难件

根据输入的日期查询当日所有未签收快递和疑难件

7.排序

根据输入的操作编号根据对应方式进行排序并打印:

8.退出

输入8退出程序

↓如对项目有任何问题或需要,请加下方QQ↓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小辰代写

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值