Чтение онлайн

на главную - закладки

Жанры

Программирование на С, С++
Шрифт:

В default мы указали случай, в котором пользователь вводит цифру, не являющуюся номером пункта меню. А что будет если пользователь введет букву. Возможно зацикливание и т.п. Чтобы этого не было. Нам необходимо предусмотреть ввод не цифр, а букв.

Листинг 6

Программа с меню

1 #include<stdio.h>

2 main

3 {

4 int a;

5 char d;

6 do

7 {

8 printf(" MENU \n1. Kvadrat chisla\n2. Kub chisla\n3. Vuhod\nVuberite punkt menu\n");

9 scanf("%s",&d);

10 switch(d)

11 {

12 case ‘1’:

13 printf("Vvedite chislo\n");

14 scanf("%d",&a);

15 printf("Kvadrat chisla raven %d\n",a*a);

16 break;

17 case ‘2’:

18 printf("Vvedite chislo\n");

19 scanf("%d",&a);

20 printf("Kub chisla raven %d\n",a*a*a);

21 break;

22 case ‘3’:

23 break;

24 default:

25 printf("Nevernui vvod!\n\n");

26 }

27 }

28 while(d!=3);

Задания:

Спроектировать меню. Написать программу.

Оператор for

Оператор for – это оператор цикла, обобщение оператора while [4]. Оператор for:

for (int i=0; i<n; i++)

{

….

}

int i=0 – инициализация,

i<n – проверка условия,

i++ – модификация.

Каждый раз выполняется тело цикла, в конце идет модификация (в данном случае i++), поэтому цикл будет выполняться столько раз, сколько указано в условиях, если условие верно, то выполняется тело еще раз.

Задание: вычислить значение функции y=x*x-4*x при х от 100 до 200 включительно, начиная от 100 с шагом 20. Решение задачи в Листинге 7, результат решения Листинга 7 на Рисунке 1.

Листинг 7

#include<iostream>

using namespace std;

int main

{

int y;

for(int x=100;x<=200;x=x+20)

{

y=x*x-4*x;

cout<<"y("<<x<<")="<<y<<endl;

}

}

Рисунок 1

Типы данных

Типы данных:

char хранит символ (один байт),

int – целочисленные значения,

float – вещественные значения с одинарной точностью,

double – вещественное значения с двойной точностью и т.д.

Модификаторы:

short – короткое целое,

long – длинное целое.

Диапазон значений зависит от аппаратной и системной платформы.

Например, int будет или 16, или 32. Узнать это возможно, используя операцию sizeof, она возвращает размер в байтах, смотри Листинг 8, Рисунок 2.

Листинг 8

#include<iostream>

using namespace std;

int main

{

cout<<sizeof(int);

}

Рисунок 2

Время жизни и область видимости переменной

Программный блок – это часть программы между фигурными скобками.

Локальные переменные живут только во время программного блока. Локальные переменные объявлены внутри блока.

Глобальная переменная живет на протяжении всей жизни программы. Глобальная переменная объявляется вне блоков программы.

Пример в Листинге 9. Если убрать скобки в строках 8 и 9, компилятор выдаст ошибку.

Листинг 9

1#include<iostream>

2using namespace std;

3

4 int main

5 {

6 int i=10;

7 cout<<i;

8 {

9 int i=11;

10 cout<<endl<<i;

11 }

12}

Преобразование типов

В зависимости от версии компилятора, округление будет либо в большую, либо в меньшую сторону. Смотри Листинг 10, Рисунок 3.

Листинг 10

#include<iostream>

using namespace std;

int main

{

int y;

y=(int)(3/10);

cout<<y<<endl;

y=(int)(10/3);

cout<<y;

}

Рисунок 3

Поразрядные операции

Напишите программу, которая переводит введенное положительное число в двоичное систему счисления и выводит на экран результат перевода.

Пример решения задания в Листинге 11.

Листинг 11

#include <iostream>

using namespace std;

void dv(int a)

{

int b[100];

int i=0;

while(a>1)

{

b[i]=a%2;

a=(a-a%2)/2;

i++;

}

b[i]=a;

for(int j=i;j>=0;j–)

cout<<b[j];

}

int main

{

int a;

cin>>a;

dv(a);

return 0;

}

Ниже даны тесты для проверки задач программы.

Тест 1

a=10

Результат

1010

Тест 2

a=2

Результат

10

Тест 3

a=8

Результат

1000

Поразрядные операции применимы только к целочисленным аргументам (char, short, int и long).

& – поразрядное И

| – поразрядное включающее ИЛИ

^ – поразрядное исключающее ИЛИ

<< – сдвиг влево

>> – сдвиг вправо

~ – одноместное поразрядное дополнение до единицы

В побитовых операциях работа идет над каждым битом.

Поделиться:
Популярные книги

Виконт. Книга 2. Обретение силы

Юллем Евгений
2. Псевдоним `Испанец`
Фантастика:
боевая фантастика
попаданцы
рпг
7.10
рейтинг книги
Виконт. Книга 2. Обретение силы

Древесный маг Орловского княжества 6

Павлов Игорь Васильевич
6. Орловское княжество
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Древесный маг Орловского княжества 6

Я уже царь. Книга XXIX

Дрейк Сириус
29. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я уже царь. Книга XXIX

Некромант

Щепетнов Евгений Владимирович
4. Петр Синельников
Фантастика:
боевая фантастика
6.20
рейтинг книги
Некромант

Мы друг друга не выбирали

Кистяева Марина
1. Мы выбираем...
Любовные романы:
остросюжетные любовные романы
прочие любовные романы
современные любовные романы
5.00
рейтинг книги
Мы друг друга не выбирали

Вагант

Листратов Валерий
6. Ушедший Род
Фантастика:
боевая фантастика
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Вагант

Запечатанный во тьме. Том 3

NikL
3. Хроники Арнея
Фантастика:
уся
эпическая фантастика
фэнтези
5.00
рейтинг книги
Запечатанный во тьме. Том 3

Везунчик. Проводник

Бубела Олег Николаевич
3. Везунчик
Фантастика:
фэнтези
6.62
рейтинг книги
Везунчик. Проводник

Изгой Проклятого Клана. Том 5

Пламенев Владимир
5. Изгой
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Изгой Проклятого Клана. Том 5

Личный аптекарь императора. Том 2

Карелин Сергей Витальевич
2. Личный аптекарь императора
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Личный аптекарь императора. Том 2

Имперец. Том 3

Романов Михаил Яковлевич
2. Имперец
Фантастика:
боевая фантастика
попаданцы
альтернативная история
7.50
рейтинг книги
Имперец. Том 3

Волчье солнышко (Сборник)

Бушков Александр Александрович
Фантастика:
научная фантастика
5.25
рейтинг книги
Волчье солнышко (Сборник)

Источник

Билик Дмитрий Александрович
11. Бедовый
Фантастика:
юмористическое фэнтези
городское фэнтези
мистика
7.00
рейтинг книги
Источник

Неудержимый. Книга XXII

Боярский Андрей
22. Неудержимый
Фантастика:
попаданцы
фэнтези
5.00
рейтинг книги
Неудержимый. Книга XXII