作者chchwy (mat)
看板NTUE-CS100
标题Re: [课业] 程设期末
时间Mon Jan 14 01:46:14 2008
(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)