• 締切済み

C言語の課題について

データファイル(txtファイル) に生徒30人分の出席番号、数学 、英語の点数が入っていて、数 学と英語の点数は0点から100点 (整数)です。 このデータを元にして ・構造体型配列に出席番号、数 学、英語の点数を格納する ・国語の得点を70点から100点間 での整数の一様乱数によって格 納する ・各学生の平均点、偏差値を求 める ・偏差値が最もよい学生の出席 番号、数学、英語、国語の得点 、平均点、偏差値と合計点が181 点から210点、211点から240点 、241点から270点、271点から3 00点の学生の人数を数えてその 度数分布をtxtファイルへと出力 する 条件 ・平均点、偏差値を求める箇所 はmain関数から独立させる。 ・国語を入れるときに使用する 乱数は出席番号下4桁により初期 化したものを使うこと。頭の0は 除く(例120012-3→123) ・配列を因数とする関数は使用 可能 ・度数分布を作る際は、if文を使 用しないこと ・合計点が181~300点に含まれ ることは既知である ・txtファイルへの出力は以下の ようにすること。 High score: No. | math: , Eng , Jap | Ave: , D ev 181-200(10): ********** 211-240(17):**************** このような課題が出されたのですが、どのような順序でプログラムを書いていけばいいかが分かりません なのでどのような順序でプログラムを書いていけばいいか教えて下さい

みんなの回答

回答No.1

> どのような順序でプログラムを書いていけばいいか教えて下さい 1.構造体型配列に出席番号、数 学、英語の点数を格納する 2.国語の得点を70点から100点間 での整数の一様乱数によって格 納する 3.各学生の平均点、偏差値を求 める 4.偏差値が最もよい学生の出席 番号、数学、英語、国語の得点 、平均点、偏差値と合計点が181 点から210点、211点から240点 、241点から270点、271点から3 00点の学生の人数を数えてその 度数分布をtxtファイルへと出力 する

