亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 3號文件.cpp

?? 一份功能詳細的圖書館管理系統的軟件(包含各種頭文件和CPP文件,以及相關的文檔).
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
class StuInfoManager:public stuinfovec{
protected:
	bool isModified;//學生信息是否已被修改還未保存
	int toRemvNodes;//做了刪除標記的記錄數
    char menuSelect();//菜單選擇函數
	void dispTable();//顯示表頭findRecord()
	void dispRecord(Record*rec);//顯示一條記錄的信息
	int getIndex(float sum);//找出給定總分在所有記錄中的名次
public:
	static char* subject_[];

public:
	StuInfoManager();
	virtual ~StuInfoManager();

	virtual void start(){   
		cout<<"        **************歡迎使用學生成績管理系統*****************"<<endl;


};	                              
	virtual void handleMenu(){
		cout<<"A.顯示記錄"<<endl;
	    cout<<"B.查詢記錄"<<endl;
		cout<<"C.添加記錄"<<endl;
		cout<<"D.刪除記錄"<<endl;
		cout<<"E.標記刪除記錄"<<endl;
		cout<<"F.修改記錄"<<endl;
		cout<<"G.記錄排序"<<endl;
		cout<<"H.保存記錄"<<endl;
		cout<<"I.讀取記錄"<<endl;
		cout<<"J.結束程序"<<endl;
		cout<<"K.清空當前記錄信息"<<endl;
		cout<<"L.找出給定總分在所有記錄中的名次"<<endl;
};//菜單處理函數管理程序的用戶界面操作
	virtual void displayRecords(){
	   int c=0;
       dispTable();
       for(Recordvec::iterator i=rec.begin();i!=rec.end();i++)
        {
          cout<<(*i)->number;
          cout<<"    "<<(*i)->name;
          cout<<"        "<<(*i)->gender;
          cout<<"     "<<(*i)->score[0]<<"    ";
          cout<<(*i)->score[1]<<"    ";
          cout<<(*i)->score[2]<<"    ";
          cout<<(*i)->score[3]<<"    ";     
          cout<<(*i)->score[4]<<"    ";
          cout<<(*i)->sum<<"    ";
          cout<<(*i)->average<<"      ";  
          cout<<(*i)->index<<endl;
          c++;
          if(c==20)
          {
             cout<<"請輸入回車鍵繼續顯示."; 
             char ch;
             cin>>ch;
             while(ch!='\n')
             {cout<<"請輸入回車鍵繼續顯示."; cin>>ch;}  //循環
       }  
    }  
};            //顯示記錄dsplayRecords()成員函數會通過取下標迭代遍歷整個記錄,顯示所有的記錄。每輸出20個記錄后會停下來,
	          //等待用戶輸入"回車"鍵后,再輸出后面的記錄。
	virtual void queryRecord(){char M;
		cout<<"請選擇查詢方式.A 學號. B 姓名. C 名次."<<endl;
		cin>>M;
		patten=M;
		if(M==A) {
            cout<<"請輸入學號:";
            string s;    
            cin>>s;
            vector<Record*>::iterator i,j,k;
            i=recVec.begin();k=recVec.end();
            j=findRecord(i,s,0);/////////////調用StuInfoVec中的函數I為迭代器的對象。S為人的學號
			                    ////(Iterator from,string patten,int type)TYPE的作用?
                	            //virtual Iterator findRecord(Iterator from,string patten,int type)
                                //{
                                //   Iterator it;
                                /////   Iterator it_end = recVec.end();
                                //   for(it = from; it != it_end; it++)          //////////通過迭代來歷遍VECTOR
                                //   {
	                                             ////      if((*it)->number==patten)return it;    ////////返回Record;
	                            //      if((*it)->name==patten)return it;
	                            //       if((*it)->index==type)return it;
	       
                                //   }
                                //   return it;              ///////怎么還要返回?
                                // }
			if(j!=k)            //到K-1;
            {
               dispTable();//顯示一條記錄的信息,抽象的概念 
               while(j!=k){dispRecord(j);j++;j=findRecord(j,s,0);}//////從第一個到最后一個連續查詢
            }           ///顯示信息。循環。 
            else cout<<"您所查詢的信息不存在"<<endl; 
        }       
        if(M==B)
        {
            cout<<"請輸入姓名:";
            string s;    //////////方法同上
            cin>>s;
            vector<Record*>::iterator i,j,k;
            i=recVec.begin();k=recVec.end();
            j=findRecord(i,s,0); 
            if(j!=k)
            {
               dispTable();
               while(j!=k){dispRecord(j);j++;j=findRecord(j,s,0);}//找出給定總分在所有記錄中的名次
            }
            else cout<<"您所查詢的信息不存在"<<endl; 
        }           
        if(M==C)
        {
            cout<<"請輸入名次:";
            int s;    
            cin>>s;
            Iterator i,j,k;
            i=recVec.begin();k=recVec.end();
            j=findRecord(i," ",s);
            if(j!=k)
            {
               dispTable();//顯示一條記錄的信息
               while(j!=k){dispRecord(j);j++;j=findRecord(j," ",s);}
            }
            else cout<<"您所查詢的信息不存在"<<endl; 
        }                       
    } 
};//查詢記錄
    virtual void addRecord(Record*rec){     //調用StuInfoVec的addRecord()成員函數添加到信息記錄的末尾
		cout<<"請輸入學生信息."<<endl;
		cin>>rec.number;
		cin>>rec.name;
		cin>>rec.gender;
		for(int x=0;x<NUM_SUBJECT;x++)
	    cin>>rec.score[x];	
        rec.sum=rec.sum+rec.score[x];
		rec.average=rec.sum/NUM_SUBJECT;
		rec.index=getindex(rec.sum);
	    StuInfoVec::addRecord(rec);
}	//添加記錄/////////調用了protected成員函數getIndex()
	virtual void removeRecord()
	{
        int a;
        cout<<"1.標記待刪除的記錄."<<endl;
        cout<<"2.取消刪除標記."<<endl;
        cout<<"3.刪除標記待刪除的記錄."<<endl;    
        cout<<"選擇具體的操作:";    
        cin>>a;
        while((a!=1)&&(a!=2)&&(a!=3)&&(a!=4))//////////可以考慮用SWITCH語句
        {
           cout<<"選擇具體的操作:";    
           cin>>a; 
        }    
        if(a==1)removeNote(false);////BOOL類型
        if(a==2)removeNote(true); 
        if(a==3)
        {
            vector<Record*>::iterator i,j,k;
            i=recVec.begin();k=recVec.end();
            j=findRecord(i);////////findRecord(i,PATTEN,TUPE)
            if(j!=k)
            {
               dispTable();
               while(j!=k){dispRecord(j);j++;j=findRecord(j);}
               cout<<"是否確定刪除全部標記刪除的記錄.(yes/no)";
               string s;
               cin>>s;
               while((s!="yes")&&(s!="no"))
               {
                   cout<<"是否確定刪除全部標記刪除的記錄.(yes/no)";
                   cin>>s;
               }           
               if(s=="yes")cout<<"刪除了"<<StuInfoVec::removePerform()<<"條待刪除的記錄."<<endl; 
            }/////////////////////返回的是C,即等待刪除的記錄的條數。
            else cout<<"沒有標記刪除的記錄."<<endl;     
      }    
}     //刪除記錄//removeRecord()成員函數將啟動一個子菜單,讓用戶選擇具體的刪除操作,
	                                     //包括標記待刪除的記錄,執行標記,取消指定記錄的刪除標記和取消全部標記。
	                                     //然后依據用戶的選擇調用removeNote()和removePerform()成員函數。
   virtual void removeNote(bool isToRemove)
	{
       
       if(isToRemove==false)
       {
           int a;
           cout<<"請選擇條件(1.學號、2.姓名、3.名次):";
           cin>>a;
           while((a!=1)&&(a!=2)&&(a!=3))
           {
              cout<<"請選擇條件(1.學號、2.姓名、3.名次):";
              cin>>a;
           }    
           if(a==1)
           {
            cout<<"請輸入學號:";
            string s;    
            cin>>s;
            Iterator i,j,k;
            i=recVec.begin();k=recVec.end();
            j=findRecord(i,s,0);/////////////方法同上////////////////////////////////////////////////
            if(j!=k)
            {
               dispTable();
               dispRecord(j);
               cout<<"是否確定標記記錄.(yes/no)";
               string s;
               cin>>s;
               while((s!="yes")&&(s!="no"))
               {
                   cout<<"是否確定標記記錄.(yes/no)";
                   cin>>s;
               }           
               if(s=="yes")(*j)->toBeDeleted=true;   
            }  
            else cout<<"您所查詢的信息不存在"<<endl;
           }       
           if(a==2)
           {
            cout<<"請輸入姓名:";
            string s;    
            cin>>s;
            Iterator i,j,k;
            i=recVec.begin();k=recVec.end();
            j=findRecord(i,s,0);
            if(j!=k)
            {
               dispTable();
               dispRecord(j);
               cout<<"是否確定標記記錄.(yes/no)";
               string s;
               cin>>s;
               while((s!="yes")&&(s!="no"))
               {
                   cout<<"是否確定標記記錄.(yes/no)";
                   cin>>s;
               }           
               if(s=="yes")(*j)->toBeDeleted=true;   
            }  
            else cout<<"您所查詢的信息不存在"<<endl;
           }             
           if(a==3)
           {
            cout<<"請輸入名次:";
            int s;    
            cin>>s;
            Iterator i,j,k;
            i=recVec.begin();k=recVec.end();
            j=findRecord(i," ",s);
            if(j!=k)
            {
               dispTable();
               dispRecord(j);
               cout<<"是否確定標記記錄.(yes/no)";
               string s;
               cin>>s;
               while((s!="yes")&&(s!="no"))
               {
                   cout<<"是否確定標記記錄.(yes/no)";
                   cin>>s;
               }           
               if(s=="yes")(*j)->toBeDeleted=true;   
            }  
            else cout<<"您所查詢的信息不存在"<<endl;
           }
       }                   
       if(isToRemove==true)
       {
           int a;
           cout<<"1.取消指定記錄的刪除標記."<<endl;
           cout<<"2.取消全部標記."<<endl;    
           cout<<"選擇具體的操作:";    
           cin>>a;
           while((a!=1)&&(a!=2))
           {
             cout<<"選擇具體的操作:";    
             cin>>a; 
           }    
         if(a==1)
         { 
           int a;
           cout<<"請選擇條件(1.學號、2.姓名、3.名次):";
           cin>>a;
           while((a!=1)&&(a!=2)&&(a!=3))
           {
              cout<<"請選擇條件(1.學號、2.姓名、3.名次):";
              cin>>a;
           }    
           if(a==1)
           {
            cout<<"請輸入學號:";
            string s;    
            cin>>s;
            vector<Record*>::iterator i,j,k;
            i=recVec.begin();k=recVec.end();
            j=findRecord(i,s,0);
            if(j!=k)
            {
               dispTable();
               dispRecord(j);
               cout<<"是否確定取消記錄的刪除標記.(yes/no)";
               string s;
               cin>>s;
               while((s!="yes")&&(s!="no"))
               {
                   cout<<"是否確定取消記錄的刪除標記.(yes/no)";
                   cin>>s;
               }           
               if(s=="yes")(*j)->toBeDeleted=false;   
            }  
            else cout<<"您所查詢的信息不存在"<<endl;
           }       
           if(a==2)
           {
            cout<<"請輸入姓名:";
            string s;    
            cin>>s;
            vector<Record*>::iterator i,j,k;
            i=recVec.begin();k=recVec.end();
            j=findRecord(i,s,0);
            if(j!=k)
            {
               dispTable();
               dispRecord(j);
               cout<<"是否確定取消記錄的刪除標記.(yes/no)";
               string s;
               cin>>s;
               while((s!="yes")&&(s!="no"))
               {
                   cout<<"是否確定取消標記記錄.(yes/no)";
                   cin>>s;
               }           
               if(s=="yes")(*j)->toBeDeleted=false;   
            }  
            else cout<<"您所查詢的信息不存在"<<endl;
           }             
           if(a==3)
           {
            cout<<"請輸入名次:";
            int s;    
            cin>>s;
            vector<Record*>::iterator i,j,k;
            i=recVec.begin();k=recVec.end();
            j=findRecord(i," ",s);
            if(j!=k)
            {
               dispTable();
               dispRecord(j);
               cout<<"是否確定取消標記錄的刪除標記.(yes/no)";
               string s;
               cin>>s;
               while((s!="yes")&&(s!="no"))
               {
                   cout<<"是否確定取消標記記錄.(yes/no)";
                   cin>>s;
               }           
               if(s=="yes")(*j)->toBeDeleted=false;   
            }  
            else cout<<"您所查詢的信息不存在"<<endl;
           }
         }                 
         if(a==2)  
         {
            vector<Record*>::iterator i,j,k;
            i=recVec.begin();k=recVec.end();
            j=findRecord(i);
            if(j!=k)
            {
               dispTable();
               while(j!=k){dispRecord(j);j++;j=findRecord(j);}
               cout<<"是否確定取消全部標記記錄.(yes/no)";
               string s;
               cin>>s;
               while((s!="yes")&&(s!="no"))
               {
                   cout<<"是否確定取消全部標記記錄.(yes/no)";
                   cin>>s;
               }           
               if(s=="yes")
               {
                   j=findRecord(i);
                   while(j!=k)
                   {(*j)->toBeDeleted=false;j++;j=findRecord(j);} 
               }    
            }
            else cout<<"沒有標記刪除的記錄."<<endl;    
         }    
      }        
   }         
