Основы программирования на С++ для начинающих

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

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

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

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

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

вывод данных на экран

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


Вопросы  задавайте в комментариях.

74 thoughts on “Задачи: ввод и вывод данных

    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) getch() это из 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;
    }

    Можно ли по возможности усовершенствовать эту программу?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *