5人の学生の成績を,構造体Scoreの配列に 保存するプログラムを作成します.
・main関数で各学生の合計点,合計が最高の学生
・calcAvg関数で英語,数学,物理の平均点 を求めていきます.
ここまでやったのですが、出力するとファイルが開けませんと出てきてしまいます。
どこが違うか教えていただけないでしょうか。
#include<stdio.h>
#include<stdlib.h>
typedef struct
{
char name[32];
int english;
int math;
int physics;
}Score;
void calcavg(Score *p)
{
double eng_avg = 0;
double mat_avg = 0;
double phy_avg = 0;
int i;
for (i = 0; i < 5; i++) {
eng_avg += (p + i)->english;
mat_avg += (p + i)->math;
phy_avg += (p + i)->physics;
}
printf("5人の英語の平均点は%.1fです\n", eng_avg / 5);
printf("5人の数学の平均点は%.1fです\n", mat_avg / 5);
printf("5人の物理の平均点は%.1fです\n", phy_avg / 5);
}
int main(void)
{
int i;
Score s[5];
FILE *fp = fopen("scores.txt", "rt");
if (!fp) {
printf("ファイルが開けません");
exit(0);
}
for (i = 0; i < 5; i++)
fscanf(fp,"%s %d %d %d", s->name, &s->english, &s->math, &s->physics);
for (i = 0; i < 5; i++)
printf("%sさんの英語の点は%d,数学の点は%d,物理の点は%dです\n", s->name, s->english, s->math, s->physics);
int highest = 0;
int max_total = 0;
for (i = 0; i < 5; i++) {
int total = max_total + s[i].english + s[i].math + s[i].physics;
printf("%sさんの合計点は%dです\n", s[i].name, total);
if (highest < total)
highest = i;
}
printf("最も成績がよい学生は%sさんです\n", s[highest].name);
calcavg(s);
fclose(fp);
return 0;
}
No.2ベストアンサー
- 回答日時:
ファイルオープンの処理は問題ありません。
どうしても開けない場合はファイルを絶対パス指定にするとか
例えば、Cドライブ直下なら
FILE *fp = fopen("C:\\score.txt", "rt");
のように。
fscanfの処理に誤りがあります。正しく取り込みできません。
3教科の合計点の計算と、合計が最高の学生の更新がうまくいっていないですね。
(highestとmax_totalの更新が正しくできていない)
ファイルオープン後~calcavg()呼び出し前を以下のようにすれば、当方の環境では動作確認できています。
for (i = 0; i < 5; i++)
fscanf(fp, "%s %d %d %d", s[i].name, &s[i].english, &s[i].math, &s[i].physics);
for (i = 0; i < 5; i++)
printf("%sさんの英語の点は%d,数学の点は%d,物理の点は%dです\n", s[i].name, s[i].english, s[i].math, s[i].physics);
int highest = 0;
int max_total = 0;
for (i = 0; i < 5; i++) {
int total = s[i].english + s[i].math + s[i].physics;
printf("%sさんの合計点は%dです\n", s[i].name, total);
if (max_total < total) {
max_total = total;
highest = i;
}
}
printf("最も成績がよい学生は%sさんです\n", s[highest].name);
No.3
- 回答日時:
scores.txt
とかいうファイルが「しかるべきところ」になければそうなる.
本当に「正しい, あるべきばしょ」にあるんですか? それはどうやって確認しましたか?
といちおう書いてはおくけど,
https://oshiete.goo.ne.jp/qa/11661753.html
(and others) も考慮すると
・マイクロソフトの処理系は捨てる
・統合環境は使わない
のが適切ではないかとすら思うなぁ....
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
このQ&Aを見た人はこんなQ&Aも見ています
-
好きなおでんの具材ドラフト会議しましょう
肌寒くなってきて、温かい食べ物がおいしい季節になってきましたね。 みなさんはおでんの具材でひとつ選ぶなら何にしますか? 1番好きなおでんの具材を教えてください。
-
家・車以外で、人生で一番奮発した買い物
どんなものにお金をかけるかは人それぞれの価値観ですが、 誰もが一度は清水の舞台から飛び降りる覚悟で、ちょっと贅沢な買い物をしたことがあるはず。
-
土曜の昼、学校帰りの昼メシの思い出
週休2日が当たり前の今では懐かしい思い出ですが、昔は土曜日も午前中まで学校や会社がある「半ドン」で、いつもよりちょっと早く家に帰って食べる昼ご飯が、なんだかちょっと特別に感じたものです。
-
許せない心理テスト
私は「あなたの目の前にケーキがあります。ろうそくは何本刺さっていますか」と言われ「12本」と答えたら「ろうそくの数はあなたが好きな人の数です」と言われ浮気者扱いされたことをいまだに根に持っています。
-
うちのカレーにはこれが入ってる!って食材ありますか?
カレーって同じルーから作っても、家庭によって入っているものや味が微妙に違っていて面白いですよね! 「我が家のカレーにはこれが入ってるよ!」 という食材や調味料はありますか?
-
C言語初心者 構造体 課題について
C言語・C++・C#
-
c言語 構造体
C言語・C++・C#
-
C言語初心者 ポインタについて、お助けください、、
C言語・C++・C#
-
-
4
C言語 構造体でつまずいています
C言語・C++・C#
-
5
c言語 16進数の2進数への変換
C言語・C++・C#
-
6
C言語の入力した文字を反転させるプログラミングの仕方が分かりません。
Ruby
-
7
C言語 プログラミング
C言語・C++・C#
-
8
再起呼び出しの回数をカウントするプログラム
C言語・C++・C#
-
9
C言語についてです 5人のテストの点数を入力すると 合計点、平均点、最高点、最低点を 出力するプログ
C言語・C++・C#
-
10
プログラミングの課題で「5人分の学籍番号、英語の点数、数学の点数を入力して、それらを2次元配列に格納
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
c言語プログラミングで初項を1....
-
分割コンパイルの手順と方法に...
-
パターン効果/裾引き(アイパタ...
-
物理の波についてです 時刻12/8...
-
クレーンでのCFブレーキとな...
-
減衰係数の求め方がわかりません
-
SPI 非言語の問題です
-
互いに素と負の数
-
スペクトルの Fitting について
-
分析データ(クロマトグラムな...
-
一次遅れ系の制御における時定...
-
オシロの波形から発振周波数を...
-
等式4m+5n=75を満たす自然数の...
-
比例する
-
オシロスコープからパソコンに...
-
オシロスコープの自作
-
火力発電 蒸気タービンのMSV、C...
-
rc直列回路の波形を観測する時...
-
画像における雑音の評価につい...
-
二つの波形の合致を調べる方法は?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
c言語プログラミングで初項を1....
-
Expression: nptr != NULL
-
'printf':識別子が見つかりませ...
-
TCP/IP: 非ソケットに対するソ...
-
C言語のソースコードについて教...
-
プログラミングが分かりません。
-
C言語初心者です。計算がうまく...
-
加減剰余のオーバーフローについて
-
C言語のエラーについて
-
リターンキー又は、スペースキ...
-
最も文字数が多い行番号と文字...
-
分割コンパイルの手順と方法に...
-
プログラムがエラーが出る原因
-
素数について
-
エラーの原因がわかりません。
-
getch / putch用のヘッダ
-
C言語 コンパイルエラー(文字...
-
C言語で10個の数字を読み込んで...
-
クレーンでのCFブレーキとな...
-
SPI 非言語の問題です
おすすめ情報
"r"でもファイルが開けませんとでてしまいました
ファイルの部分はもともと示されており、そこは動かせないのであっていると思います。
なのにできないのです