(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)