2012-12-02 21 views
0

這裏是我的代碼需要做出一個學生被他的教師數量檢查,如果沒有信息說......如何改造這個週期

cout<<"Enter faculty number of the student(8 digits): "<<endl; 
cin>>ch; 
cout<<"Information about student with number:"<<ch<<endl; 
    for(i=0;i<n;i++) 
    { 
     if(m[i][0]==ch) 
     { 
      for(j=0;j<4;j++) 
       cout<<setprecision(8)<<m[i][j]<<"\t"; 
     } 
     else if(m[i][0]!=ch) 
     { 
      cout<<"No information about this student"<<endl; 
     } 
    } 

其作品大多正常,問題是,如果我的「N」(學生數量輸入了這個代碼)爲3 ...我們將有3個學生和週期「爲」將進行3次..我們1型學生(其實我們正在輸入1個教師編號),當我開始該程序時,它會提供有關該學生的全部信息,並且在兩行新內容上顯示「沒有關於該學生的信息」。 我不能把IF檢查出來與N,因爲我需要滾動m [i] ...謝謝

+0

從我個人理解,你想保持持續循環n次即使的arent n個學生,但不會顯示你的情況下,學生不存在添加的錯誤信息? – asheeshr

+0

我需要循環,因爲數組的......如果我有3點學生的教師人數,我需要檢查所有這些,如果他們是作爲「CH」 ...的類型之一,是對您的問題 – Koleto

回答

2

我對這段代碼有幾點建議。

1)查找條目後檢查m[i][0] == ch只有在學生預計會有多個條目時纔有意義。我懷疑,在這種情況下,您應該儘快讓循環中斷m[i][0] == ch

2)cout<<"No information about this student"<<endl;不應該在循環,因爲它會打印n - 1倍(如果ch確實是一個有效的ID,n次以其他方式)。之後進行相關檢查。