NTUE-CS102 板


LINE

看完凤狼大的文 还写不出来就看这吧 先解释三个作业的要求 作业1 用st物件阵列来存学号跟分数 作业2 同1,但是要封装 作业3 用st物件串列来存学号跟分数 上学期最後的成绩单 是用多个阵列来存分数跟成绩 例如 int ID[10], chinese[10], english[10] ... 这样就可以写出来想要的功能 但就是排序的时候 两两比较 然後交换有几个阵列就要一起交换 例如 if(sum[i]<sum[i+1]) { int t=ID[i]; ID[i]=ID[i+1]; ID[i+1]=t; t=chinese[i]; chinese[i]=chinese[i+1]; chinese[i+1=t; ... } 这样很麻烦 所以 我们可以定义一个东西 把需要的资料 包成一捆 class st{ public: int ID; int grade; }; 这样我们只要建立一个 st 的阵列 就可以存每一笔包含ID跟grade的资料了 st a[5]; for(i=0;i<5;i++) { cin>>a[i].ID; cin>>a[i].grade; } 比较也很简单 因为绑成一捆了 所以直接整个交换 if(a[i].grade<a[i+1].grade) { st t=a[i]; a[i]=a[i+1]; a[i+1]=t; } 这样就是全部作业1需要的东西了 下面是作业1的参考答案 #include<iostream> using namespace std; class st{ public: int ID; int grade; }; int main(){ int i,j; st a[10], t; // 输入 for(i=0;i<10;i++) { cin>>a[i].ID>>a[i].grade; } // 排序 for(i=0;i<10;i++) { for(j=0;j<9;j++) { if(a[j].grade<a[j+1].grade) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } // 输出 for(i=0;i<10;i++) { cout<<"第"<<i+1<<"名:"<<a[i].ID<<" "<<a[i].grade<<"分\n"; } } 接下来是 作业2 如果把 st 想成是一个 ID跟grade 就是你口袋里面的财产 作业1用的方法 直接对ID跟grade 做 cin 跟 cout 就好像 cin 跟 cout 直接去你口袋 把钱放进去拿出来 这样是很危险的 所以 我们稍作修改 class st{ private: //这行可以省略 int ID; int grade; public: void setID(int i) { ID=i; } void setgrade(int g) { grade=g; } int getID() { return ID; } int getgrade() { return grade; } }; 增加了ID跟grade对应的 get 跟 set 当然不一定要get跟set 你可以自己取 但是要记得谁是谁就OK 然後输入的地方 就变成 int x,y; st a[5],t; ... for(i=0;i<5;i++) { cin>>x>>y; a[i].setID(x); a[i].setgrade(y); } 比较就变成 if(a[i].getgrade()<a[i+1].getgrade()) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } 输出就变成 for(i=0;i<5;i++) { cout<<"第"<<i+1<<"名:"<<a[i].getID()<<" "<<a[i].getgrade()<<"分\n"; } 作业1到作业2只是小改 原本作业1的 ID跟grade是 公开的 所以可以直接cin/cout跟改变值(a[i].grade=59;类似这样) 这样程式比较简单 但是比较危险 改成作业2的方法有几个好处 像是把值丢进去的时候 例如改座号 改分数 可以设定 例如 座号一定>0, 分数一定在0~100之类的 void setID(int i) { if(i<0) { cout<<"座号没有负的喔"; } else { ID=i; } } 类似这样 如果把 st 看作是的话 这些set跟get等於是经过你的同意 只是现在的作业2 直接就 什麽=什麽 跟 return 看起来是多此一举 其实他是有意义的 如果你以後要增加一些检查功能之类的话 这些都OK的话 就要进入作业3罗.. 请看下一篇 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 120.127.36.183
1F:推 CaptainWill:大神,未看先推 03/15 22:16
2F:推 CaptainWill:抢到前三推,你这学期物件导向绝对HIGH趴 03/15 22:17
3F:推 CaptainWill:掰~ 03/15 22:17
4F:推 suan710:楼上楼楼上楼楼楼上自HIGH 03/15 22:21
5F:推 CaptainWill:楼上会被当、凼 03/15 22:22
6F:推 gcobc12632:完蛋了 没上课真的完全看不懂 void set get 的用途是啥 03/15 22:25
7F:推 Arashinoon:非常复杂 决不虎烂 (认真 03/15 22:25
8F:推 suan710:有没有都给楼楼上讲就好的八卦? 03/15 22:25
9F:→ suan710: 楼 03/15 22:26
10F:推 Arashinoon:当然没有 还有另外两个版主呢 一切照版规走 03/15 22:27
11F:→ game0416:改版规记得再发文公告才是真的hmm 03/15 22:27
12F:推 Arashinoon:楼上说的极是(_ _)m 小的没注意 马上补上一份公告 03/15 22:31
13F:推 pk873:连void 都看不懂 阿泰下一年度跟学弟一起重修看看巴!! 03/15 22:47
14F:→ CaptainWill:说不定还会找到春天(前提是阿牧过了,不能跟你抢 03/15 22:48
15F:推 gcobc12632:老实说我连return是什麽都不知道 所以我根本不用这个 03/15 23:00
16F:推 pk873:阿牧表示: (>,,,<) 我有留胡子 我很有礼貌 03/15 23:04
17F:推 j2612280: , 03/15 23:07
18F:嘘 CaptainWill:安邦你很脏... 03/15 23:10
19F:→ yantchen:那不是是山羊胡吗? 花花的山羊胡很脏喔XD(笔记 03/15 23:20
20F:推 CaptainWill:学长不要被安邦骗了,那不是山羊胡呀!!! 03/15 23:21
21F:→ j2612280:阿花思想邪恶= =..话说你今天早上都G了= =.. 03/15 23:39
22F:→ CaptainWill:你G了一个我,还有千千万万个我 03/15 23:40
23F:→ gcobc12632:楼上是在宣示重修宣言吗 03/15 23:42
24F:→ yantchen:资科系都第五年了 总是要有人修一下大六嘛 03/15 23:45
25F:推 CaptainWill:囧 03/15 23:45
26F:推 s86186654418:推阿泰:楼上是在宣示重修宣言吗 03/16 01:17







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP