c
1#include <stdio.h> 2#define NUMBER 100 3void errorcheck(int *t, int n); 4 5int main(void) 6{ 7 int num; 8 int person[NUMBER]; 9 printf("人数: "); 10 scanf("%d", &num); 11 printf("点数を入力してください\n"); 12 13 for (int i=0; i<num; i++) { 14 printf("%d人目: ",i + 1); 15 scanf("%d", &person[i]); 16 } 17 puts("エラーチェック終了"); 18 errorcheck(&num, *(person)); 19 20 return 0; 21} 22 23void errorcheck(int *t, int n){ 24 25 for (int i = 0; i<*t; i++) { 26 if (n <51){ 27 printf("%d番: %d\n",i + 1,n); 28 }else{ 29 printf("入力エラー\n"); 30 } 31 } 32}
やりたいこと
テキストの問題で関数でのエラーチェックの仕方が分からなくて困っています。
一つだけ判定するなら出来るのですが配列の判定となるとどのようにすればいいか分りません。
サンプルコードを交えて教えて頂けると助かります。
改変
c
1#include <stdio.h> 2#define NUMBER 100 3void errorcheck(int *t, int n); 4 5int main(void) 6{ 7 int num; 8 int person[NUMBER]; 9 printf("人数: "); 10 scanf("%d", &num); 11 printf("点数を入力してください\n"); 12 13 for (int i=0; i<num; i++) { 14 printf("%d人目: ",i + 1); 15 scanf("%d", &person[i]); 16 } 17 puts("エラーチェック終了"); 18 errorcheck((person), num); 19 20 return 0; 21} 22 23void errorcheck(int *t, int n){ 24 25 for (int i = 0; i<n; i++) { 26 if (*(t) <51){ 27 printf("%d番: %d\n",i + 1,*(t)); 28 }else{ 29 printf("入力エラー\n"); 30 } 31 }
完成?
c
1#include <stdio.h> 2#define NUMBER 100 3void errorcheck(int *t, int n); 4 5int main(void) 6{ 7 int num; 8 int person[NUMBER]; 9 printf("人数: "); 10 scanf("%d", &num); 11 printf("点数を入力してください\n"); 12 13 for (int i=0; i<num; i++) { 14 printf("%d人目: ",i + 1); 15 scanf("%d", &person[i]); 16 } 17 puts("エラーチェック終了"); 18 errorcheck((person), num); 19 20 return 0; 21} 22 23void errorcheck(int *t, int n){ 24 25 for (int i = 0; i<n; i++) { 26 if(t[i]>=1&&t[i]<=50){ 27 printf("%d番: %d\n",i + 1,t[i]); 28 }else{ 29 printf("%d番入力エラー\n",i+1); 30 } 31 } 32}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/07/25 17:05
退会済みユーザー
2018/07/25 17:17
2018/07/25 18:07
退会済みユーザー
2018/07/26 03:01
2018/07/26 04:26