2017-02-11 7 views
-1

私は3〜10日の間に追跡したい日数を入力するようにユーザーに促すプログラムを作成しようとしています。値が2より小さい値または10より大きい値を入力すると、エラーメッセージが表示され、プログラムがループします。パラメータ内に値を入力した後、プログラムはforループを使用して、ユーザが選択した日数のすべての値が入力されるまで、ユーザに高低温度を入力するように促す必要があります。これらの値は、一致する配列にも格納する必要があります。反復構造を使用した高温および低温アレイ

#include <stdio.h> 

int main (void) 
{ 
    int i; 
    int day[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; 
    int high; 
    int low; 

    printf ("---===IPC Temperature Analyzer V2.0===---\n"); 

    printf ("Please enter the number of days between 3 and 10, inclusive: "); 
    scanf("%d", &i); 



    for(;i<10;i++) { 
      printf("Day %d - High: \n", day[i]); 
    } 



return 0; 

} 

は今、私はちょうど、ユーザが入力することを選択したこと日数プログラムの出力を有し、かつそれらの日が入力に高値と安値をユーザーに確認したに焦点を当てています。私が今まで管理してきた最高のものは、プログラムの出力を高値のみにしているのですが、ユーザーが入力すると4日目、4日目、5日目、5日目などが生成されます1日目 - 高、2日目 - この日数が4日に達するまで高。私はまた、ユーザーがforループを使って温度を入力させる方法について混乱しています。誰かがこれらの問題を解決するためのいくつかの例やいくつかの洞察を提供することができれば、非常に感謝しています。

+0

forループは常に特定のインデックスから開始する必要があります。 for(i = 0; i <10; i ++)。それ以外の場合はエラーが発生します。 – CoderGirl94

答えて

1

あなたはint iです。同じ変数がループインデックスとして使用されているだけでなく、ユーザーからの入力を取得するために使用されています。ユーザーが4と言うとき、i4に割り当てられ、ループはi = 4からi = 9まで実行されます。

第1日 - 高;第2日 - 高ではなく、第4日 - 高:、第5日 - 高:などを生成しますあなたがやりたいようになりました

、あなたは別の変数にユーザからの入力を取ることができます。また、この

for (i=0; i < limit; i++)

のようなループを使用して、あなたは意志、その後limit言うとの値を検証する必要がありますは配列のサイズ以下ですday[]

+0

あなたの提案を含めるようにコードを更新しました。私はユーザー入力をiから分離するために 'int limit'を追加し、 'while'ループを追加して新しい値を配列のサイズに制限しました。 – Jinto

関連する問題