Рок C/C++ Вступление. Hello World!



бет4/12
Дата07.02.2022
өлшемі498,5 Kb.
#96247
түріУрок
1   2   3   4   5   6   7   8   9   ...   12
Байланысты:
C общсвед
C общсвед
Задача:
Найти площадь окружности, при этом радиус вводится пользователем.
Решение
#include
#include

using namespace std;


void main()
{
setlocale(LC_ALL, "rus");


double radius, s;


const double pi=3.14;


cout<<"Введите радиус"<


cin>>radius;


s=pi*radius*radius;


cout<<"Площадь = "<

}

Компилируем нашу программу нажатием ctrl+F5 или (Dedug -> Start without debugging). И видим результат.


Результат
Введите радиус
3
Площадь = 28.26
Для продолжения нажмите любую клавишу . . .
Задача2:
Найти путь который проедет машина, затраченные деньги на бензин, стоимость бензина и расход топлива константы - 25руб и 10л на 100км соответственно. Скорость и время указывает пользователь.
Решение
#include
#include
using namespace std;
void main()
{
setlocale(LC_ALL, "rus");
double speed, time,s, totalprice;


const double price=25;


cout<<"Введите скорость и время"<


cin>>speed>>time;


s=speed*time;


totalprice=s/100*10*price;


cout<<"Путь = "<км.\n"<<"Стоимость = "<руб.\n";

}

Компилируем нашу программу нажатием ctrl+F5 или (Dedug -> Start without debugging). И видим результат.


Результат
Введите скорость и время
60
3
Путь = 180 км.
Стоимость = 450 руб.
Для продолжения нажмите любую клавишу . . .

Урок 2. Литералы. Приведение типов.Инкремент и декремент.


Мы уже знаем что существуют различные типы данных, а Литералы - это значения которые могут принимать переменные определенного типа. Например:
int - 5
double - 5.0
float - 5.0f
char - '5'
bool - true или false
Приведение типов нам нужно для того чтобы мы могли производить операции одновременно над разными типами данных, например сложить переменные типа int и double. При этом надо помнить, что типы приводятся к бОльшему и что тип меняется только на время операции. Следовательно при сложении double=int+double, int приводится к double на время операции, если int=int+double, в данном случаи double приводится к int и происходит потеря данных, т.к. дробная часть просто отбрасывается. Как вы заметили бывают Расширяющие и Сужающие приведения, при этом, во втором случаи некоторые данные могут теряться.
Расширяющие short, bool, char -> int -> long ->float ->doble

Сужающие doble -> float - long -> int -> char, bool, short
Выше мы рассмотрели неявное приведение типов, т.е. компилятор сам решает к какому типу ему нужно привести данные, однако можно использовать и явное приведение: (тип) выражение/переменная
Например:
#include
#include
using namespace std;
void main()
{
setlocale(LC_ALL, "rus");
double var1=2.53, var2=2.95, doubleres, dires;
int intres, intres2, intres3, vint=3;
intres=var1+var2;
intres2=(int)var1+(int)var2;
intres3=vint+var1+var2;
doubleres=var1+var2;
dires=(int)var1+(int)var2;
cout<<"int=double+double = "<cout<<"int=(int)double+(int)double = "<cout<<"int=int+double+double = "<cout<<"double=double+double = "<cout<<"double=(int)double+(int)double = "<}
Компилируем нашу программу нажатием ctrl+F5 или (Dedug -> Start without debugging). И видим результат.
Результат
int=double+double = 5


int=(int)double+(int)double = 4

int=int+double+double = 8


