0

10 代の若者でさえ技術恐怖症の境界線にある町で C を学び始めたばかりなので、お手柔らかにお願いします。^^'

いくつかの部屋を読み取り、各部屋の一連のユーザー入力をループするプログラムを構築しようとしています。これらのユーザー入力を配列に格納できるようにしたいので、プログラムの後の段階でそれらを追加できます。私はポインターや malloc/realloc に移行していません。私が言ったように、私は長い間学んでいません。ヘルプまたは建設的な意見 [つまり、私の完全で完全な新人らしさを指摘していない] は大歓迎です!

int main(){
    int marks[20];
    int i;
    int rooms = 0;
    int j = rooms;
    char option = 0;
    int lights[20]; 
    int hrsUsed[20]; 
    int Telly_Computer[20];

    printf("Enter number of rooms");
        scanf_s("%d", rooms);

        while (option != 'Q'){
         for(i=0;i<j;i++) {
            printf("input wattage of lights");
            scanf_s("%d", (lights+i));
            printf("input number of hours use/day (average)");
            scanf_s("%d", (hrsUsed+i));
            printf("input number of TV/Computers");
            scanf_s("%d", (Telly_Computer+i));
                }
          return 0;
     }
}
4

2 に答える 2

1

変化する

scanf_s("%d", rooms);

scanf_s("%d", &rooms);

他の scanf は、データを格納する配列内の場所を指しているため、機能します。

また

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

する必要があります

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

そして、あなたは確認する必要がありrooms < 20ます。

optionまた、ループを終了するには、ある時点で設定する必要があります。

于 2013-11-07T23:13:26.770 に答える
0

1 つには、 を要求することはoptionないため、プログラムが終了することはありません。また、20 を超える部屋を追加しようとするとクラッシュします。

部屋数を読んだ後も設定が表示jされないため、メインループは実行されません。

于 2013-11-07T23:13:50.490 に答える