• ベストアンサー

VISUAL VASICがまったくわかりません・・・(涙

『3つの整数aとb,cを各々Inputboxで入力し、その合計と平均を表示する。 実行例:aが14、bが36、cが3であれば 合計は17.6666666666667です。』 って、いう課題が大学で出てるんですけど、意味がわかりません。 もし、意味がわかったなら教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nakashi
  • ベストアンサー率51% (21/41)
回答No.3

Sub Main()  Dim lLoop As Long  Dim sMsg As String  Dim sBuf As String  Dim dData(2) As Double  Dim dSum As Double  sMsg = "Input "  Do   For lLoop = 0 To 2    sBuf = InputBox(sMsg & Chr(Asc("A") + lLoop))    If sBuf = "" Then Exit Do    dData(lLoop) = Val(sBuf)   Next lLoop   dSum = dData(0) + dData(1) + dData(2)   MsgBox Str(dData(0)) & " + " & Str(dData(1)) & " + " & Str(dData(2)) & " = " & _   vbCrLf & "合計 " & dSum & " 平均 " & dSum / 3  Loop End Sub

その他の回答 (2)

noname#1489
noname#1489
回答No.2

まず、これは、問題がおかしいです。正しくは、 『3つの整数aとb,cを各々Inputboxで入力し、その合計と平均を表示する。 実行例:aが14、bが36、cが3であれば 合計は53、平均は17.6666666666667です。』 だと思います。 InputBoxというのは、画面に入力を促すダイアログボックスを表示して、入力する関数です。 a=InputBox("数字を入力してください") こんな感じで使います。詳しい使用法は、Visual Basicのヘルプを見てください。

tamatamaneginegi
質問者

お礼

RIOさんのいう通り、問題写すの間違ってました・・・。すみません! 『実行例:aが14、bが36、cが3であれば  合計は53、平均は17.6666666666667です。』 どうも、お騒がせしました!(笑

  • k_eba
  • ベストアンサー率39% (813/2055)
回答No.1

>合計は17.6666666666667  平均の誤植だと思います

関連するQ&A

  • C言語の不等号の計算

    三つの整数の変数a,b,cを用意して、プログラムの各変数に任意の値を代入する 例:a=9,b=31,c=25 このプログラムを実行して 「a=9,b=31,c=25です.よって b>c>a です.」 と表示するプログラムを組みなさい とゆう課題が出されたのですが switch文を使ってプログラムを組んで課題は終わったのですが・・・ switch文以外方法でこのプログラムが組めるのか プログラムの例を教えてください。 あとプログラムを組むときにはシンプルで行数の少ないプログラムのほうがいいのですか? 教えてくださいお願いします。

  • C言語の課題で困っています。その1.四則演算

    二つの整数値を読み込んで、前者を後者で割り、その結果の商と余りを表示するプログラムを作成。 実行例にあるよう、ゼロで割るような場合への対処も考慮する。 実行例1: 整数の除算を行います。整数を入力してください。 整数A:13 整数B:5 13 ÷ 5 = 2 あまり 3 実行例2: 整数の除算を行います。整数を入力してください。 整数A:10 整数B:0 0でわることはできません! (注)プログラム実行時にキーボードからどんな整数を入力してもいいように作成すること。 という課題に取り組んでいますが、途中までしか記述できません。 どなたか助けてください。 下記が途中までの記述です。 /*二つの整数値を読み込んで、前者を後者で割り、その結果の商と余りを表示*/ #include <stdio.h> int main(void) { int na, nb; printf("shimasaki kazunori \n"); puts("整数の除算を行います。整数を入力してください。: \n"); printf("整数A:"); scanf("%d", &na); printf("整数B:"); scanf("%d", &nb); printf("na ÷ nb = %d あまり %d \n", na / nb, nb, na % nb); return(0); }

  • プログラムが上手く動作しません。

    質問です。 1.整数を1個入力し、その数を3で割った余りが0ならば"Good morning"、1ならば"Good evening"、2ならば"Good afternoon"と出力するプログラムを作成せよ。ただしswhitc文を用いること。 という問題で私は #include <stdio.h> main() {      int a;      printf("整数a:");      scanf("%d",&a);      switch(a%3)      {      case '0':           printf("Good morning \n");           break;      case '1':           printf("Good evening \n");           break;      case '2':           printf("Good afternoon \n");           break;      } } と考えましたが実行しても入力はできますがprintfが表示されません。 どこが間違っているのでしょうか?ちゃんとコンパイルはできるのですが・・・。 2.10個の整数値をキー入力し、合計と平均値を計算してその結果を表示するプログラムを書きなさい。 #include <stdio.h> main() {      int a[11],b,c,i;      for(i=1;i<11;i++)      {           printf("整数%d:\n",i);           scanf("%d",&a[i]);      }      for(i=1;i<11;i++)           b+=a[i];      c=b/10;      printf("合計値は%d",b);      printf("平均値は%d",c); } というプログラムを考えましたが、計算結果がめちゃくちゃになってしまいます。 これもどこを直したらいいべきでしょうか?

  • 閲覧ありがとうございます。

    閲覧ありがとうございます。 C言語まったくわからないのですが、2次元配列を用いて c言語で Aさん、Bさん、Cさんの英語、国語、数学、物理のテストの得点を入力し、人毎の合計・平均と科目毎の合計・平均を表形式で出力するプログラムの作成をよろしくお願いいたします。 実行例 学生ごとに試験の得点を入力してください Aさん 英語=74 国語=69 数学=81 物理=72 Bさん 英語=69 国語=77 数学=84 物理=79 Cさん 英語=67 国語=73 数学=69 物理=71 成績集計結果: 英語 国語 数学 物理 合計 平均 Aさん 74 68 81 72 295 73.75 Bさん 69 77 84 79 309 77.25 Cさん 67 73 69 71 280 70.00 合計 210 218 234 222 平均 70.00 72.67 78.00 74.00 このようになるようにお願いいたします。

  • このプログラムみてもらえますか?

    課題は標準入力から正整数aを読み込み、aが素数であるか否か判定するプログラムを作れ、です。 #include <stdio.h> int main(void) { int a,b,c; for(;;){ printf("正整数を入力して下さい。\n"); scanf("%d",&a); c=a%b; for(b=2;b=a-1;b=b+1){ if(c==0) printf("素数でない。\n"); break; } printf("素数です。\n"); break; return(0); } } コンパイルはできますが、実行すると9が「素数です」と表示されます^^; よろしくおねがいします。

  • visual basicについて

    visual basic6.0を使ってプログラミングの練習をしています。 入力した4つの整数を 以下の構文だと「定数式が必要です」とエラーがでてしまいます。 Option Explicit Dim a As Variant Dim b As Variant Dim c As Variant Dim d As Variant Private Sub Command1_Click() 'テキストに記入されたデータを代入 text1.Text = a text2.Text = b text3.Text = c text4.Text = d '4つの整数を1つの配列とする Dim F(a, b, c, d) As Variant If IsvbInteger(F) Then 'もしa,b,c,dいずれも有効な整数だったとき Call cbs.BubbleSort(F, UBound(F) + 1, True) '配列Fをバブルソート string1 = "" For j = 0 To UBound(F) stringx = stringx & F(j) & "," Next j Label1.Caption = stringx 'ラベルテキストにカスケード ElseIf vbArray(a, b, c, d) Then 'もし数字が重複していたとき msg = "整数が重複しています" btn = vbOKOnly Title = "警告" ElseIf F(a, b, c, d) = 0 Then '配列のうちどれかひとつでも0があったら msg = "0は無効です" btn = vbOKOnly Title = "警告" ElseIf isvbnull(a, b, c, d) Then '4つのうちどれかが空欄だったとき msg = "無効の値です" btn = vbOKOnly Title = "警告" Else '整数じゃなかったとき msg = "整数を入力してください" btn = vbOKOnly Title = "警告" End If '以上 End Sub なにかつっこむところがあったら教えて下さい。

  • プログラミング分からないので教えてください

    【演習1】 コマンド引数で台形の上底、下底、及び高さを指定して実行すると、台形の面積を算出し表示するプログラムを作成せよ。ただし、以下の条件を満たすこと。 条件: (1)コマンド引数が不足していた場合は<実行例(2)>のようにエラーメッセージを表示する。 (2)上底、下底、高さ、及び面積は実数値として処理する。 (3)台形の上底、下底、及び高さを引数として受け取って面積を算出するユーザー関数を作成し使用する。 (4)面積の表示はmain関数で行い、<実行例(1)>のように表示する。 そのとき、上底、下底、高さは小数点以下2桁、面積は小数点以下3桁で表示する。 <実行例(1)> Z:\>ee1001 3.5 4.2 8.37↓ 上底3.50,下底4.20,高さ8.37の台形の面積は32.224 <実行例(2)> Z:\>ee1001 3.5 4.2↓ 引数が足りません。 【演習2】 点数を3つキー入力すると、3つの点数の合計点と平均点を表示するプログラムを作成せよ。ただし、以下の条件を満たすこと。 条件: (1)点数は整数で入力する。。 (2)入力された3つの点数のうち1つでも0未満だった場合は、<実行例(3)>のようにエラーメッセージを表示する。 (3)3つの点数を受け取って、3つの点数の合計点と平均点を算出するユーザー関数を作成し使用する。また、合計点は整数、平均点は実数で算出する。 (4)合計点と平均点の表示はmain関数で行い、<実行例(1)(2)>のように表示する。 そのとき、合計点は全4桁、平均点は全6桁小数点以下1桁で表示する。 <実行例(1)> 点数: 80↓ 点数: 65↓ 点数: 98↓ 合計点 243 平均点 81.0 <例実行(2)> 点数: 80↓ 点数: -1↓ 点数: 98↓ 点数は0以上で入力してください よろしくお願いします

  • scanf()の順番

    printf("整数を入力せよ a:"); scanf("%d",&a); ・・・(1) printf("文字を入力せよ b:"); scanf("%c",&b); ・・・(2) として実行すると 例えば整数7を入力してエンターを押すと aにはちゃんと7が入るのですが bの入力を待たずに入力しないままプログラムが流れてしまいます。 (1)と(2)の順番を逆にすると1つずつ入力できるのですが、 なぜそうなるのか意味がわかりません。 あと試しに7yと入力してみたら7がa、yがbにちゃんと入りました。

  • Visual C++ 2005 のプログラムについて

    今回課題としてC++のプログラムを作れというものを突然出されて、C++をほとんど知らないので戸惑っています。 ○数字の、1を入力するとE、2ならD、3ならC、4ならB、5ならA、を表示するプログラムをswitch文を使ってつくりなさい。 ○九九の表を表示するプログラムを作りなさい。配列を使用して作りなさい。 というものです。Visual C++ 2005を使っています。いろんなサイトを見て自分なりにやってみましたが、どうしてもうまくいきません。どういったプログラムになるのか教えてください。よろしくお願いします。

  • 足し算の結果のみが変!?

    ExcelVBAでinputbox()やuserformのtextboxから値を取得する場合に Sub prog() Dim a, b, c As Integer a = InputBox("値1を入力") b = InputBox("値2を入力") c = a + b MsgBox c End Sub とすると,例えば(値1)=2,(値2)=3としたときにメッセージボックスに本来であれば2+3なので5と表示されるはずですが23と表示されてしまうのはどうしてでしょうか。引き算や掛け算,割り算の場合はちゃんと表示されるのですが、、、

専門家に質問してみよう