c
1#include <stdio.h> 2 3struct Data { 4 int *tensu; 5 int *grede; 6 double av; 7}; 8 9int main() 10{ 11 struct Data item; 12 13 item.tensu[3]; 14 item.grede[3]; 15 int name[3] = {"英語","数学","情報"}; 16 double tatal = item.av; 17 18 for (int i = 0; i< 3; i++) { 19 printf("%d: ", name[i]); scanf("%d", &item.tensu[i]); 20 } 21 22 printf("平均点: %lf", item.tensu); 23 24 25 return 0; 26} 27
構造体を使用し、プログラム実行時に英語、数学、情報の得点を入力して、平均点、評価を出力するプログラムを作りたいです。
・秀:90 以上、優:80 以上、良:70 以上、可:60 以上、不可:60 未満
・繰り返し処理を使うこと
・科目名(英語、数学、情報)は文字型ポインタの配列を用いて定義する こと ・成績(秀、優、良、可、不可)も文字型ポインタの配列を用いて定義すること
困っていること
構造体の定義がこれであっているのかが分からなくて困っています。
また、入力後の判定や平均点を求めるプログラムが分からなくて困っています。
参考書に回答がなく分からなくて困っているので出来れば具体的なコードをご教授して頂けると助かります。
追記
[定義する構造体] 構造体タグ:Data (構造体のメンバ)
点数を入れるint型配列変数tensu 個人の平均点を入れるdouble型変数av
※構造体メンバのうち配列変数 tensu は、tensu[0]:英語、tensu[1]:数学、tensu[2]:情報として使用する
点数の入力は 0~100 までのみとして考えてよい (実行例の太字下線部は標準入力からの入力)
イメージ
英語:98
数学:76
情報:62 平均点:78.7
英語の成績:秀
数学の成績:良
情報の成績:可
c
1#include <stdio.h> 2 3struct Data { 4 int tensu[3]; 5 int *grede; 6 double av; 7}; 8 9int main() 10{ 11 struct Data item; 12 13 int *key = item.tensu; 14 item.grede[3]; 15 item.av; 16 float sum; 17 char *kamokumei[] = {"英語", "数学", "情報"}; 18 19 for (int i = 0; i< 3; i++) { 20 printf("%s: ", kamokumei[i]); 21 scanf("%d", &key[i]); 22 sum += key[i]; 23 } 24 25 item.av = sum / 3; 26 27 printf("平均点: %.1f\n", item.av); 28 29 return 0; 30}
現状のコードでは平均までを求めることができました。
繰り返し処理での判定の仕方がわからないです。
回答3件
あなたの回答
tips
プレビュー