Тут собраны задачи к статье Типы данных, переменные и константы. Постарайтесь решать задачи самостоятельно и только по необходимости смотреть решение. Так вы намного быстрее освоите основы программирования.
1. Объявить переменные с помощью которых можно будет посчитать общую сумму покупки нескольких товаров. Например плитки шоколада, кофе и пакеты молока.
Посмотреть код
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
#include <iostream>
usingnamespacestd;
intmain()
{
setlocale(LC_ALL,"rus");
intchocolate=2;// хранит количество упаковок
intmilk=3;
intcoffee=1;
floatpriceOfChocolate=11.04;// хранит цены за одну упаковку
2. Объявить три переменные типа int и присвоить первой числовое значение, вторая переменная равна первой переменной увеличенной на 3, а третья переменная равна сумме первых двух.
Посмотреть код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
usingnamespacestd;
intmain()
{
intfirst=4;
intsecond=first+3;
intthird=first+second;
cout<<"first = "<<first<<endl;
cout<<"second = "<<second<<endl;
cout<<"third = "<<third<<endl;
return0;
}
3. Объявить переменные, для подсчета общего количества предметов для сервировки стола. Например чашки, такое же количество блюдец и ложек.
Посмотреть код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
usingnamespacestd;
intmain()
{
setlocale(LC_ALL,"rus");
intcups=6;// количество чашек
intspoons=cups;// количество ложек равно кол-тву чашек
intsaucers=cups;// блюдца
// или можно так записать
// int cups, spoons, saucers;
// cups = spoons = saucers = 6;
intamount=cups+spoons+saucers;// общее количество
cout<<"Всего "<<amount<<" предметов"<<endl;
return0;
}
4.7
155
126 thoughts on “Задачи: Типы данных, переменные и константы”
А это первая задача: #include #include
using namespace std; int main() { setlocale(LC_ALL, “Russian”); int a, b, c, sum; int k, l, j; cout <> k >> a; cout <> l >> b; cout <> j >> c;
sum =k* a + l*b + j*c; cout << "Сумма : " << sum << endl;
Это почти ничем не отличается от того, что приводит автор статьи … кроме использования printf() для вывода результата вместо вывода в поток cout.
Но! printf() – это стиль языка C, а не C++, и в коде C++ его лучше, без обоснованной на то необходимости, не использовать, а использовать вывод в поток cout.
Всё не так просто – иногда это сработает, иногда нет (в зависимости от вида операционной системы, локализации этой системы и др.). Вопросы локализации достаточно путанные, и для того, чтобы внести в них ясность, очень скоро будет выложено здесь на сайте 3 небольшие статьи относительно локализации и ввода-вывода русскоязычных строк.
А в первом приближении, можете писать так: setlocale( LC_ALL, “Russian” ); Потому что ваше “rus”, будет работать, например, в Windows, но закончится ошибкой в Linux. А сайт этот о языке C++ вообще, а не о использовании C++ в Windows.
ЛИчно я бы написал так:
#include
using namespace std;
int main() { int shokolad=4; int kofe=3; int moloko=5;
Чем проще? Можно и так записать, чтобы “проще” (и это правильно и будет работать): int a, b, c; b = ( a = 2 ) + 3; cout << "c = " << ( c = a + b ) << endl;
А это первая задача:
#include
#include
using namespace std;
int main()
{
setlocale(LC_ALL, “Russian”);
int a, b, c, sum;
int k, l, j;
cout <> k >> a;
cout <> l >> b;
cout <> j >> c;
sum =k* a + l*b + j*c;
cout << "Сумма : " << sum << endl;
system("pause");
return 0;
}
Напишите алгоритм с правилами алгоритма:
Второе даже так лучше))
[code]#include
using namespace std;
void main()
{
int od ;
cout <> od;
int dva = od+3;
int tri = dva+od;
cout << "pervoe= : ";
cout << od << "\n";
cout << "vtoroe= : ";
cout << dva << "\n";
cout << "tretie= : ";
cout << tri << "\n";
system ("pause") ;
}[/code]
#include
using namespace std;
void main()
{
int od ;
cout <> od;
int dva = od+3;
int tri = dva+od;
cout << "pervoe= : ";
cout << od << "\n";
cout << "vtoroe= : ";
cout << dva << "\n";
cout << "tretie= : ";
cout << tri << "\n";
system ("pause") ;
}
так разве не пойдет?(1 задача)
#include
int main()
{
int shokolad=4;
int kofe=3;
int moloko=5;
float cenaShokolad=10.4;
float cenaKofe=6.3;
float cenaMoloko=3.7;
float summ=(shokolad*cenaShokolad)+(kofe*cenaKofe)+(moloko*cenaMoloko);
printf(“Obshay summa pokupki sostavlyet %.2f$\n”,summ);
return(0);
}
Это почти ничем не отличается от того, что приводит автор статьи … кроме использования printf() для вывода результата вместо вывода в поток cout.
Но! printf() – это стиль языка C, а не C++, и в коде C++ его лучше, без обоснованной на то необходимости, не использовать, а использовать вывод в поток cout.
Chtoby tak ne pisat’ ispolzui
setlocale(LC_ALL, “rus”);
Всё не так просто – иногда это сработает, иногда нет (в зависимости от вида операционной системы, локализации этой системы и др.). Вопросы локализации достаточно путанные, и для того, чтобы внести в них ясность, очень скоро будет выложено здесь на сайте 3 небольшие статьи относительно локализации и ввода-вывода русскоязычных строк.
А в первом приближении, можете писать так:
setlocale( LC_ALL, “Russian” );
Потому что ваше “rus”, будет работать, например, в Windows, но закончится ошибкой в Linux. А сайт этот о языке C++ вообще, а не о использовании C++ в Windows.
ЛИчно я бы написал так:
#include
using namespace std;
int main()
{
int shokolad=4;
int kofe=3;
int moloko=5;
float cenaShokolad=10.4;
float cenaKofe=6.3;
float cenaMoloko=3.7;
float summ = (shokolad*cenaShokolad)+(kofe*cenaKofe)+(moloko*cenaMoloko);
cout << "Obshay summa pokupki sostavlyet – " << summ << endl;
return(0);
}
разве второее задание так не проще?
#include “stdafx.h”
#include
using namespace std;
int main()
{
setlocale(LC_ALL, “rus”);
int a,b,c;
a = 2;
b = a + 3;
c = a + b;
cout << "c= " << c << endl;
return 0;
}
Чем проще?
Можно и так записать, чтобы “проще” (и это правильно и будет работать):
int a, b, c;
b = ( a = 2 ) + 3;
cout << "c = " << ( c = a + b ) << endl;
“проще” – это вовсе не значит лучше!
#include
using namespace std;
int main () {
setlocale (0, “”);
int cap, blud, logka;
cout <> cap;
int amount = cap * 3;
cout << "Всего потребуется предметов " << amount << endl;
return 0;
}
Еще одна реализация третьей задачи.. первый вариант после копи оказался с ошибками
#include
using namespace std;
int main () {
setlocale (0, “”);
int cap, blud, logka;
cout <> cap;
int amount = cap * 3;
cout << "Всего потребуется предметов " << amount << endl;
return 0;
}
А вот так можно решить первую задачу?
#include
using namespace std;
int main() {
const float chp = 55.0;
const float cp = 125.5;
const float mp = 29.99;
int ch, c, m;
cin>>ch;
cin>>c;
cin>>m;
float sum = ch*chp + c*cp + m*mp;
cout<<"chocolate price = "<<chp*ch<<endl;
cout<<"coffee price = "<<cp*c<<endl;
cout<<"milk price = "<<mp*m<<endl;
cout<<"sum = "<<sum<<endl;
return 0;
}
скорее всего с английским все дерьмово, мне лень настраивать локаль
как вам код?)
#include “stdafx.h”
#include
using namespace std;
int main()
{
int a, b, c;
float j, k, l;
cout <> a;
cout <> b;
cout <> c;
cout <> j;
cout <> k;
cout <> l;
float sum = a * j + b * k + c * l;
cout << "amount of your purchase = " << sum << endl;
system("pause");
return 0;
}