関連するQ&A

  • プログラミングの構造体の課題が出たんですが・・・

    プログラミングの構造体の課題が出たんですがさっぱりわかりません。どなたかわかる方お願いします。 次の仕様に従って、生徒の科目得点から平均点と評価を求め、評価結果の画面を表示するプログラムを作成しなさい。 与えられた仕様 手順 1. プログラムに読み込むデータファイル名は、コマンドラインで入力する。 2. データファイルには、以下のような形式で1行目に学生数、2行目に項目名(学生番号、国語、数学、理科、英語)が、3行目以降に学生番号と各科目点数が格納されている。 5 学生番号 国語 数学 理科 英語 1001 85 74 63 90 1002 78 65 70 62 1003 89 92 88 76 1004 32 48 66 15 1005 92 76 81 98 3.下記の 構造体を用いてデータの格納を行い、平均点と評価も格納できるようにすること。 struct seiseki { /* 成績データ */ int no; /* 学生番号 */ int ten[4]; /* 点数 */ double avg; /* 平均点 */ char hyouka; /* 評価 */ }; 4. 処理手順は、次のとおりとする。 1. ファイルからデータを読み込むこと。 2. 各人の 4科目の平均点を求め、構造体に格納すること。 3. 各人の評価を求め、構造体に格納すること。尚、4段階の評価基準は上記のとおり。 平均点 評価 80点以上 'A' 70点以上 80点未満 'B' 60点以上 70点未満 'C' 60点未満 'D' データファイルは空白で区切られています。 こうすれば解けるよ、とかこのサイト見てやればできるよ等の 回答ではなく、この問題の答えを教えてくれたらうれしいです。 自分で理解してやらないと~とか考えてやらないと~等の回答もしないでください。 わがまま言ってすいませんが、わかる方お願いします。

  • Java課題がわからないです

    【 課題 】 (問1) 面積[ 16733.06cm2]を3.14を使いプログラミングで求めろ (問2) プログラミングで20回の乱数を求めろ (問3) 学生3人の英語、数学、国語、理科、社会の平均点と学生3人の平均点を       "配列"で求めろ  【 形態 】1. Javaアプリケーション(main()で開始) 【 GUI  】不明 【 期限 】明日、午前。 【 Ver  】java version "1.6.0_05" 【 用語 】ありません。 【 補足 】Javaエクリプスを使用しています。       ご教授の方、どうかお願い致します。

  • コーディングフローチャート

    下記のコーディングのフローチャートの書き方が分かりません。 どうか教えてください。 試験の成績データを読み込んで、ひとりの生徒分を取りまとめて生徒成績レコードとして出力します。 入力ファイルは学生番号順に並んでいます。 試験成績データは、1科目ごとに試験を受けた結果が入っています。 1.ファイルレイアウト ・入力ファイル  学生番号  X(004) 科目コード X(002) ※1 点数  9(003) ※2 ※1 科目コード 01:国語 02:数学 03:英語 04:科学 05:歴史 ※2 点数 0~100までの範囲 2.生徒成績データ ・出力ファイル  学生番号 X(004) 受験科目数 9(001)※1 最高点 9(003)※2 最低点 9(003)※3  平均点 9(003)※4  国語点数 9(003)※5  数学点数 9(003)※5  英語点数 9(003)※5 科学点数 9(003)※5 歴史点数 9(003)※5 ※1 試験成績データの同じ学生番号の人が受けた試験の数   国語、英語、歴史の試験を受けた場合は入力レコード数は   3レコードとなり受験科目数は3となる。 ※2 最高点   試験成績データの点数が一番良い点数 ※3 最低点   試験成績データの点数が一番悪い点数 ※4 平均点   試験を受けた点数の平均 ※5 各科目点数   試験成績データの科目コードより該当の科目へ点数を設定する

  • C言語のプログラムについて質問です。

    C言語のプログラムについて伺いたいことがあるんですが5人くらいの名前、数学、英語、国語の点数を入力して各教科の最高点、最低点、平均点、それぞれの数+英+国の合計点を表示するプログラムを構造体を使って作りたいと思っています。 もしよろしければ事細かに教えていただけないでしょうか。 よろしくお願いします。

  • 乱数の平均の度数分布が正規分布になるのはなぜ?

    自然現象や誤差の度数分布は正規分布になりやすいこと を数学の言葉で言うと 「乱数の平均の度数分布は正規分布になる」 となりますが、この証明を教えてください。

  • 偏差値と順位

     資格試験の模試の結果の平均から、自分が上位何パーセントに知りたいのですが、情報は点数・偏差値・平均点のみです。  ここで偏差値から順位を求める際に必要な標準偏差がないのですが、一般的な公式『偏差値={10(点数-平均点)÷標準偏差}+50』を以下のように変形して、上記情報から標準偏差を求めてみました。  標準偏差=10(点数-平均点)÷(偏差値-50)  これを基に、Excelで正規分布関数(NORMDIST)を使って上位何%の位置にいるのか算定しようとしたのですが、偏差値が53.43なのになぜか上位0.0何%とかいうへんてこりんな数字が出ちゃいました。  数式は『1-NORMDIST(偏差値、平均点、標準偏差、TRUE)』です。  なお、そのデータは、点数20点、偏差値53.43、平均点19.1点です。  点数の分布は一応、それなりに正規分布に近い形になっていると思うのですが、なぜこうなるのでしょうか?  原因が分かる方、教えて下さい。なお、当方は統計学ド素人です。

  • C++の配列についてなんですが

    #include <iostream> using namespace std; int main() { int i,goukei=0; int kokugo[5]; float heikin; for(i=0;i<5;i++) { cout << "出席番号" << i+1 << "番の国語の成績を入力してください\n"; cin >> kokugo[i]; goukei = goukei + kokugo[i]; } heikin = (float)goukei/5.0; cout << "平均点は" << heikin << "点です\n"; for(i=0;i<5;i++) { cout << "出席番号" << i+1 << "番の国語の成績は" << kokugo[i]; cout << "点で、平均との差は" << heikin-(float)kokugo[i] << "です\n"; } return 0; } これを基に 数学の点数も入力する 数学の平均も出力する 国語と数学の総合的な平均点も出力する ようにするにはどうすればいいんですか?

  • C言語のプログラムについて

    ファイル"data\d.dat"にはテストの各問の点数が以下のフォーマットで記録されている。     学生番号  問1の点数  問2の点数  問3の点数  問4の点数  問5の点数 これを入力し、学生ごとの合計点と、間ごと合計点を求めて表示する(整列前)。次に、間の合計点の 降順に左から右に向かって整列し、さらに、学生の合計点で降順に整列して表示する(整列後)。 <実行例> 整列前 番号  問1  問2  問3  問4  問5  合計 1001  20   30   40   41   90   230 1002  50   30   24    0   95   199 1003  20   33   55   35   90   233 1004  93   55   56   61   90   355 1005  20   50   51   44   90   255 合計 203  198   236   181  455 整列後 番号  問5  問3  問1  問2  問4  合計 1004  90   56   93   55   61   355 1005  90   51   20   50   44   255 1003  90   55   20   33   35   233 1001  90   49   20   30   41   230 1002  95   25   50   30    0   199 合計 455   236  203  198   181 このプログラムを作成したいのですが fscanfでdata-d.datを読み込み横に合計を表示させるのはわかりました。 しかし、縦の合計もだし、その結果から整列して表示させることができずに 困っています。分かるかた教えてください><

  • これだけの情報だけで、偏差値を計算をすることは出来ますか?

    教育大の附属に通っている中1です 学校の期末テストが返ってきだしました。学校は塾とは違って順位が出ません。なので、内部進学のことを考えると、偏差値を知りたいです。 学校から公開されるのは ・自分の点数 ・平均点 ・受験数 ・度数分布 です。 これだけの情報で偏差値を大体でもいいので、計算する方法があったら、教えてください。 よろしくお願いします。     

  • VBAで平均点と偏差値を求めたい

    はじめて質問させていただきます。 課題1:国語、数学、理科、社会の50人分の点数が掲載してあります。このデータを用いて次の処理をするプロシージャを完成させなさい。国語、数学、理科、社会の50人分のデータの平均点、偏差値を画面上に表示する。 課題2:出席番号が変化するデータに対して、国語、数学、理科、社会の平均点、偏差値を画面上に表示する。 ちなみにデータは b2に出席番号 c2に国語 d2に数学 e2理科 f2社会と入力されてます。 次にb3~b52にNo.1~No.50の出席番号 c3~c52に国語の点数 d3~d52に数学の点数 e3~e52に理科の点数 f3 ~f52に社会の点数が入力されています。 点数は問題に関係ないと思うのでここでは書きません。 また、表示にはメッセージボックスを使うようです。 この2つの問題のプロシージャを教えていただきたいです。 できれば、プロシージャ1行ごとに簡単な解説も付けてもらえたら嬉しいです。 ちなみに課題1はここまで出来たんですが、課題2はまったくわかりません(汗 Sub 国語平均() Dim 平均 As Single Dim 偏差値 As Single Dim 標準偏差 As Single Dim 数量 As Integer 和 = Application.WorksheetFunction.Sum(Range("c3:c52")) 数量 = 0 Range("b3").Select Do Until ActiveCell.Offset(0, 1).Value = "" 数量 = 数量 + 1 ActiveCell.Offset(1, 0).Select Loop 平均 = 和 / 数量 標準偏差 = Application.WorksheetFunction.StDev(Range("c3:c52")) MsgBox 平均 MsgBox 偏差値 End Sub お手数をおかけしますがどうかよろしくお願いします。

専門家に質問してみよう