快递小站大作业的vector容器的引入和输出界面文件的同一管理
来源:大三学长在大一下学期的C++大作业,快递小站管理系统。
运行环境:devc++
运行结果截图:
程序代码:
点击查看代码
#include<iostream>
#include<fstream>
#include<string>
#include<stdio.h>
#include<stdlib.h>
#include<vector>
#include"consignee.h"
#include"addressee.h"
#include"express.h"
#include"screen.h"
using namespace std;
int main(){
huanying();
consignee c;
addressee add;
express e[100];
string n;string s;string p;string n2;string s2;string p2;string ee;string shon;string fan;string fanu;string cc;string a;string d;string f;
ifstream ifs;
ifs.open("快递单1信息.txt",ios::in);
string buf;int count=1;
while(getline(ifs,buf)){
if(count%7==1){
shon=buf;
}else if(count%7==2){
cc=buf;
}else if(count%7==3){
ee=buf;
}else if(count%7==4){
f=buf;
}else if(count%7==5){
a=buf;
}else if(count%7==6){
fan=buf;
}else if(count%7==0){
fanu=buf;
for(int i=0;i<100;i++){
if(e[i].getexpressphone() ==""){
e[i].inlt1(ee,shon,fan,fanu,cc,a,f) ;
break;
}
}
}
count++;
}
ifs.close() ;
int count1;
while(1){
printuser();//购书登录界面
cin>>count1;
system("cls");
if(count1==1){
printuser2();
cout<<"姓名:";cin>>n;
cout<<"性别:";cin>>s;
cout<<"电话号码:";cin>>p;
c.inlt(n,s,p);
//改进
vector<string>qujian;
vector<string>::iterator qujianiterator;
qujian.insert(qujian.end(),n);
qujian.insert(qujian.end(),s);
qujian.insert(qujian.end(),p);
ofstream fout("取件人信息.txt",ios::app);
for(qujianiterator=qujian.begin();qujianiterator!=qujian.end();++qujianiterator){
fout<<*qujianiterator<<" ";
}
fout<<"\n";
fout.close();
//改进
system("cls");
while(1){
printuser3();
int count2;
cin>>count2;
system("cls");
if(count2==1){
cout<<"姓名:"<<c.getname() <<" 电话号码:"<<c.getphonenumber() <<endl;
cout<<"快递有:"<<endl;
int cnt1=0;
for(int i=0;i<100;i++){
if(e[i].getconnumber() ==c.getphonenumber()&&e[i].getendtime() =="未取"){
cout<<"快递单号:"<<e[i].getexpressphone() <<"\t"<<"快递公司:"<<e[i].getfirm() <<"\t"<<"发件时间:"<<e[i].getstarttime() <<"\t"<<"取件时间:"<<e[i].getendtime() <<endl;
cout<<"发件人姓名:"<<e[i].getfaname() <<"\t"<<"发件人电话:"<<e[i].getfanumber() <<"\t"<<"收件人姓名:"<<e[i].getshoname() <<"\t"<<"收件人电话"<<e[i].getconnumber() <<endl;
cnt1++;
}
}
if(cnt1==0){
cout<<"无可取快递!\n";
cout<<"输入1返回登录界面";int ggg;cin>>ggg;
system("cls");
}else if(cnt1!=0){
cout<<"是否取件,取件请按1,退出请按2:"<<endl;
int bbb;cin>>bbb;
if(bbb==1){
cout<<"输入取件时间:";
cin>>d;
ofstream fout3("收件人快递单信息.txt",ios::app);
fout3<<"收件人姓名:"<<shon;
fout3<<"\n收件人电话:"<<cc;
fout3<<"\n快递单号:"<<ee;
fout3<<"\n快递公司:"<<f;
fout3<<"\n发货时间:"<<a;
fout3<<"\n收货时间:"<<d;
fout3<<"\n发件人姓名:"<<n2;
fout3<<"\n发件人电话:"<<p2;
fout3<<"\n**********\n";
fout3.close();
for(int i=0;i<100;i++){
if(e[i].getconnumber() ==c.getphonenumber()){
e[i].inlt1(d);
}
}
cout<<"取件成功"<<endl;
cout<<"输入1返回登录界面";int ccc;cin>>ccc;
system("cls");
}else if(bbb==2){
system("cls");
}
}
}else if(count2==2){
cout<<"输入快递单号:";
string ddd;
cin>>ddd;
cout<<"姓名:"<<c.getname() <<" 电话号码:"<<c.getphonenumber() <<endl;
cout<<"快递有:"<<endl;
int cnt2=0;
for(int i=0;i<100;i++){
if(e[i].getexpressphone() ==ddd&&e[i].getendtime() =="未取"){
cout<<"快递单号:"<<e[i].getexpressphone() <<"\t"<<"快递公司:"<<e[i].getfirm() <<"\t"<<"发件时间:"<<e[i].getstarttime() <<"\t"<<"取件时间:"<<e[i].getendtime() <<endl;
cout<<"发件人姓名:"<<e[i].getfaname() <<"\t"<<"发件人电话:"<<e[i].getfanumber() <<"\t"<<"收件人姓名:"<<e[i].getshoname() <<"\t"<<"收件人电话"<<e[i].getconnumber() <<endl;
cnt2++;
}
}
if(cnt2==0){
cout<<"无可取快递!\n";
cout<<"输入1返回登录界面";int ggg;cin>>ggg;
system("cls");
}else if(cnt2!=0){
cout<<"是否取件,取件请按1,退出请按2:"<<endl;
int eee;cin>>eee;
if(eee==1){
cout<<"输入取件时间:";
cin>>d;
ofstream fout3("收件人快递单信息.txt",ios::app);
fout3<<"收件人姓名:"<<shon;
fout3<<"\n收件人电话:"<<cc;
fout3<<"\n快递单号:"<<ee;
fout3<<"\n快递公司:"<<f;
fout3<<"\n发货时间:"<<a;
fout3<<"\n收货时间:"<<d;
fout3<<"\n发件人姓名:"<<n2;
fout3<<"\n发件人电话:"<<p2;
fout3<<"\n**********\n";
fout3.close();
for(int i=0;i<100;i++){
if(e[i].getexpressphone() ==ddd){
e[i].inlt1(d);
}
}
cout<<"取件成功"<<endl;
cout<<"输入1返回";int ccc;cin>>ccc;
system("cls");
}else if(eee==2){
system("cls");
}
}
}else if(count2>2||count2<1){
break;
}
}
}else if(count1==2){
printuser4();
cout<<"姓名:";cin>>n2;
cout<<"性别:";cin>>s2;
cout<<"电话号码:";cin>>p2;
add.inlt2(n2,s2,p2);
//改进
vector<string>qujian;
vector<string>::iterator qujianiterator;
qujian.insert(qujian.end(),n2);
qujian.insert(qujian.end(),s2);
qujian.insert(qujian.end(),p2);
ofstream fout1("发件人信息.txt",ios::app);
for(qujianiterator=qujian.begin();qujianiterator!=qujian.end();++qujianiterator){
fout1<<*qujianiterator<<" ";
}
fout1<<"\n";
fout1.close();
system("cls");
cout<<"请填写下面发件单信息:"<<endl;
cout<<"收件人姓名:";cin>>shon;
cout<<"收件人电话:";cin>>cc;
cout<<"快递单号:";cin>>ee;
cout<<"快递公司:";cin>>f;
cout<<"发货时间:";cin>>a;
cout<<"发货信息完成,发货成功!";
fan=n2;fanu=p2;
for(int i=0;i<100;i++){
if(e[i].getexpressphone() ==""){
e[i].inlt1(ee,shon,fan,fanu,cc,a,f) ;
break;
}
}
cout<<"输入1返回";int fff;cin>>fff;
system("cls") ;
}else if(count1==3){
while(1){
printuser5();
int hhh;cin>>hhh;
system("cls");
if(hhh==1){
//删除订单
printuser6();
int iii;cin>>iii;
system("cls");
if(iii==1){
cout<<"输入要删除快递单的发件人电话:";
string kkk;cin>>kkk;
system("cls");
int cnt3=0;
for(int i=0;i<100;i++){
if(e[i].getfanumber() ==kkk){
cnt3++;
cout<<"此用户快递单有:";
cout<<"快递单号:"<<e[i].getexpressphone() <<"\t"<<"快递公司:"<<e[i].getfirm() <<"\t"<<"发件时间:"<<e[i].getstarttime() <<"\t"<<"取件时间:"<<e[i].getendtime() <<endl;
cout<<"发件人姓名:"<<e[i].getfaname() <<"\t"<<"发件人电话:"<<e[i].getfanumber() <<"\t"<<"收件人姓名:"<<e[i].getshoname() <<"\t"<<"收件人电话:"<<e[i].getconnumber() <<endl;
cout<<"删除请按1,退出请按2;";
int kkk2;cin>>kkk2;
if(kkk2==1){
e[i].inlt1() ;
cout<<"删除成功!\n";
}else if(kkk2!=1){
break;
}
}
}
if(cnt3==0){
cout<<"此用户没有快递单。\n";
}
cout<<"输入数字返回。";int kkk5;cin>>kkk5;system("cls");
}else if(iii=2){
int cnt9=0;
for(int i=0;i<100;i++){
if(e[i].getexpressphone()!=""){
cout<<"今日所以快递单有:\n";
cnt9++;
cout<<"快递单号:"<<e[i].getexpressphone() <<"\t"<<"快递公司:"<<e[i].getfirm() <<"\t"<<"发件时间:"<<e[i].getstarttime() <<"\t"<<"取件时间:"<<e[i].getendtime() <<endl;
cout<<"发件人姓名:"<<e[i].getfaname() <<"\t"<<"发件人电话:"<<e[i].getfanumber() <<"\t"<<"收件人姓名:"<<e[i].getshoname() <<"\t"<<"收件人电话:"<<e[i].getconnumber() <<endl;
}
}
for(int i=0;i<100;i++){
e[i].inlt1() ;
}
if(cnt9==0){
cout<<"今日没有快递单。\n";
}else if(cnt9!=0){
cout<<"删除完毕!\n";
}
cout<<"输入数字返回。";int kkk4;cin>>kkk4;system("cls");
}else if(iii>2||iii<1){
break;
}
}else if(hhh==2){
//修改订单
cout<<"请输入要修改的快递单的发件人电话号码:";
string lll;cin>>lll;
int cnt4=0;
for(int i=0;i<100;i++){
if(e[i].getfanumber() ==lll&&e[i].getendtime() =="未取"){
cout<<"快递单修改前:\n";
cout<<"快递单号:"<<e[i].getexpressphone() <<"\t"<<"快递公司:"<<e[i].getfirm() <<"\t"<<"发件时间:"<<e[i].getstarttime() <<"\t"<<"取件时间:"<<e[i].getendtime() <<endl;
cout<<"发件人姓名:"<<e[i].getfaname() <<"\t"<<"发件人电话:"<<e[i].getfanumber() <<"\t"<<"收件人姓名:"<<e[i].getshoname() <<"\t"<<"收件人电话:"<<e[i].getconnumber() <<endl;
fan=e[i].getfaname();fanu=e[i].getfanumber();
cout<<"进行修改,重新填入信息:\n";
cout<<"收件人姓名:";cin>>shon;
cout<<"收件人电话:";cin>>cc;
cout<<"快递单号:";cin>>ee;
cout<<"快递公司:";cin>>f;
cout<<"发货时间:";cin>>a;
cout<<"发货修改信息完成,修改成功!\n";
for(int i=0;i<100;i++){
if(e[i].getfanumber() ==lll){
e[i].inlt1(ee,shon,fan,fanu,cc,a,f) ;
break;
}
}cnt4++;
}
}
if(cnt4==0){
cout<<"此用户没有快递单。\n";
}
cout<<"输入数字返回。";int lll4;cin>>lll4;system("cls");
}else if(hhh==3){
//查询订单
printuser7();
int iii2;cin>>iii2;
system("cls");
if(iii2==1){
cout<<"输入要查询快递单的发件人电话:";
string kkk5;cin>>kkk5;
system("cls");
int cnt5=0;
for(int i=0;i<100;i++){
if(e[i].getfanumber() ==kkk5&&e[i].getendtime() =="未取"){
cnt5++;
cout<<"此用户快递单有:\n";
cout<<"快递单号:"<<e[i].getexpressphone() <<"\t"<<"快递公司:"<<e[i].getfirm() <<"\t"<<"发件时间:"<<e[i].getstarttime() <<"\t"<<"取件时间:"<<e[i].getendtime() <<endl;
cout<<"发件人姓名:"<<e[i].getfaname() <<"\t"<<"发件人电话:"<<e[i].getfanumber() <<"\t"<<"收件人姓名:"<<e[i].getshoname() <<"\t"<<"收件人电话"<<e[i].getconnumber() <<endl;
}
}
if(cnt5==0){
cout<<"此用户没有快递单。\n";
}
cout<<"输入数字返回。";int kkk9;cin>>kkk9;system("cls");
}else if(iii2==2){
int cnt6=0;
for(int i=0;i<100;i++){
if(e[i].getexpressphone() !=""&&e[i].getendtime() =="未取"){
cnt6++;
cout<<"此用户快递单有:\n";
cout<<"快递单号:"<<e[i].getexpressphone() <<"\t"<<"快递公司:"<<e[i].getfirm() <<"\t"<<"发件时间:"<<e[i].getstarttime() <<"\t"<<"取件时间:"<<e[i].getendtime() <<endl;
cout<<"发件人姓名:"<<e[i].getfaname() <<"\t"<<"发件人电话:"<<e[i].getfanumber() <<"\t"<<"收件人姓名:"<<e[i].getshoname() <<"\t"<<"收件人电话"<<e[i].getconnumber() <<endl;
}
}
if(cnt6==0){
cout<<"今日没有快递单。\n";
}
cout<<"输入数字返回。";int kkk9;cin>>kkk9;system("cls");
}else if(iii2<1||iii2>2){
}
}else if(hhh==4){
cout<<"\t\t\t**********今日全部已取快递单**********\n";
ifstream ifs;
ifs.open("收件人快递单信息.txt",ios::in);
char buf1[1024]={0};
while(ifs>>buf1){
cout<<buf1<<endl;
}
ifs.close() ;
cout<<"\n已显示全部已取快递单信息,输入1返回。";
int kkk10;cin>>kkk10;system("cls");
}else if(hhh<1||hhh>4){
break;
}
}
}else if(count1>3||count1<1){
goto out;
}
}out:
//
for(int i=0;i<100;i++){
if(e[i].getexpressphone() !=""){
ofstream fout3("快递单1信息.txt",ios::app);
fout3<<e[i].getshoname() <<endl;
fout3<<e[i].getconnumber() <<endl;
fout3<<e[i].getexpressphone() <<endl;
fout3<<e[i].getfirm() <<endl;
fout3<<e[i].getstarttime() <<endl;
fout3<<e[i].getfaname() <<endl;
fout3<<e[i].getfanumber() <<endl;
fout3.close();
}
}
return 0;
}
#pragma once
#include<iostream>
using namespace std;
class consignee{
private:
string name;
string sex;
string phonenumber;
public:
consignee();
void inlt(string n,string s,string p);
string getname();
string getsex();
string getphonenumber();
};
#include"consignee.h"
consignee::consignee() {
name="";sex="";phonenumber="";
}
void consignee::inlt(string n,string s,string p) {
name=n;sex=s;phonenumber=p;
}
string consignee::getname(){
return name;
}
string consignee::getsex() {
return sex;
}
string consignee::getphonenumber() {
return phonenumber;
}
#pragma once
#include<iostream>
using namespace std;
class addressee{
private:
string name2;
string sex2;
string phonenumber2;
public:
addressee();
void inlt2(string n,string s,string p);
string getname2();
string getsex2();
string getphonenumber2();
};
#include"addressee.h"
addressee::addressee() {
name2="";sex2="";phonenumber2="";
}
void addressee::inlt2(string n,string s,string p) {
name2=n;sex2=s;phonenumber2=p;
}
string addressee::getname2(){
return name2;
}
string addressee::getsex2() {
return sex2;
}
string addressee::getphonenumber2() {
return phonenumber2;
}
#pragma once
#include<iostream>
using namespace std;
class express{
private:
string expressphone;
string shoname;
string faname;
string fanumber;
string connumber;
string starttime;
string endtime;
string firm;
public:
express();
void inlt1();
void inlt1(string ee,string shon,string fan,string fanu,string cc,string a,string f);
void inlt1(string d);
string getexpressphone();
string getshoname();
string getfaname();
string getfanumber();
string getconnumber();
string getstarttime();
string getendtime();
string getfirm();
};
#include"express.h"
express::express() {
expressphone="";shoname="";faname="";fanumber="";connumber="";starttime="";endtime="未取";
}
void express::inlt1() {
expressphone="";shoname="";faname="";fanumber="";connumber="";starttime="";endtime="未取";
}
void express::inlt1(string ee,string shon,string fan,string fanu,string cc,string a,string f) {
expressphone=ee;shoname=shon;faname=fan;fanumber=fanu;connumber=cc;starttime=a;endtime="未取";firm=f;
}
void express::inlt1(string d){
expressphone=expressphone;shoname=shoname;faname=faname;fanumber=fanumber;connumber=connumber;starttime=starttime;endtime=d;firm=firm;
}
string express::getexpressphone() {
return expressphone;
}
string express::getshoname(){
return shoname;
}
string express::getfaname() {
return faname;
}
string express::getfanumber() {
return fanumber;
}
string express::getconnumber() {
return connumber;
}
string express::getstarttime() {
return starttime;
}
string express::getendtime() {
return endtime;
}
string express::getfirm() {
return firm;
}
#pragma once
#include<iostream>
using namespace std;
huanying();
printuser(void);
printuser1(void);
printuser2(void);
printuser3(void);
printuser4(void);
printuser5(void);
printuser6(void);
printuser7(void);
#include"screen.h"
//欢迎界面
int huanying()
{
while(1){
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<"\t\t\t|********************|"<<endl;
cout<<"\t\t\t|欢迎进入快递小站系统|"<<endl;
cout<<"\t\t\t| 按 1 进入系统 |"<<endl;
cout<<"\t\t\t**********************"<<endl;
int number;
cin>>number;
if(number==1){
system("cls");
cout<<"\n";
return 0;
}else if(number!=1){
system("cls");
system("cls");
}
}
}
//输出账号菜单
void printuser(void)
{
cout<<"\t\t\t**************************\n";
cout<<"\t\t\t| 主菜单 |\n";
cout<<"\t\t\t| 取件人登录 请按 1 |\n";
cout<<"\t\t\t| 发件人登录 请按 2 |\n";
cout<<"\t\t\t| 管理员登录 请按 3 |\n";
cout<<"\t\t\t| 退出系统 请按 其他 |\n";
cout<<"\t\t\t**************************\n";
}
//取件登录界面
void printuser2(void){
cout<<"\t\t\t*********************\n";
cout<<"\t\t\t| 取件登录界面 |\n";
cout<<"\t\t\t| 输入用户信息 |\n";
cout<<"\t\t\t*********************\n";
}
//发件登录界面
void printuser4(void){
cout<<"\t\t\t*********************\n";
cout<<"\t\t\t| 发件登录界面 |\n";
cout<<"\t\t\t| 输入用户信息 |\n";
cout<<"\t\t\t*********************\n";
}
//取件选择界面
void printuser3(void){
cout<<"\t\t\t**************************\n";
cout<<"\t\t\t| 取件选择 |\n";
cout<<"\t\t\t| 电话号码取件 请按 1 |\n";
cout<<"\t\t\t| 快递单号取件 请按 2 |\n";
cout<<"\t\t\t| 返回 其他 |\n";
cout<<"\t\t\t**************************\n";
}
//管理员选择界面
void printuser5(void)
{
cout<<"\t\t\t**************************\n";
cout<<"\t\t\t| 订单操作 |\n";
cout<<"\t\t\t| 删除订单 请按 1 |\n";
cout<<"\t\t\t| 修改订单 请按 2 |\n";
cout<<"\t\t\t| 查询订单 请按 3 |\n";
cout<<"\t\t\t| 已取订单 请按 4 |\n";
cout<<"\t\t\t| 返回 其他 |\n";
cout<<"\t\t\t**************************\n";
}
//删除订单选择界面
void printuser6(void){
cout<<"\t\t\t**************************\n";
cout<<"\t\t\t| 删除选择 |\n";
cout<<"\t\t\t| 搜索删除 请按 1 |\n";
cout<<"\t\t\t| 全部删除 请按 2 |\n";
cout<<"\t\t\t| 返回 其他 |\n";
cout<<"\t\t\t**************************\n";
}
//查询订单选择界面
void printuser7(void){
cout<<"\t\t\t**************************\n";
cout<<"\t\t\t| 查询选择 |\n";
cout<<"\t\t\t| 搜索查询 请按 1 |\n";
cout<<"\t\t\t| 全部查询 请按 2 |\n";
cout<<"\t\t\t| 返回 其他 |\n";
cout<<"\t\t\t**************************\n";
}
主要问题列表:
1. 单个输入取件人和发件人信息时,程序复杂不易管理。
问题改善:
引入vector容器,具有高度的稳定性和可靠性。它们内置了许多安全特性,如边界检查和迭代器失效检查,有助于减少程序中的错误和漏洞。将取件人收件人信息打包管理,方便程序运行和管理类。
2.多个输出界面函数与主程序放置一起,杂乱不易查看和更改。
问题改善:
使用多文件管理,将所以输出界面函数打包放置新创建的screen.h和screen.cpp中。方便输出界面的查看和修改,使程序更加清晰。
新代码:
点击查看代码
//改进
vector<string>qujian;
vector<string>::iterator qujianiterator;
qujian.insert(qujian.end(),n);
qujian.insert(qujian.end(),s);
qujian.insert(qujian.end(),p);
ofstream fout("取件人信息.txt",ios::app);
for(qujianiterator=qujian.begin();qujianiterator!=qujian.end();++qujianiterator){
fout<<*qujianiterator<<" ";
}
fout<<"\n";
fout.close();
//改进
//改进
vector<string>qujian;
vector<string>::iterator qujianiterator;
qujian.insert(qujian.end(),n2);
qujian.insert(qujian.end(),s2);
qujian.insert(qujian.end(),p2);
ofstream fout1("发件人信息.txt",ios::app);
for(qujianiterator=qujian.begin();qujianiterator!=qujian.end();++qujianiterator){
fout1<<*qujianiterator<<" ";
}
fout1<<"\n";
fout1.close();
#pragma once
#include<iostream>
using namespace std;
huanying();
printuser(void);
printuser1(void);
printuser2(void);
printuser3(void);
printuser4(void);
printuser5(void);
printuser6(void);
printuser7(void);
#include"screen.h"
//欢迎界面
int huanying()
{
while(1){
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<"\t\t\t|********************|"<<endl;
cout<<"\t\t\t|欢迎进入快递小站系统|"<<endl;
cout<<"\t\t\t| 按 1 进入系统 |"<<endl;
cout<<"\t\t\t**********************"<<endl;
int number;
cin>>number;
if(number==1){
system("cls");
cout<<"\n";
return 0;
}else if(number!=1){
system("cls");
system("cls");
}
}
}
//输出账号菜单
void printuser(void)
{
cout<<"\t\t\t**************************\n";
cout<<"\t\t\t| 主菜单 |\n";
cout<<"\t\t\t| 取件人登录 请按 1 |\n";
cout<<"\t\t\t| 发件人登录 请按 2 |\n";
cout<<"\t\t\t| 管理员登录 请按 3 |\n";
cout<<"\t\t\t| 退出系统 请按 其他 |\n";
cout<<"\t\t\t**************************\n";
}
//取件登录界面
void printuser2(void){
cout<<"\t\t\t*********************\n";
cout<<"\t\t\t| 取件登录界面 |\n";
cout<<"\t\t\t| 输入用户信息 |\n";
cout<<"\t\t\t*********************\n";
}
//发件登录界面
void printuser4(void){
cout<<"\t\t\t*********************\n";
cout<<"\t\t\t| 发件登录界面 |\n";
cout<<"\t\t\t| 输入用户信息 |\n";
cout<<"\t\t\t*********************\n";
}
//取件选择界面
void printuser3(void){
cout<<"\t\t\t**************************\n";
cout<<"\t\t\t| 取件选择 |\n";
cout<<"\t\t\t| 电话号码取件 请按 1 |\n";
cout<<"\t\t\t| 快递单号取件 请按 2 |\n";
cout<<"\t\t\t| 返回 其他 |\n";
cout<<"\t\t\t**************************\n";
}
//管理员选择界面
void printuser5(void)
{
cout<<"\t\t\t**************************\n";
cout<<"\t\t\t| 订单操作 |\n";
cout<<"\t\t\t| 删除订单 请按 1 |\n";
cout<<"\t\t\t| 修改订单 请按 2 |\n";
cout<<"\t\t\t| 查询订单 请按 3 |\n";
cout<<"\t\t\t| 已取订单 请按 4 |\n";
cout<<"\t\t\t| 返回 其他 |\n";
cout<<"\t\t\t**************************\n";
}
//删除订单选择界面
void printuser6(void){
cout<<"\t\t\t**************************\n";
cout<<"\t\t\t| 删除选择 |\n";
cout<<"\t\t\t| 搜索删除 请按 1 |\n";
cout<<"\t\t\t| 全部删除 请按 2 |\n";
cout<<"\t\t\t| 返回 其他 |\n";
cout<<"\t\t\t**************************\n";
}
//查询订单选择界面
void printuser7(void){
cout<<"\t\t\t**************************\n";
cout<<"\t\t\t| 查询选择 |\n";
cout<<"\t\t\t| 搜索查询 请按 1 |\n";
cout<<"\t\t\t| 全部查询 请按 2 |\n";
cout<<"\t\t\t| 返回 其他 |\n";
cout<<"\t\t\t**************************\n";
}
重构软件的测试截图:
总结:
首先要观察并且熟悉原来的代码,了解那一段代码应该干什么,熟悉那段代码是数据的输入和存储。由于此程序数据多并且数据是局部的有联系,刚好应用容器的特性来做一个数据的暂存。要熟悉掌握vector容器并且应用到实际问题中,找到用来代码记录数据地方进行删改。第二个改动是,由于主函数代码过多,导致代码的可读性低不易观看和修改,由此我在项目中创建文件,将所有的输出界面函数放置在一个文件中分类管理,方便于以后的修改和提高了代码的可读性。这次软件的改进创新不仅要学习观看他人程序代码熟悉程序脉络,继而在自己发现的方面,用自己的技术进行了改进,是对自己编写程序的更大挑战。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类