精華區beta NTUE-CS100 關於我們 聯絡資訊
(1)輸入多位姓名學號分數->以輸入人數來決定陣列大小 KO! (2)以姓名或學號搜尋分數 (3)找出最高分的或最低分的 KO! (4)找出不及格的,印列出;或是找出及格的列印出 (5)以分數比較大小,依序排出 (6)算平均 (7)可以無限執行(執行完2.3.4.5.6功能後 會在問你要執行什麼) KO! =========================================== 接下來寫(2)搜尋吧 核心if-else架構 if(choice==1){ /* 讀入資料 */ void readData(name,id,grade,total_number); }else if(choice==2){ void search(name,id,grade,total_number); //老方法,定義一個函數 //把會用到的東西都丟進函數裡 }else if(choice==3){ /* 找最高分或最低分 */ void findMaxmin(name,id,grade,total_number); }else if(choice==4){ /* 依此類推 */ } ================strcmp()======================= 寫search之前,要先瞭解一個函數叫strcmp(),這是C++的標準函式庫之一 (剛剛維浩問我怎麼念,這個函數應該是String Compare的縮寫 不過到底怎麼念呢....我也不知道XD) strcmp的用途就是比較兩個字串 如果兩個丟進去的字串一模一樣,strcmp就會回傳0 範例/ 假設要比較a跟b兩個字串是否相同 if(strcmp(a,b)==0){ cout << "a跟b相同" << endl; }else{ cout << "a跟b不同" << endl; } 這樣了乎? ===============search()========================== 瞭解之後就可以寫search函數啦 void search(char name[][10], //老樣子 四個參數 char id[][10], float grade[], int total_number ){ char temp[10]; cout << "請輸入要搜尋的姓名或學號"; cin>>tem for(int i=0;i<total_number;i++){ //一樣整個陣列掃過一次 if(strcmp(temp,name[i])==0){ //比較name[i]跟temp兩個字串 //如果一樣,那就是找到目標啦 cout << "找到目標"; cout << id[i] << name[i] <<"成績是"<< grade[i] <<"分" << endl; } } } //我這裡只有搜尋名字而已 //如果還要搜尋學號的話呢? 應該不難吧 -- ---- chchwy <批兔個人版> ptt2.cc -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.68.15.109 ※ 編輯: chchwy 來自: 203.68.15.109 (01/14 02:27) ※ 編輯: chchwy 來自: 203.68.15.109 (01/14 02:42) ※ 編輯: chchwy 來自: 203.68.15.109 (01/15 20:27)