Программирование на C++

Практическая работа №2. Демонстрация работы операторов switch(), while(), if else в языке программирования С++

В данной практической работе представлены примеры реализующие работу оператора switch(), while(), if else на языке программирования С++. И функций islower(), toupper(), tolower().

Пример №1. Работа оператора switch()

# include <iostream>
#include <stdio.h>
 
using namespace std;
 
int main()
{
	int k = 2;
	switch(k)
	{
		case 0: printf("Vubrano 0\n"); break;
		case 1: printf("Vubrano 1\n"); break;
		case 2: printf("Vubrano 2\n"); break;
		case 3: printf("Vubrano 3\n"); break;
		default: printf("Isklu4enie\n");
	}
return 0; 
}

Пример №2. Работа оператора while()

/* Программа извлекает символ , присваивает его переменной 'C' и затем проверяет, не является ли этот символ признаком конца файла. Если нет - выполняется тело оператора WHILE, выводящее этот символ. Затем цикл WHILE повторяется. когда, наконец, будет достигнут конец файла ввода, оператор WHILE завершается, а вместе с ним заканчивается выполнение и функции MAIN. */
 
#include <iostream>
#include <stdio.h>
 
using namespace std;
 
int main()
{
	int C;
	while ((C = getchar()) != EOF)
	putchar(C);
 
return 0; 
}

Пример №3. Работа составного оператора if else

#include <iostream>
 
using namespace std;
 
int main()
{
    int mark;
    mark = getchar( );
    if(mark == 4)
       printf("Оценка 4.\n");
    else if (mark > 4)
       printf("Оценка больше 4!\n");
    else /* случай, когда оценка меньше 4 */
    {
       mark++;
       printf("Теперь оценка на 1 больше.\n");
    }
 
return 0; 
}

Пример №4. Демонстрация работы оператора while()

#include <iostream>
 
using namespace std;
 
int main()
{
    char ch; int aCnt=0, eCnt=0, iCnt=0, oCnt=0, uCnt=0;
 
    while ( cin >> ch )
    switch ( ch ) {
    case 'a': ++aCnt; break;
    case 'e': ++eCnt; break;
    case 'i': ++iCnt; break;
    case 'o': ++oCnt; break;
    case 'u': ++uCnt; break;
    default: printf("Isklu4enie\n");
 
    cout << "Встретилась a: \t" << aCnt << '\n'
         << "Встретилась e: \t" << eCnt << '\n'
         << "Встретилась i: \t" << iCnt << '\n'
         << "Встретилась o: \t" << oCnt << '\n'
         << "Встретилась u: \t" << uCnt << '\n';
}
return 0; 
}

Пример №5. Работа функций islower(), toupper(), tolower()

/*	islower - определяет, является ли ее аргумент строчной буквой (a - z) ;
isupper - определяет, является ли ее аргумент прописной буквой (A - Z) ;
tolower - преобразует прописную букву в строчную и возвращает прописную букву ; 
toupper - преобразует прописную в строчную и обратно ;
Все эти функции работают только для латинских букв . 					          */
 
/* 	Используйте функции isspace, iscntrl, ispunct, isprint, isgraph ;
isspace - определяет, является ли аргумент символом-разделителем, таким как пробел (' '), 
символ перевода строки ('\f'), символ перехода на новую строку ('\n'), символом возврата каретки ('\r'), символ горизонтальной табуляции ('\t'), символ вертикальной табуляции ('\v'). 	          */
#include <iostream>
#include "cctype"
 
using namespace std;
 
int main()
{
 cout << "Согласно islower: \n"
	 << ( islower( 'p' ) ? "p является" : "р не является")
	 << " буквой нижнего регистра \n"
	 << ( islower( 'P' ) ? "P является" : "P не является")
	 << " буквой нижнего регистра \n"
	 << ( islower( '5' ) ? "5 является" : "5 не является")
	 << " буквой нижнего регистра \n"
	 << ( islower( '!' ) ? "! является" : "! не является")
	 << " буквой нижнего регистра \n";
 cout << "Согласно isuper: \n"
	 << ( islower( 'D' ) ? "D является" : "D не является")
	 << " буквой нижнего регистра \n"
	 << ( islower( 'd' ) ? "d является" : "d не является")
	 << " буквой нижнего регистра \n"
	 << ( islower( '8' ) ? "8 является" : "8 не является")
	 << " буквой нижнего регистра \n";
 cout << "\nи после перевода в верхний регистр равно "
	 << static_cast < char > ( toupper ( 'u' ) )
	 << "\n7 после перевода в верхний регистр равно "
	 << static_cast  < char > ( toupper ( '7' ) )
	 << "\n7 после перевода в верхний регистр равно "
	 << static_cast < char > ( tolower ( 'L' ) ) << endl;
return 0; 
}