faye de guzman Ответов: 2

Какую структуру управления лучше всего использовать и как их реализовать. ( Я пытался сделать некоторые из них, но не уверен, что правильно, Пожалуйста, помогите )


Выбор управляющих структур таков: оператор IF, цикл For, цикл While и цикл Do While.

Программа задает пользователю вопрос "Да/нет". Если пользователь введет " y’, программа отобразит “хорошо!”, а затем повторит вопрос. Если они снова вводят " y’, происходит то же самое. Программа перестает задавать вопрос только в том случае, если они вводят " n "вместо " нет"..

структура управления :

Программа сравнивает высоту двух объектов – эти высоты вводятся пользователем. Если первый больше второго, то программа выведет на экран “я больше”. Если он меньше, то программа покажет “я просто маленький парень”.

структура управления:

Программа должна рассчитать общий процент по кредиту за его пятилетний срок. Пользователь должен указать сумму кредита и процентную ставку. Если процентная ставка или сумма кредита отрицательны, вам следует снова запросить значение.

Лучшая структура управления для использования:

Программа запрашивает у пользователя номер телефона. Затем программа выводит “Hello!” в новой строке столько же раз, сколько ввел пользователь.

Лучшая структура управления для использования:

Программа запрашивает у пользователя состояние подсветки – включено или выключено. Если свет горит, программа выключает его, если он выключен, она включает его. В любом случае, он отображает новое состояние света.

Лучшая структура управления для использования:
Программа отображает меню с 3 опциями. Один из вариантов - " q " для выхода. Меню постоянно отображается, если пользователь выбирает любой другой вариант, кроме выхода. (Эти другие варианты не должны делать ничего другого.)

Лучшая структура управления для использования:

Что я уже пробовал:

Программа задает пользователю вопрос "Да/нет". Если пользователь введет " y’, программа отобразит “хорошо!”, а затем повторит вопрос. Если они снова вводят " y’, происходит то же самое. Программа перестает задавать вопрос только в том случае, если они вводят " n "вместо " нет"..

использование структуры управления : while loop

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    char answer;
    
    printf("Enter Y or N");
    scanf("%c", answer);
    while ('Y');
    printf("Alright then!");
    
    printf("Enter Y or N:");
    scanf("%c", answer);
    
    system ("pause");
    return 0;
    
}



Программа сравнивает высоту двух объектов – эти высоты вводятся пользователем. Если первый больше второго, то программа выведет на экран “я больше”. Если он меньше, то программа покажет “я просто маленький парень”.

использование структуры управления: оператор If

#include <stdio.h>
#include <stdlib.h>

int main (void)

int height;
float a,b;

printf("Enter the heights separated by space: ");
scanf("%d%d", &height);

if (a>b)
printf("I'm bigger");

else (a<b)
printf("I'm just a little guy");

system ("pause");
return 0;

2 Ответов

Рейтинг:
18

OriginalGriff

Снимите точку с запятой с конца вашего письма. while петля. Вот что тебе нужно:

while (condition)
   {
   ... statements inside the loop get executed until <code>condition</code> becomes false ...
   }
...these statements are only executed after <code>condition</code> became false ...
С точкой с запятой в конце строки, которая завершает while цикл, поэтому он работает непрерывно, не делая ничего полезного.

Ваше условие должно быть чем-то, что возвращает значение "true / false": я бы предложил сравнить answer с буквой "У"

Вероятно, вам также будет лучше прочитать строку от пользователя, а не один символ, и проверить первый символ строки - потому что если вы этого не сделаете, то следующий символ, который читает iot, будет символом новой строки, добавленным клавишей ENTER, которую он нажал, чтобы отправить свой ответ, и ваш цикл завершится, не дав ему времени ответить.


Рейтинг:
1

Rick York

Вот один из способов написания этого цикла :

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    char answer = 0;

    do
    {
        if( answer )   // won't happen on the first pass
            printf("Alright then!");
        printf("Enter Y or N:");
        scanf( "%c", & answer);
    } while( answer == 'Y' );

    system ("pause");
    return 0;
    
}