Цикл do-while отличается от циклов for и while тем, что использует
do {
операция_1;
операция_2;
операция_3;
операция_4;
} while(тестовое_условие);
В приведенной ниже программе используется цикл do-while для расчета количества букв и слов во вводимой пользователем фразе:
//==========================================================
// Name : dow_while.cpp
// Author : Marat
// Version :
// Copyright : Your copyright notice
// Description : Hello World in C++, Ansi-style
//==========================================================
#include <iostream>
using namespace std;
#define LENGTH 80
#define NULL_TERM 1
int main() {
char cSentence [LENGTH + NULL_TERM] ;
int iNumChars = 0, iNumWords = 1;
do {
cout << "Please enter your sentence: ";
cin.getline(cSentence,LENGTH) ;
} while(cSentence [0] == '\0');
while(cSentence [iNumChars] != '\0')
{
if (cSentence [iNumChars] == ' ')
iNumWords++;
iNumChars++;
}
cout << "You entered " << iNumChars << " characters"<<" in "<<iNumWords << " words"<<endl;
return 0;
}
Результат:
Please enter your sentence: omni animal ex ovo You entered 18 characters in 4 words
В цикле do-while повторяется запрос на ввод предложения, и пользователь должен ввести хотя бы один символ. Если просто нажать клавишу ENTER, будет вызвана функция getline(), записывающая нулевой символ в позицию первого элемента массива. Как только предложение будет введено, программа перейдет к выводу рассчитанной статистики.
В приведенной выше программе мы впервые столкнулись с использованием директивы препроцессора #define:
#define LENGTH 80 #define NULL_TERM 1
Директива #define работает следующим образом. Всякий раз, когда программа встечает лексему LENGTH, последняя заменяется на 80, а NULL_TERM, соответственно, на 1. Директива #define очень удобна при задании размера массивов (см. ниже):
#define array_size 10 double a[array_size]; int b[array_size];
Достаточно изменить размер массивов (10) в директиве #define, как автоматически изменятся размеры массивов a и b.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.