答え合わせプログラムを作るには?

解決


ひな  2010-10-27 03:55:41  No: 102613

初めまして。

VB6.0で答え合わせのプログラムを作りたいと思っています。

テキストボックスに入力された文字が、Labelの文字と一致していれば正解、一致していなければ不正解というプログラムを作り、正解を1、不正解を0として配列に保存したいのですが上手くいきません。

どなたかご存知でしたら、ご回答お願いします。
宜しくお願いします。


ミッキー  2010-10-27 17:38:47  No: 102614

回答ではありません。

あなたが書いたコードを投稿してください。
どこまでができていて、どこが間違っているかわかりませんので。


ひな  2010-10-27 19:40:26  No: 102615

すいません。
これが私が作ったプログラムです。

Dim a(1 To 10) As Integer
For i = 1 To 10
If Text1(i).Text = Label1(i).Caption Then
a(i) = 1
Else
a(i) = 0
End If
Next i

このプログラムを保存するのに

If i = 1 to 18 then
datatable(5,i) = a(i)
next i

という所まで書きました。

よろしくお願いします。


ななしー  2010-10-27 20:09:12  No: 102616

なんという突っ込みどころ満載のコード

1.実行したらどんな状態になるの?(エラーメッセージとか配列の中身とか)
2.TextBox、labelの数は?
3.If i = 1 to 18 thenはfor i = 1 to 18 のこと?
4.18ってなに
5.datatable宣言は?
6.datatable(5,i)の5ってなに

とりあえず、プログラムの頭に
Option Explicit
入れておきましょう


魔界の仮面弁士  2010-10-27 20:56:14  No: 102617

> テキストボックスに入力された文字が、Labelの文字と一致していれば正解、
> 一致していなければ不正解というプログラムを作り、
> 正解を1、不正解を0として配列に保存したいのですが上手くいきません。

この条件だけなら、

> Dim a(1 To 10) As Integer
> For i = 1 To 10
>   If Text1(i).Text = Label1(i).Caption Then
>     a(i) = 1
>   Else
>     a(i) = 0
>   End If
> Next i

で、既に完成しているように見えますが、問題点はどこでしょうか?

> このプログラムを保存するのに
これについては、最初の質問とは関係ない範囲ですよね。

# そもそも、実際のコードを貼り付けたものでも無さそうですし。


ひな  2010-10-27 22:23:00  No: 102618

ななしーさん

宣言は全てしました。プログラムの一部だけを載せてしまいました。すいません。

textは18個、labelも18個です。forとIF間違えました。IFの部分はforです。

5は、配列の5番目という意味です。

訳の分からないプログラムですいませんm(__)m


ひな  2010-10-27 22:37:41  No: 102619

魔界の仮面弁士さん

私の質問の仕方が悪かったです。すいません。

text1〜18、ラベル1〜18があり、
text1に入力された文字ととlabel1の文字が一致したら正解1、一致しなかったら不正解0をtext18まで行い、その18個分を配列に保存したいのです。

その保存方法をどうしたら良いのかが分からなくて質問させて戴きました。

独学でやっているので、プログラムがおかしいかもしれませんが、実際に私が打ったプログラムの一部です。


ななしー  2010-10-27 23:21:45  No: 102620

>textは18個、labelも18個です。forとIF間違えました。IFの部分はforです。
であれば、
Dim a(1 To 10) As Integer
For i = 1 To 10

Dim a(1 To 18) As Integer
For i = 1 To 18
にしないといけません

>5は、配列の5番目という意味です。
5に何の意味があるのかがまったく見えません

保存という言葉を使っていますが、ただ単にa()の中身を
datatableに代入しているだけでしょうか?
であれば、最初からa()を宣言せずにdatatableに代入すればいいかと


ひな  2010-10-28 03:15:45  No: 102621

自己解決しました。
答えてくれた方々ありがとうございました。


ひな  2010-10-28 03:25:17  No: 102622

ななしーさん

この他にも配列に被験者No.など保存したいので配列の5番目に正誤を入れたかったのです。

保存というのは、Excelに保存すると言う意味で使いました。

初心者で独学なので意味不明ですいません。

自己解決しました。
ありがとうございます。


ミッキー  2010-10-28 04:34:58  No: 102623

ひなさん

他の方のためにも、どのように解決したかを投稿してください。
あなたの質問に時間を割いて答えてくださった方に対する
礼儀でもあります。

自己解決しました、では成長しませんよ。
それでもよければご自由に。

> 初心者で独学なので意味不明ですいません。

初心者だから許されると思っているのですか?
人に説明することについては、プログラム初心者も上級者も
関係ありませんよ。

どのように説明したら相手がわかってくれるかを考えて
投稿するよう、心がけてください。

> その保存方法をどうしたら良いのかが分からなくて
> 質問させて戴きました。

後の投稿から、この「保存」はエクセル保存のことだったのですよね?
つまり、エクセルへの保存の仕方がわからなかったということですか?

であれば、質問したい内容、タイトル、最初の投稿全てが
かけ離れていると思いませんか?これで赤の他人に理解して
もらえると思いますか?

しかも、

> 配列に保存したいのです。

ともありましたので、「配列」=「エクセル」とはならないと
思いますが・・・

あと解決したのであれば、発言を記入する欄のすぐ上にある
チェックボックスにチェックを入れて投稿してください。


ひな  2010-10-28 06:48:31  No: 102624

申し訳ありません。

初心者だから許されるとは思っていません。
私の作成したプログラムが意味不明で、すいませんという意味で使いました。

保存=Exelにならないことは分かっています。
保存という言葉を使っている意味を聞かれたので、その説明のつもりでした。

Exelへの保存プログラムは出来ていたので、正誤の判断とそれを配列に入れる集計プログラムを知りたかったのです。

答え合わせのプログラムではなかったですね。。。

正誤の判断プログラムと、正誤を配列へ代入する方法を質問したらよかったです。

私の説明不足でした。
申し訳ありません。

今後気をつけます。
ごめんなさい。

後日、解決方法を記載させていただきたいと思います。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加