プロが教えるわが家の防犯対策術!

プログラミングについてなのですが、VBのWindowsapplicationにて、自分の誕生日を入力し、buttonをクリックすると星座が出てくるプログラムを作りたいのですが、配列を使って作る場合、どのようなプログラムにしたらよいのですか

A 回答 (4件)

私は星座に全く関心が無く、知識もありません。

WEBで調べて下記のような表(配列)をつくりました。その表を引くのであればと下記コードを作ってみました。
フォームにテキストボックス1つ(下記ではTextBox1)コマンドボタン1つ(下記ではButton2)
を設けます。
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim d As Date
Dim b As Date
Dim k As Date
Dim i As Integer
d = Date.Parse(TextBox1.Text)
MsgBox((d.Year.ToString) & "年")

Dim t(,) As String = {{"3月21日", "4月20日", "おひつじ座"}, _
{"4月21日", "5月21日", "おうし座"}, _
{"5月22日", "6月21日", "ふたご座"}, _
{"6月22日", "7月23日", "かに座"}, _
{"7月24日", "8月23日", "しし座"}, _
{"8月24日", "9月23日", "おとめ座"}, _
{"9月24日", "10月22日", "てんびん座"}, _
{"10月23日", "11月22日", "さそり座"}, _
{"11月23日", "12月22日", "いて座"}, _
{"12月23日", "1月20日", "やぎ座"}, _
{"1月21日", "2月20日", "みずがめ座"}, _
{"2月21日", "3月20日", "うお座"}}
b = Date.Parse(TextBox1.Text)

For i = 0 To 11
k = Date.Parse(d.Year.ToString & "年" & t(i, 0))
If b < k Then
MsgBox(t(i - 1, 2))
End If
Next i
End Sub
上記では、メッセージボックスに表示が出ますが、テキストボックスに表示は簡単と思いますので省略。
年月日数字は半角、誕生日は昭和何年何月何日でテストした。
    • good
    • 0
この回答へのお礼

ありがとうございます!

お礼日時:2009/12/23 23:36

星座の配列、各星座の最初の日または最後の日の配列を作る。


誕生日で各星座の日の配列を検索(For NextのLoop)し「何番目にあるかを見つける。
見つかった番号で星座を表示。
やぎ座の判定にちょっと工夫が必要かな。
    • good
    • 0

>配列を使って作る


と言うのを具体的にされては?
⇒例えば星座名を配列に入れるとか?

*こちらに質問がたっていたので【補足】してみました。

この回答への補足

星座名か誕生日につかいたいんですが・・・

補足日時:2009/12/23 16:27
    • good
    • 0

Select文を使ってはどうですか?



Select case(Format(txt誕生日.Value),"mmdd"))
 case <=119, >=1222
  Debug.print "やぎ座"
 case <=218
  Debug.print "みずがめ座"

End Select
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!