(1)輸入多位姓名學號分數->以輸入人數來決定陣列大小 KO!
(2)以姓名或學號搜尋分數
(3)找出最高分的或最低分的
(4)找出不及格的,印列出;或是找出及格的列印出
(5)以分數比較大小,依序排出
(6)算平均
(7)可以無限執行(執行完2.3.4.5.6功能後 會在問你要執行什麼) KO!
===========================================
現在資料有了,可以開始做點事情啦
先從簡單的開始做,先來做(3)的功能
為了讓版面不要太亂,這裡只留下核心的if-else架構
if(choice==1){
/* 讀入資料 */
void readData(name,id,grade,total_number);
}else if(choice==2){
}else if(choice==3){
/* 找最高分或最低分 */
void findMaxmin(name,id,grade,total_number);
//一樣在這裡加進一個函數
//把會用到的東西都丟進函數裡
}else if(choice==4){
/* 以下一樣依此類推 */
}
===========================================
以下是findMaxmin函數的內容
//一樣用void
void findMaxmin(char name[][10], //老樣子 四個參數
char id[][10],
float grade[],
int total_number ){
int max=0; //這裡我們定義了一個max來記憶最高分的是誰
for(int i=0;i<total_number;i++){ //一樣整個陣列掃過一次
if(grade[i]>grade[max]){ //如果發現i號同學比max號同學高分
max=i; //就把max換成目前的i
}
}
//最後輸出結果
cout <<"最高分是"<< name[max] <<"的"<< grade[max] <<"分"<< endl;
}
//這裡我只寫了找最高分
//如果你有看懂的話,要加上找最低分應該很簡單才是
--
---- chchwy <批兔個人版> ptt2.cc
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.68.15.109
※ 編輯: chchwy 來自: 203.68.15.109 (01/14 01:02)