快递小站大作业的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容器并且应用到实际问题中,找到用来代码记录数据地方进行删改。第二个改动是,由于主函数代码过多,导致代码的可读性低不易观看和修改,由此我在项目中创建文件,将所有的输出界面函数放置在一个文件中分类管理,方便于以后的修改和提高了代码的可读性。这次软件的改进创新不仅要学习观看他人程序代码熟悉程序脉络,继而在自己发现的方面,用自己的技术进行了改进,是对自己编写程序的更大挑战。

posted @   zhao123123  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示