//標記刪除記錄

	virtual void modifyRecord()
	{
        int a;
        cout<<"請選擇條件(1.學號、2.姓名、3.名次):";
        cin>>a;
        while((a!=1)&&(a!=2)&&(a!=3))
        {
           cout<<"請選擇條件(1.學號、2.姓名、3.名次):";
           cin>>a;
        }    
        if(a==1)
        {
            cout<<"請輸入學號:";
            string s;    
            cin>>s;
            vector<Record*>::iterator i,j,k;
            i=recVec.begin();k=recVec.end();
            j=findRecord(i,s,0);
            if(j!=k)
            {
               dispTable();
               dispRecord(j);
               cout<<"是否確定修改記錄.(yes/no)";
               string s;
               cin>>s;
               while((s!="yes")&&(s!="no"))
               {
                   cout<<"是否確定修改記錄.(yes/no)";
                   cin>>s;
               }           
               if(s=="yes")
               {
                   cout<<"請輸入學生的信息:"<<endl;
                   cout<<"學號:";cin>>(*j)->number;    
                   cout<<"姓名:";cin>>(*j)->name;
                   cout<<"性別:";cin>>(*j)->gender;     
                   cout<<subject_[0]<<"成績:";cin>>(*j)->score[0];
                   cout<<subject_[1]<<"成績:";cin>>(*j)->score[1];
                   cout<<subject_[2]<<"成績:";cin>>(*j)->score[2];
                   cout<<subject_[3]<<"成績:";cin>>(*j)->score[3];
                   cout<<subject_[4]<<"成績:";cin>>(*j)->score[4];
                   (*j)->sum=0;
                   for(int i=0;i<=4;i++)
                   (*j)->sum+=(*j)->score[i];
                   (*j)->average=(*j)->sum/5;
                   getIndex();
               }        

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合一个色综合亚洲| 亚洲精品高清在线| 欧美日韩精品一区二区三区| 97精品久久久久中文字幕| 国产高清无密码一区二区三区| 日韩av一二三| 日本va欧美va欧美va精品| 丝瓜av网站精品一区二区| 天天综合天天综合色| 日韩激情一二三区| 国产一区二区主播在线| www.色综合.com| 欧美性猛片xxxx免费看久爱| 91麻豆精品国产| 亚洲精品一区二区在线观看| 国产做a爰片久久毛片| 国产精品白丝jk白祙喷水网站| 成人丝袜高跟foot| 欧美久久久久久久久| 亚洲激情中文1区| 奇米亚洲午夜久久精品| 国精产品一区一区三区mba桃花| 成人理论电影网| 26uuu久久综合| 国产酒店精品激情| 欧美日韩一本到| 久久久久久久久久久久电影| 日本特黄久久久高潮| 日本三级亚洲精品| 国产高清久久久久| 精品久久一区二区三区| 亚洲成人精品影院| 色老汉一区二区三区| 最新成人av在线| 国产精品一区在线观看你懂的| 在线精品视频免费播放| 国产精品久久毛片av大全日韩| 国产在线国偷精品产拍免费yy | proumb性欧美在线观看| 久久久不卡网国产精品一区| 精品一区二区三区影院在线午夜| 青青草视频一区| 精品国产麻豆免费人成网站| 午夜日韩在线观看| 在线播放/欧美激情| 免费一级片91| 欧美激情在线观看视频免费| 国产91精品免费| 国产精品久久久久久户外露出| 9i看片成人免费高清| 亚洲第一精品在线| 久久久亚洲综合| 色噜噜狠狠色综合中国| 五月天视频一区| 精品免费日韩av| 国产成人av一区二区三区在线| 久久久精品国产免大香伊| 99国产精品国产精品久久| 久久日韩粉嫩一区二区三区| 免费观看在线综合| 久久久久久毛片| 在线视频亚洲一区| 另类小说综合欧美亚洲| 国产精品久久久久久久久晋中| 日本高清不卡视频| 色综合久久综合网97色综合| 五月婷婷激情综合网| 国产精品网站一区| 日韩免费观看高清完整版 | 欧美一区日本一区韩国一区| 捆绑调教美女网站视频一区| 国产精品久久久久永久免费观看| 欧美一区二区三区在线看| 97se亚洲国产综合自在线观| 韩国av一区二区三区| 午夜精品视频一区| 亚洲永久免费av| 国产精品美女久久久久久2018| 91麻豆精品国产91久久久更新时间| 不卡电影一区二区三区| 国产一区二区三区不卡在线观看| 午夜一区二区三区视频| 亚洲男帅同性gay1069| 国产欧美日韩在线| 18成人在线视频| 亚洲精品国产成人久久av盗摄| 欧美激情艳妇裸体舞| 国产精品色一区二区三区| 久久久国产精华| 国产精品亲子伦对白| 国产午夜亚洲精品理论片色戒| 久久亚洲综合色一区二区三区| 精品国产三级a在线观看| 久久久久久久电影| 亚洲黄网站在线观看| 亚洲成精国产精品女| 亚洲va欧美va人人爽| 国产精品福利影院| 怡红院av一区二区三区| 免费观看成人av| 高清国产一区二区三区| av电影天堂一区二区在线| 91国产视频在线观看| 久久蜜桃av一区精品变态类天堂| 亚洲综合图片区| 看电影不卡的网站| 91网站视频在线观看| 欧美日韩综合在线免费观看| 精品国产一区二区三区忘忧草 | 亚洲va欧美va天堂v国产综合| 美女高潮久久久| 国产精品一级片在线观看| 午夜精品视频在线观看| 国产福利电影一区二区三区| 欧美亚洲免费在线一区| 久久一夜天堂av一区二区三区| 亚洲永久免费视频| 91小宝寻花一区二区三区| 精品福利一二区| 丝袜美腿成人在线| 欧美中文字幕一区二区三区| 欧美国产精品久久| 国产成人综合网站| 精品99久久久久久| 久久疯狂做爰流白浆xx| 欧美影视一区二区三区| 国产精品毛片大码女人| 蜜臀av性久久久久蜜臀aⅴ| 欧美一级日韩免费不卡| 久久综合色综合88| 免费观看久久久4p| 精品国免费一区二区三区| 蜜桃视频在线观看一区二区| 欧美一区二区三区免费视频| 一级中文字幕一区二区| 91社区在线播放| 亚洲综合999| 日韩一区二区三区免费看| 日产国产欧美视频一区精品| 日韩一区二区三区av| 国产乱码精品一区二区三区五月婷| xfplay精品久久| 色噜噜狠狠成人网p站| 午夜精品在线视频一区| 日韩免费福利电影在线观看| 国产999精品久久| 中文字幕av一区二区三区高 | 成人网在线播放| 一区二区中文视频| 国产不卡高清在线观看视频| 欧美tickling挠脚心丨vk| 久久电影国产免费久久电影| 国产盗摄女厕一区二区三区| 一区二区三区在线观看视频| 亚洲欧美一区二区三区国产精品| 日韩一区二区三区视频在线观看| 久久欧美一区二区| 亚洲柠檬福利资源导航| 成人v精品蜜桃久久一区| 精品国产免费久久| 精品一区二区三区免费毛片爱| 欧美剧情片在线观看| 中文字幕一区二区三中文字幕 | 亚洲欧洲精品一区二区三区| 欧美区在线观看| 久久精品人人爽人人爽| 日本一区二区成人在线| 精品影视av免费| 欧美在线观看一二区| 国产精品乱人伦一区二区| 麻豆精品视频在线观看免费| 欧美性大战久久久| 亚洲影视资源网| 色狠狠综合天天综合综合| 中文字幕精品一区| 成人av在线影院| 国产精品国产a| 成人免费视频app| 国产精品电影院| 国产精品 欧美精品| 国产日韩欧美一区二区三区综合| 岛国一区二区三区| 亚洲国产精品精华液2区45| voyeur盗摄精品| 1000精品久久久久久久久| 国产91在线观看丝袜| 亚洲免费av高清| 欧美日韩亚洲国产综合| 蜜臀久久99精品久久久久久9| 欧美一级淫片007| 国产麻豆精品在线观看| 中文在线资源观看网站视频免费不卡| 成人精品视频网站| 亚洲人成影院在线观看| 国产精品一区二区久久不卡| 91成人免费在线| 久久只精品国产| 亚洲国产精品一区二区www| 国产电影精品久久禁18| 亚洲丝袜另类动漫二区|