Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Переменные перечисляемого типа




 

В программе можно ввести свой тип данных называемый перечисляемым, который объявляется следующим образом:

enum имя_типа {именная константа_1, …, именная константа_n};

например:

enum name{Anna, Vera, Masha, Nina, Ira};

Переменная типа name определяется следующим образом:

enum name girl; т.е. переменная girl может принимать значения из списка перечисленных в фигурных скобках. Каждому значению из списка соответствует порядковое число начиная с нуля, т.е. в фигурных скобках определены именные константы, т.е. константы целого типа: Anna=0, Vera=1 и т.д.

В программе можно определить переменные типа перечисление без задания типа (только одного). Определение имеет вид:

enum { Anna, Vera, Masha, Nina, Ira } girl_1,girl_2,girl_new=Nina; т.е. girl_1, girl_2, girl_new переменные данного типа.

Именные константы могут задаваться не по порядку, например:

enum name{ Anna=1, Vera, Masha=5, Nina, Ira=9 } girl_1,girl_2,girl_new=Nina

В этом случае значения именных констант будут следующие:

Anna=1, Vera=2, Masha=5, Nina=6, Ira=9

Значения констант могут повторяться, например:

enum name{ Anna, Vera=1, Masha=5, Nina=Vera-1, Ira=9 };

В этом случае значения именных констант будут следующие:

Anna=0, Vera=1, Masha=5, Nina=0, Ira=9

Именные константы списка имеют тип int. Переменные типа enum могут использоваться в индексах выражения, как операнды в арифметических выражениях и в операции отношения.Именные константы из списка перечисление эквивалентно ее численному значению. Именные константы можно устанавливать как положительные, так и отрицательные значения.

При объявления типа перечисление необходимо соблюдать следующие правила:

- Идентификаторы в списке перечисление не должны совпадать с другими идентификаторами той же области видимости;

- Объявляемый тип перечисление (имя) должно быть отлично от других имен типов вводимых пользователем в той же области видимости;

- Именные константы можно устанавливать одинаковые (повторяющиеся) значения, однако имена в списке должны быть разными.

2.Игрок бросает кости. Каждая кость имеет 6 граней, т.е. 1, 2, 3, 4, 5, 6. После броска вычисляется сумма цифр. Если сумма первого броска сумма = 7 или 11, то игрок выиграл. Если сумма первого броска сумма = 2, 3 или 12, то игрок проиграл. (т.е. выиграл “банк”). Если сумма после первого броска сумма = 4, 5, 6, 8, 9 или 10, то эта сумма становится “очком” игрока. Чтобы выиграть, игрок бросает кости до тех пор, пока не выпадет сумма равная его очкам. Игрок проигрывает если в течении бросков выпадет сумма =7.

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

Int rollDice();

Void main()

{

enum Status {CONTINUE, WON, LOST};

Int sum,myPoint;

Status gameStatus;

Srand(time(NULL));

sum=rollDice();

Switch(sum)

{

case 7: case 11:

gameStatus = WON;

Break;

case 2: case 3: case 12:

gameStatus= LOST;

Break;

default:

gameStatus= CONTINUE;

myPoint=sum;

printf(“Ochki: %d\n”,myPoint);

Break;

}

while(gameStatus== CONTINUE)

{

sum=rollDice();

if(sum==myPoint)

gameStatus=WON;

Else

if(sum==7)

gameStatus=LOST;

}

if(gameStatus==WON)

printf(“You are WON!!!!\n”);

Else

printf(“You are LOST!!!!\n”);

}

int rollDice(){






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных