2017-02-11 2 views
-1

Я пытался написать программу, предлагающую пользователю ввести количество дней, которое они хотят отслеживать от 3 до 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 - Высокий: и т. Д. Вместо День 1 - Высокий, День 2 - Высокий, пока не достигнет количества дней, которое в этом случае равно 4. Я также смущен тем, как я могу заставить пользователя вводить температуры, используя цикл for. Если бы кто-нибудь мог привести некоторые примеры или даже понять, как решить эти проблемы, это было бы очень признательно.

+0

для циклов всегда должен начинаться с определенного индекса. для (i = 0; i <10; i ++). В противном случае вы получите сообщение об ошибке. – CoderGirl94

ответ

1

У вас есть int i. Одна и та же переменная используется как индекс цикла, а также используется для ввода данных от пользователя. Когда пользователь говорит 4, i присваивается 4, и цикл работает от i = 4 до i = 9. Следовательно, это наблюдение.

будет производить День 4 - Высокий :, День 5 - Высокий :, и т. Д. Вместо дня 1 - Высокий ;, День 2 - Высокий, пока он не достигнет количества дней, которое в этом случае равно 4

Теперь, чтобы сделать то, что вы хотите сделать, вы можете принимать входные данные от пользователя в других переменном сказать limit, а затем использовать цикл как этого

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

Кроме того, вы будете необходимо подтвердить, что значение limit не больше размера вашего массива day[]

+0

Я обновил свой код, чтобы включить ваше предложение, и теперь он работает, спасибо! Я добавил 'int limit', чтобы отделить пользовательский ввод от i и добавил цикл while, чтобы ограничить новое значение размером массива. – Jinto

 Смежные вопросы

  • Нет связанных вопросов^_^