Программирование >>  Элементы языков с и с++ 

1 ... 32 33 34 [ 35 ] 36 37 38 ... 200


1ИСТИНГ 6.5

21.СРР : Defines the entry point for the console application.

♦include stdafx.h tinclude <stdio.h> #include <conio.h> tdefine eof -1 tdefine m 5

for getchar0 ----

Ctrl+z

количество счетчиков в операторе switch

----Функция подсчета символов ----------------------------

/* char с - входной символ, подсчет которого ведется (сколько раз встретится)

int v[] - с помощью элементов этого массива организованы счетчики char S[]- сюда помещаются символы, которые подсчитываются (для их последующей распечатки) */ int CountSimb(char с,int v[],char s[]) {

int i ; switch(c) {

case a:

v[0]++;

s[0]=c;

break; case b:

s[l]=c;

v[l]++;

break; case с:

v[2]++;

s[2]=c;

break; case d :

v[3]++;

s[3]=c;

break;

default: все прочие введенные символы попадают в этот блок



v[4]++;

s[4]=!; /* признак прочие символы (введен для печати: чтобы было понятно, что счетчик относится к прочим ) */

break;

return(0);

-----------

int tmain ()

int с, i,a[m]; char s [m];

for(i=0; i < m; i++) a[i]=0;

printf ( enter your characters; the Ctrl+z is the last to be entered > ) ;

i=0;

while((c=getchar{)) != eof) {

CountSimb(c,a,s); i++;

for(i=0; i < m; i++)

printf( Key=%c count =%d\n ,s[i],a[i]);

getch () ; I tmainO

C:\WINDOWS\$ystem32\cmd.e)(e

inter your characters; the Ctrl+z is the last to be entered >asxcbder

c;ey=a count =1 Kev=b count =1 i(iy=c count =1 ЛеуЛ count =1 Kev=T count =5

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



Использование оператора switch демонстрируется с помощью его включения в функцию CountSimb (char с,int v[],char s []), параметры которой опи-саны перед ее определением.

У самого оператора switch есть заголовочная часть, заключенная в круглые скобки, и тело - блок операторов. В заголовочной части указано имя переменной, значение которой будет анализироваться оператором, и в зависимости от значения этой переменной, произойдет передача управления в тот или иной участок блока.

( Примечание

В заголовочной части оператора может быть расположено не только имя переменной, но и выражение целого типа, но никак не типа float или типа строки символов.

Участки блока определяются ключевым словом case (случай), после которого через пробел стоит конкретное значение анализируемой переменной. В нашем случае переменная описана как символ, поэтому конкретное ее значение, определяющее начало участка блока, написано в соответствии с правилами записи символьных констант: например, d. Если бы переменная была типа int, то надо было бы писать, например, 5.

После конкретного значения выражения в заголовочной части обязательно стоит символ двоеточия, обозначающий начало участка обработки данного случая - это как бы метка начала участка обработки, относящегося к данному случаю.

Работа внутри тела оператора switch организована так:

1. Анализируется выражение заголовочной части.

2. Управление передается на выполнение того участка тела, значение которого в метке совпадает со значением выражения в заголовочной части.

На участке могут находиться обычные операторы. Они должны быть завершены оператором break (прервать), который прервет выполнение switch и передаст управление следующему за телом switch оператору.

Оператор break прерывает не только выполнение оператора switch, но и while, и for. Если в конце участка не поставить break, то программа перейдет к следующему участку, потом к следующему и т. д. В конце концов, она дойдет до конца тела оператора switch и выйдет из него.



1 ... 32 33 34 [ 35 ] 36 37 38 ... 200

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика