2014年09月25日
Posted by 屋台ブルー at
2014年09月25日00:00 Comment(4)
Swiftで遊ぼう! - 76 プロおも本、クラスの問題
参考文献:プログラマの考え方がおもしろいほど身につく本 問題解決能力を鍛えよう!←勉強になるよ初めての人にいいかも。
この本のことをこのブログでは「プロおも本(ぷろおもぼん)」とします(^^)/
またまた戻ってきました。「プロおも本」。第4章の「ポインタと動的メモリによる問題解決」は読み飛ばした。ここの解説はパス。完全理解しているとは言えないけど、次の第5章「クラスによる問題解決」に進んでいる。
さっそくですが、問題:学生名簿に取りかかっているけど、まだまだ簡単に解けない! 本当に我ながら頭の悪さをひけらかすようで情けないが、どんどんツッコミを入れてください。あ、変なところを修正してください。プログラマの皆さん!
問題:学生名簿を管理するクラスを設計してみよう。学生レコードには、名前・番号・成績(0〜100)があり、このプログラムは、学生レコードの追加と削除・番号で指定した学生の成績(数値と文字)の表示と全体の平均点の表示を可能にする。成績の表す表は以下の通り。
93-100 :"A"
90-92 :"A-"
87-89 :"B+"
83-86 :"B"
80-82 :"B-"
77-79 :"C+"
73-76 :"C"
70-72 :"C-"
67-69 :"D+"
60-66 :"D"
0-59 :"F"
ここを見ている人はお気づきのように、昨日はこのテーブルをSwictch Case文を使ってコードに取り組むことを試していたがうまくいかない。Struct型に取り込もうしていもうまく動かない。Struct型にするのがいいか悪いかさておいて、どうして動かないのかさっぱり分からない。教えて...
struct Scoring {
var score = 0
var mark: String
switch score {
case 93...100:
mark = "A"
case 90...92:
mark = "A-"
case 87...89:
mark = "B+"
case 83...86:
mark = "B"
case 80...82:
mark = "B-"
case 77...79:
mark = "C+"
case 73...76:
mark = "C"
case 70...72:
mark = "C-"
case 67...69:
mark = "D+"
case 60...66:
mark = "D"
default:
mark = "F"
}
}
var scoreTable = Scoring() // まったく駄目です(T_T)
この本のことをこのブログでは「プロおも本(ぷろおもぼん)」とします(^^)/
またまた戻ってきました。「プロおも本」。第4章の「ポインタと動的メモリによる問題解決」は読み飛ばした。ここの解説はパス。完全理解しているとは言えないけど、次の第5章「クラスによる問題解決」に進んでいる。
さっそくですが、問題:学生名簿に取りかかっているけど、まだまだ簡単に解けない! 本当に我ながら頭の悪さをひけらかすようで情けないが、どんどんツッコミを入れてください。あ、変なところを修正してください。プログラマの皆さん!
問題:学生名簿を管理するクラスを設計してみよう。学生レコードには、名前・番号・成績(0〜100)があり、このプログラムは、学生レコードの追加と削除・番号で指定した学生の成績(数値と文字)の表示と全体の平均点の表示を可能にする。成績の表す表は以下の通り。
93-100 :"A"
90-92 :"A-"
87-89 :"B+"
83-86 :"B"
80-82 :"B-"
77-79 :"C+"
73-76 :"C"
70-72 :"C-"
67-69 :"D+"
60-66 :"D"
0-59 :"F"
ここを見ている人はお気づきのように、昨日はこのテーブルをSwictch Case文を使ってコードに取り組むことを試していたがうまくいかない。Struct型に取り込もうしていもうまく動かない。Struct型にするのがいいか悪いかさておいて、どうして動かないのかさっぱり分からない。教えて...
struct Scoring {
var score = 0
var mark: String
switch score {
case 93...100:
mark = "A"
case 90...92:
mark = "A-"
case 87...89:
mark = "B+"
case 83...86:
mark = "B"
case 80...82:
mark = "B-"
case 77...79:
mark = "C+"
case 73...76:
mark = "C"
case 70...72:
mark = "C-"
case 67...69:
mark = "D+"
case 60...66:
mark = "D"
default:
mark = "F"
}
}
var scoreTable = Scoring() // まったく駄目です(T_T)
この記事へのコメント
switch文は、init()とかで囲まないとダメなんじゃないですか?
ちがってたらスミマセン
ちがってたらスミマセン
Posted by 藤原 at 2014年12月12日 18:35
藤原さん、コメントありがとうございます!
すっかりこのエントリーの内容を忘れています(^_^;)
もう一度復習してからコメントします。
すっかりこのエントリーの内容を忘れています(^_^;)
もう一度復習してからコメントします。
Posted by 屋台ブルー at 2014年12月12日 20:41
藤原さん、コメント本当にありがとうございました。
復習をするいい機会になりました。
コメントがあるまで、この問題に頓挫していることも忘れていました。
今の私でしたらこの問題も解けそうです。
しかし、スイフトの細かい文法(シンタックス)を忘れているので
復習をしてから私の解答を紹介します。
少しお待ちください。
では。
復習をするいい機会になりました。
コメントがあるまで、この問題に頓挫していることも忘れていました。
今の私でしたらこの問題も解けそうです。
しかし、スイフトの細かい文法(シンタックス)を忘れているので
復習をしてから私の解答を紹介します。
少しお待ちください。
では。
Posted by 屋台ブルー at 2014年12月18日 21:55
藤原さん、この問題の解答例ができました。
12/30のブログエントリーに出てくるので見て下さい。
では。
12/30のブログエントリーに出てくるので見て下さい。
では。
Posted by 屋台ブルー at 2014年12月23日 17:56