return 0;
}
; Результат
Adding each int in Mylntsl by each in Mylnts2:
-3+-1=-4
-3+20=17
35+-1=34
35+20=55
Необходимо заменить фиксированное число 5 кодом, который спрашивает у поль зователя следующее:
cout « "How many Fibonacci numbers you wish to calculate: "; int NumsToCal = 0;
cin » NumsToCal;
Конструкция s w itc h - c a s e с использованием перечисляемой константы, указываю щая, принадлежит ли цвет радуге, выглядит так:
#include using namespace std; int main()
{
enum COLORS
{
VIOLET = 0,
INDIGO,
BLUE,
GREEN,
YELLOW,
|
|
|
|
|
|
|
Ответы к занятию 6
|
651
|
ORANGE,
|
|
|
|
|
|
|
|
RED,
|
|
|
|
|
|
|
|
CRIMSON,
|
|
|
|
|
|
|
|
BEIGE,
|
|
|
|
|
|
|
|
BROWN,
|
|
|
|
|
|
|
|
PEACH,
|
|
|
|
|
|
|
|
PINK,
|
|
|
|
|
|
|
|
WHITE,
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
cout «
|
"Here are
|
the available
|
colors: " « endl;
|
|
cout «
|
"Violet: " «
|
VIOLET
|
«
|
endl;
|
|
cout «
|
"Indigo: " «
|
INDIGO
|
«
|
endl;
|
|
cout «
|
"Blue: " «
|
|
BLUE «
|
endl;
|
|
cout «
|
"Green: " «
|
GREEN «
|
endl;
|
|
cout «
|
"Yellow: " «
|
YELLOW
|
«
|
endl;
|
|
cout «
|
"Orange: " «
|
ORANGE
|
«
|
endl;
|
|
cout «
|
"Red: " «
|
RED «
|
endl;
|
endl;
|
|
cout «
|
"Crimson: " «
|
CRIMSON «
|
|
cout «
|
"Beige: " «
|
BEIGE «
|
endl;
|
|
cout «
|
"Brown: " «
|
BROWN «
|
endl;
|
|
cout «
|
"Peach: " «
|
PEACH
|
«
|
endl;
|
|
cout «
|
"Pink: " «
|
PINK «
|
endl;
|
|
cout «
|
"White: " «
|
WHITE
|
«
|
endl;
|
|
cout « "Choose one by entering code: ";
|
|
int YourChoice = BLUE;
|
// исходное
|
|
cin »
|
YourChoice;
|
|
|
|
|
|
|
|
switch
|
(YourChoice)
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
case VIOLET:
|
|
|
|
|
|
|
|
case INDIGO:
|
|
|
|
|
|
|
|
case BLUE:
|
|
|
|
|
|
|
|
case GREEN:
|
|
|
|
|
|
|
|
case YELLOW:
|
|
|
|
|
|
|
|
case ORANGE:
|
|
|
|
|
|
|
|
case RED:
|
|
your choice
|
is a Rainbow color!" « endl;
|
|
cout « "Bingo,
|
|
break;
|
|
|
|
|
|
|
|
default:
cout « "The color you chose is not in the rainbow" « endl; break;
}
return 0;
}
Результат
Here are the available colors:
Violet: 0
Indigo: 1
Blue: 2
Green: 3
652 ПРИЛОЖЕНИЕ Г. Ответы
Yellow: 4
Orange: 5
RED: 6
Crimson: 7
Beige: 8
Brown: 9
Peach: 10
Pink: 11
White: 12
Choose one by entering code: 4
Bingo, your choice is a Rainbow color!
В выражении условия выхода из цикла f o r программист по невнимательности осу ществил присвоение значения 10 счетчику, а не сравнение.
6. Оператор w h i l e сопровождается пустым оператором ' ; ' в той же строке. Поэто му следующий за ним код увеличения значения переменной L o o p C o u n te r никогда не будет достигнут, а следовательно, условие выхода никогда не будет выполнено, цикл никогда не закончится и операторы после него никогда не выполнятся.
Отсутствует оператор b r e a k (т.е. часть d e f a u l t будет выполняться всегда, вне за висимости от сработавшей ранее части c a s e , что явно неправильно).
Ответы к занятию 7
Контрольные вопросы
Область видимости этих переменных — реализация функции.
SomeNumber — это ссылка на переменную в вызывающей функции. Она содержит не копию значения.
Рекурсивная функция.
Перегруженные функции.
На вершину! Стек похож на стопку тарелок; ту, что находится сверху, можно взять, и именно на нее указывает указатель вершины стека.
Упражнения
1.
|
Прототипы функций выглядели бы следующим образом:
|
|
double Area
|
(double Radius);
|
// сфера
|
|
double Area
|
(double Radius,
|
double Height); // цилиндр
|
|
Реализации (определения) функций используют соответствующие формулы, предо
|
|
ставленные в вопросе, и возвращают вызывающей стороне объем как значение.
|
2.
|
Аналог —
|
в листинге
|
7.8. П рототип
|
функции был бы следующ им:
|
|
void ProcessArray(double Numbers[],
|
in t Length);
|
Чтобы это сработало, параметр R e s u lt функции Area должен быть ссылкой: void Area(double Radius, double &Result)
Параметр со значением по умолчанию должен либо располагаться в конце, либо значения по умолчанию нужно определить для всех параметров.
5. Функция
должна
возвратить
данные
вы зы ваю щ ей
стороне
по
ссылке:
v o id A r e a ( d o u b le R a d iu s , d o u b le & A re a , d o u b le { .C ir c u m fe r e n c e )
Do'stlaringiz bilan baham: |