【题目】快件管理系统
【目的】
通过设计一个小型的快件管理系统,训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念,使自己的程序设计与调试水平有一个明显的提高。
【要求】
1、每个学生必须独立完成;
2、课程设计时间为1周;
3、设计语言采用C++;
4、学生有事离校必须请假。课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,未按规定上交实验报告的学生,其成绩按不及格处理。
- 选题
快件管理系统
- 需求分析
- 包裹快件管理:
包裹有快递单号,快递公司、收件人信息和寄件人信息等信息。当每个快递入库时,每个包裹会生成取件号,通过手机号码查询,代收点可查询到该快递的位置并完成出库操作。取件人通过手机号可以查到该快递的取件号码以及存放状态。
- 系统与用户管理:
- 用户登录管理
代收点有账号密码输入后可对一些一些包裹进行操作。取件人不需要登录,但只有查看权限。在退出时,系统能保存当天的快件信息。同时保存每天记录快递收取情况。
- 代收点管理
根据账号密码输入后,可以根据快递单号对快件进行查询、修改、删除等操作。同时根据系统保存的历史记录,当输入日期时,可以查询当天各个快递公司的收取件量。
- 取件人管理
取件人进入系统无需登录,在选择好身份之后输入手机号即可查询到自己快件的取件号码,以及是否被取走等信息。
- 程序代码与说明
- admin.h
#include<vector>
using namespace std;
#include "Package.h"
class Manager {
private:
string UID = "admin";
string Password="damin";
public:
vector <Package> L1;
void SetUserID(string ID) { UID = ID; }
void SetPassword(string password) { Password = password; }
string GetUserID() { return UID; }
string GetPassword() { return Password;}
void Insertpackage();
void Checkpickcode();//查询取件码
void ModifyInfor();//修改快递信息
void Unpickpackage();//未取件快递
void Ifpickpack();//查询是否取件
void Pickpackage();//用户取件
};
- menu.h
#pragma once
using namespace std;
#include"package.h"
class menu {
public:
void HomePage();
void IdentitySelect();
int SignIn();
void ManagerMenu();
void PackCheckin();
void GetPackInfor();
//int Check();
};
- Package.h
#pragma once
#include <string>
#include<iostream>
using namespace std;
class Package{
private:
string TrackingNumber;//快递单号
string ExpressCompany;//快递公司
string Recipient;//收件人
string RecPhone;//收件人电话
string RecAddress;//收件人地址
string RecZip;//收件邮编
string Sender;//寄件人
string SenPhone;//寄件人电话
string SenAddress;//寄件地址
string SenZip;//寄件邮编
int Weight;//重量
string PID;//取件码
bool Flag;//是否取件
public:
Package();
Package(string danhao, string gongsi, string shoujianren, string shouphone, string shouaddress, string youbian, string jijianren, string jiphone, string jiaddress, string zip, int weight);
void setTrackingNumber(string danhao);
void setExpressCompany(string gongsi);
void setRecipient(string shoujianren);
void setRecPhone(string shouphone);
void setRecAddress(string shouaddress);
void setRecZip(string youbian);
void setSender(string jijianren);
void setSenPhone(string jiphone);
void setSenAddress(string jiaddress);
void setSenZip(string zip);
void setWeight(int weight);
void setPID(string PID);
void setFlag(bool flag);
string GetTrackingNumber() { return TrackingNumber; }
string GetExpressCompany() { return ExpressCompany; }
string GetRecipient() { return Recipient; }
string GetRecPhone() { return RecPhone; }
string GetRecAddress() { return RecAddress; }
string GetRecZip() { return RecZip; }
string GetSender() { return Sender; }
string GetSenPhone() { return SenPhone; }
string GetSenAdddress() { return SenAddress; }
string GetSenzip() { return SenZip; }
int GetWeight() { return Weight; }
string GetPID() { return PID; }
bool getFlag() { return Flag; }
void showinformation();
};
- Cdata.h
#ifndef CDATE_H
#define CDATE_H
#include <time.h>
#include <string>
using namespace std;
class Cdate
{