fork download
  1. //Study10.c
  2. #include <stdio.h>
  3. char getHyouka(int);//関数プロトタイプの宣言
  4. char* getKamoku(int);//関数プロトタイプの宣言
  5.  
  6. struct seiseki {//成績を表示する構造体
  7. char cls;//クラス名(文字)
  8. int no;//出席番号
  9. char *name;//名前
  10. int tokuten[6];//国語、数学、理科、社会、英語、合計を格納
  11. char rank;//評価 400点以上 A 300点以上 B 200点以上 C 100点以上 D 100点未満 E
  12. };
  13.  
  14. int main (int argc, const char * argv[])
  15. {
  16. struct seiseki takepon;
  17. printf("クラスを入力して下さい\t");
  18. scanf("%c",&takepon.cls);
  19. printf("出席番号を入力して下さい\t");
  20. scanf("%d",&takepon.no);
  21. printf("名前を入力して下さい\t");
  22. scanf("%s",&takepon.name);
  23. for(int i=0;i<5;i++){
  24. char *kamoku=getKamoku(i);
  25. printf("%sを入力して下さい\t",kamoku);
  26. scanf("%d",&takepon.tokuten[i]);
  27. takepon.tokuten[5]+=takepon.tokuten[i];
  28. }
  29. printf("クラス:%c\t出席番号:%d\t名前:%s\n",takepon.cls,takepon.no,&takepon.name);
  30. for(int i=0;i<5;i++){
  31. char *kamoku=getKamoku(i);
  32. printf("%s:%d\t",kamoku,takepon.tokuten[i]);
  33. }
  34. printf("合計:%d\t",takepon.tokuten[5]);
  35. printf("評価:%c\n",getHyouka(takepon.tokuten[5]));
  36. return 0;
  37. }
  38.  
  39. //科目名を返す関数
  40. char* getKamoku(int i){
  41. char *kamoku;
  42. switch (i) {
  43. case 0:
  44. kamoku="国語";
  45. break;
  46. case 1:
  47. kamoku="数学";
  48. break;
  49. case 2:
  50. kamoku="理科";
  51. break;
  52. case 3:
  53. kamoku="社会";
  54. break;
  55. case 4:
  56. kamoku="英語";
  57. break;
  58. default:
  59. break;
  60. }
  61. return kamoku;
  62. }
  63.  
  64. //評価を返す関数
  65. char getHyouka(int tokuten){
  66. char rank;
  67. if(tokuten >= 400){
  68. rank = 'A';
  69. }else if(tokuten >= 300){
  70. rank = 'B';
  71. }else if(tokuten >= 200){
  72. rank = 'C';
  73. }else if(tokuten >= 100){
  74. rank = 'D';
  75. }else{
  76. rank = 'E';
  77. }
  78. return rank;
  79. }
  80.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.c: In function ‘main’:
prog.c:22:5: error: format ‘%s’ expects argument of type ‘char *’, but argument 2 has type ‘char **’ [-Werror=format=]
     scanf("%s",&takepon.name);
     ^
prog.c:29:5: error: format ‘%s’ expects argument of type ‘char *’, but argument 4 has type ‘char **’ [-Werror=format=]
     printf("クラス:%c\t出席番号:%d\t名前:%s\n",takepon.cls,takepon.no,&takepon.name);
     ^
cc1: all warnings being treated as errors
stdout
Standard output is empty