double=double+double = 5.48
double=(int)double+(int)double = 4
Для продолжения нажмите любую клавишу . . .
Инкремент - увеличение переменной на единицудекремент - уменьшение переменной на единицу. Существует две формы префиксная и постфиксная, различие в том, что если инкремент или декремент является частью выражения, то в случаи префиксной формы, сначала выполняется она, а затем остальное выражение, в постфиксной наоборот.
Например:
#include
#include
using namespace std;
void main()
{
setlocale(LC_ALL, "rus");
int x=0;
cout<<"x="<

cout<<"x="<
cout<<"x="<<++x<

cout<<"x="<
}
Компилируем нашу программу нажатием ctrl+F5 или (Dedug -> Start without debugging). И видим результат.
Результат
x=0
x=1
x=2
x=2
Для продолжения нажмите любую клавишу . . .
Сокращенные формы арифметических действий, иногда нужно сделать какое либо одно арифметическое действие над одной переменной, прибавить, умножить. Например:
S=S+32; в сокращенной форме это будет S+=32;
F=F-k; в сокращенной форме это будет F-=k;
N=N/2; в сокращенной форме это будет N/=2;
Задача: 
Пользователь вводит с клавиатуры денежную сумму в рублях и копейках (рубли и копейки вводятся в разные переменные). Сумма может быть введена как правильно (например 19 руб. 90 коп), так и неправильно (например 22 руб. 978 коп). Написать программу, которая, используя только линейный алгоритм, осуществит корректировку введенной денежной суммы в правильную форму.
Например, если пользователь ввел 11 руб 150 коп, программа должна вывести на экран сумму 12 руб. 50 коп.
Решение
#include
#include
using namespace std;
void main()
{
setlocale (LC_CTYPE,"rus");
int rub, cent, rcent, rrub;
cout<<"Введите рубли = ";
cin>>rub;
cout<<"Введите копейки = ";
cin>>cent;
rcent=cent%100;


rrub=(cent-rcent)/100+rub;

cout<<"Сумма = "<
}
Компилируем нашу программу нажатием ctrl+F5 или (Dedug -> Start without debugging). И видим результат.
Результат
Введите рубли = 12
Введите копейки = 343
Сумма = 15 руб. 43 коп.
Для продолжения нажмите любую клавишу . . .
Задача2: 
Написать программу, вычисляющую, с какой скоростью бегун пробежал дистанцию. Рекомендуемый вид экрана во время выполнения программы приведен ниже:
Вычисление скорости бега
Введите длину дистанции (метров) = 1000
Введите время (мин.сек) = 3.25
Дистанция: 1000 м
Время: 3 мин 25 сек = 205 сек
Вы бежали со скоростью 17.56 км/ч
Решение
#include
#include
using namespace std;
void main()
{
setlocale (LC_CTYPE,"rus");
int s,m;
double t,sec,sp;
cout<<"Вычисление скорости бега \nВведите длинну дистанции (метров) = ";
cin>>s;
cout<<"Введите время (мин.сек) = ";
cin>>t;
m=t;


sec=m*60+(t-m)*100;

cout<<"Дистанция = "<
sp=s/sec*3.6;

cout<<"\nВы бежали со скоростью = "<
}
Компилируем нашу программу нажатием ctrl+F5 или (Dedug -> Start without debugging). И видим результат.
Результат
Вычисление скорости бега
Введите длинну дистанции (метров) = 1000
Введите время (мин.сек) = 3.25
Дистанция = 1000
Время = 205 сек
Вы бежали со скоростью = 17.561км/ч
Для продолжения нажмите любую клавишу . . .
Задача3: 
Пользователь указывает цену одой минуты исходящего звонка с одного мобильного оператора другому, а также продолжительность разговора в минутах и секундах. Необходимо вычислить денежную сумму на которую был произведен звонок.
Решение
#include
#include
using namespace std;
void main()
{
setlocale (LC_CTYPE,"rus");
int s,m;
double price, time, cost, sec;
cout<<"Введите цену одной минуты разговора = ";
cin>>price;
cout<<"Введите время (мин.сек) = ";
cin>>time;
m=time;


sec=m*60+(time-m)*100;

cost=price/60*sec;


cout<<"Стоимость звонка = "<}
Компилируем нашу программу нажатием ctrl+F5 или (Dedug -> Start without debugging). И видим результат.
Результат
Введите цену одной минуты разговора = 1
Введите время (мин.сек) = 1.90
Стоимость звонка = 2.5

Для продолжения нажмите любую клавишу . . .





Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   12




©www.engime.org 2024
әкімшілігінің қараңыз

    Басты бет