У попередній статтіВисновок даних на екран і ввод данных с клавиатурыми докладно розглянули цю тему. Пришло время практики – так как нам предстоит много трудиться, чтобы наработать определённые навыки, необхідні програмісту і розвивати потихеньку своє логічне мислення.
1. Создайте 4 переменные с разными типами данных и предложите пользователю ввести в них значения. После ввода, отобразите их на экране.
Показать код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
usingnamespacestd;
intmain()
{
setlocale(LC_ALL,"rus");
intdigit=0;
doubledigit2=0;
charsymbol=0;
booltrueOrFalse=0;
cout<<"Введите целое число: ";
cin>>digit;
cout<<"Введите вещественное число: ";
cin>>digit2;
cout<<"Введите символ: ";
cin>>symbol;
// в переменную типа bool с помощью cin можно ввести
// только числа 0 (интерпретируется как false) и 1 (true)
cout<<"Введите 0 или 1: ";
cin>>trueOrFalse;
cout<<endl<<endl;
cout<<"Целое число: "<<digit<<endl;
cout<<"Вещественное число: "<<digit2<<endl;
cout<<"Символ: "<<symbol<<endl;
cout<<"bool: "<<trueOrFalse<<endl;
return0;
}
Результат:
2. Создайте 5 переменных типа char, запропонуйте користувачеві ввести слово з п'яти букв і покажіть ці символи (слово) на екран. (Символы вводить латиницей, т.к. кирилица будет отображаться некорректно. Почему? Это мы рассмотрим в одном из наших следующих уроков)
В будущем, мы научимся с вами работать со строками и нам не придется хранить слова в разных переменных и выводить их на экран по буквам.
3. Вывести на экран текст в таком виде:
4. Користувач повинен ввести 2 числа. Вам надо показать на экран произведение этих чисел, суму і різницю. Покажіть так само середнє арифметичне цих введених чисел.
Показать код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
usingnamespacestd;
intmain()
{
setlocale(LC_ALL,"rus");
floatnum1=0;
floatnum2=0;
cout<<"Введите первое число: ";
cin>>num1;
cout<<"Введите второе число: ";
cin>>num2;
cout<<num1<<" + "<<num2<<" = "<<num1+num2<<endl;
cout<<num1<<" - "<<num2<<" = "<<num1-num2<<endl;
cout<<num1<<" * "<<num2<<" = "<<num1*num2<<endl;
cout<<"Средне арифметическое: ";
cout<<num1<<" + "<<num2<<" / "<<2<<" = ";
cout<<(num1+num2)/2<<endl;
cout<<endl;
return0;
}
Питання задавайте в коментарях.
4.4
54
74 думки про "Завдання: ввод и вывод данных”
ахах ___)) цікава цитата!) але все ж, чому: “кирилиця буде відображатися некоректно.”
все по тому, що функція setlocale(LC_ALL, “rus”); дозволяє коректно відображати тільки висновок кирилиці на екран. За введення вона не відповідає. Ми Роздивимось, як налаштувати консоль на коректну роботу в одній зі статей. наберіться терпіння ))) Спасибо, що не даєте мені розслабитися. Записую в мій блокнот жирним шрифтом всі побажання читачів ))
int main() { setlocale(0, ""); cout < < "А почему в ресторане ей никогда не нравится то,\n"
<< "что заказала она, и всегда нравится то, что заказал я?\n"
<< "И она начинает есть у меня из тарелки. Я ей говорю: Зачем?\n"
<< "Она говорит: Я только попробую...\n"
<< "И съедает половину!\n"
<< "// к.ф \"О чем говорят мужчины\" //" << endl; getch();
return 0;
}
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; }
Вдосконалений код вирішення першого завдання. Подивіться кому цікаво.
#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]
ахах ___)) цікава цитата!)
але все ж, чому: “кирилиця буде відображатися некоректно.”
все по тому, що функція setlocale(LC_ALL, “rus”); дозволяє коректно відображати тільки висновок кирилиці на екран. За введення вона не відповідає. Ми Роздивимось, як налаштувати консоль на коректну роботу в одній зі статей. наберіться терпіння )))
Спасибо, що не даєте мені розслабитися. Записую в мій блокнот жирним шрифтом всі побажання читачів ))
а де третє завдання?? Д/З?
Ось зробіть і додайте код в коментарі! Нехай усі побачать, що вам це завдання під силу )))
Можна трохи вдосконалити калькулятор дописавши цей код
cout << num1 << " / " << num2 << " = " << num1 / num2 << endl;
#include
#include
using namespace std;
int main()
{
setlocale(0, "");
cout < < "А почему в ресторане ей никогда не нравится то,\n" << "что заказала она, и всегда нравится то, что заказал я?\n" << "И она начинает есть у меня из тарелки. Я ей говорю: Зачем?\n" << "Она говорит: Я только попробую...\n" << "И съедает половину!\n" << "// к.ф \"О чем говорят мужчины\" //" << endl; getch(); return 0; }
1) Чому не скрізь застосовуєш endl? Або навпаки останній endl не замінив на n?
2) Геч() це з conio? Рекомендую замінити на cin.get() в ім'я феншуя.
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;
}
Тільки всі ці 6 операторів std::cout ви може записати в одному операторі std::cout .
Вдосконалений код вирішення першого завдання.
Подивіться кому цікаво.
#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;
}
Мій варіант вирішення задач
#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;
}
#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;
}
Чи можна по можливості вдосконалити цю програму?