Основи програмування на С ++ для початківців

Завдання: ввод и вывод данных

У попередній статтіВисновок даних на екран і ввод данных с клавиатуры ми докладно розглянули цю тему. Пришло время практики – так как нам предстоит много трудиться, чтобы наработать определённые навыки, необхідні програмісту і розвивати потихеньку своє логічне мислення.

1. Создайте 4 переменные с разными типами данных и предложите пользователю ввести в них значения. После ввода, отобразите их на экране.

2. Создайте 5 переменных типа char, запропонуйте користувачеві ввести слово з п'яти букв і покажіть ці символи (слово) на екран. (Символы вводить латиницей, т.к. кирилица будет отображаться некорректно. Почему? Это мы рассмотрим в одном из наших следующих уроков)

3. Вывести на экран текст в таком виде:

висновок даних на екран

4. Користувач повинен ввести 2 числа. Вам надо показать на экран произведение этих чисел, суму і різницю. Покажіть так само середнє арифметичне цих введених чисел.


Питання задавайте в коментарях.

74 думки про "Завдання: ввод и вывод данных

    1. все по тому, що функція setlocale(LC_ALL, “rus”); дозволяє коректно відображати тільки висновок кирилиці на екран. За введення вона не відповідає. Ми Роздивимось, як налаштувати консоль на коректну роботу в одній зі статей. наберіться терпіння )))
      Спасибо, що не даєте мені розслабитися. Записую в мій блокнот жирним шрифтом всі побажання читачів ))

    1. Ось зробіть і додайте код в коментарі! Нехай усі побачать, що вам це завдання під силу )))

  1. Можна трохи вдосконалити калькулятор дописавши цей код
    cout << num1 << " / " << num2 << " = " << num1 / num2 << endl;

  2. #include
    #include
    using namespace std;

    int main()
    {
    setlocale(0, "");
    cout < < "А почему в ресторане ей никогда не нравится то,\n" << "что заказала она, и всегда нравится то, что заказал я?\n" << "И она начинает есть у меня из тарелки. Я ей говорю: Зачем?\n" << "Она говорит: Я только попробую...\n" << "И съедает половину!\n" << "// к.ф \"О чем говорят мужчины\" //" << endl; getch(); return 0; }

    1. 1) Чому не скрізь застосовуєш endl? Або навпаки останній endl не замінив на n?

      2) Геч() це з conio? Рекомендую замінити на cin.get() в ім'я феншуя.

  3. 3 задача у мене вийшла так:

    #include

    int main()
    {
    setlocale(LC_ALL, "rus");
    std::cout << "\t \t А почему в ресторане ей никогда не нравится то, \n";
    std::cout << "\t \t что заказала она, и всегда нравится то, что заказал я? \n";
    std::cout << "\t \t И она начинает есть у меня из тарелки. Я ей говорю: \n";
    std::cout << "\t \t \"Закажи себе то же самое \". Она говорит: \"Зачем? \n";
    std::cout << "\t \t Я только попробовать \". И съедает половину. \n";
    std::cout << "\t \t \t //к.ф. \"О чем говорят мужчины \" // \n";
    return 0;
    }

  4. Вдосконалений код вирішення першого завдання.
    Подивіться кому цікаво.

    #include
    using namespace std;

    int main()
    {
    setlocale(LC_ALL, "rus");
    long long value0(0LL);
    double value1(0);
    int value2(0);
    char value3(0);
    const int max(45);
    char indicator(0);
    char trial[9][max]
    {
    "Продолжить (y/n)? ", //[0]
    "Введите целое число: ", //[1]
    "Введите нецелое число: ", //[2]
    "Введите целое число не больше 2-х млрд.: ",//[3]
    "Введите символ: ", //[4]
    "Значение типа long long = ", //[5]
    "Значение типа double = ", //[6]
    "Значение типа int = ", //[7]
    "Значение типа char = " //[8]

    };
    do
    {
    cout << value0;
    if (value0 > 10000000000)
    {
    cout << "Вы ввели значение больше 10-ти млрд.\n";
    cout << "По умолчанию изменено на 0.\n";
    value0 = 0;
    }
    cout << value1;
    cout << value2;
    if (value2 > 2000000000)
    {
    cout << "Это число больше 2-х млрд.\n";
    cout << "По умолчанию изменено на 0.\n";
    value2 = 0;
    }
    cout << value3;
    cout << trial[5] << value0 << "\n";
    cout << trial[6] << value1 << "\n";
    cout << trial[7] << value2 << "\n";
    cout << trial[8] << value3 << "\n";
    cout <> indicator;
    } while ((indicator == 'y') || (indicator == 'Y'));
    Console::ReadLine();
    return 0;
    }

  5. Мій варіант вирішення задач


    #include
    #include
    #define line cout << "---------------------------------------" << endl;
    #define taskcls system("cls");

    using namespace std;

    int main()
    {
    setlocale(0, "russian");
    /* 1 задача */

    int integer;
    double doubleVar;
    bool boolVar;
    char charVar;

    cout << integer;
    cout << doubleVar;
    cout << boolVar;
    cout << charVar;

    cout << "Integer: " << integer
    << "\nDouble: " << doubleVar
    << "\nFloat: " << boolVar
    << "\nChar: " << charVar;
    cout << endl;
    taskcls
    /* 2 задача */

    char var1, var2, var3, var4, var5;
    cout << var1 >> var2 >> var3 >> var4 >> var5;
    cout << var1 << var2 << var3 << var4 << var5;
    cout << endl;
    system("pause");
    taskcls
    /* 4 задача */
    int n1, n2, result;
    cout << n1 >> n2;
    result = n1 * n2;
    cout << "Произведение чисел n1 и n2: \t" << result << endl;
    line
    result = n1 + n2;
    cout << "Сумма чисел n1 и n2: \t\t" << result << endl;
    line
    result = n1 - n2;
    cout << "Разность чисел n1 и n2: \t" << result << endl;
    line

    _getch();
    return 0;
    }

  6. #include
    #include
    using namespace std;
    int main()
    {
    setlocale (LC_ALL,"Russian");
    double a,b,c;
    cout << "Введите a:" <> a;
    cout << "Введите b:" <> b;
    cout << "Введите c:" <> c;
    double D, x1, x2;
    D = b * b - 4*a*c;
    cout << "Дискриминант =" << D << endl;
    x1 = (-b + sqrt(D))/(2*a);
    x2 = (-b - sqrt(D))/(2*a);
    if (D < 0) {
    cout << "Дискриминант меньше нуля, корней нет." << endl;
    } else if (D == 0) {
    cout << "Дискриминант равен нулю, 1 корень." << x1 << endl;
    } else {
    cout << "Дискриминант больше нуля, два корня." << endl;
    cout << "x1=" << x1 << endl;
    cout << "x2=" << x2 << endl;
    }
    return 0;
    }

    Чи можна по можливості вдосконалити цю програму?

залишити коментар

Ваша електронна адреса не буде опублікований. Обов'язкові поля позначені * *