Форум программистов, компьютерный форум CyberForum.ru

Цикл do.while и break - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ friend функции не имеют доступа к private элементам класса, почему? http://www.cyberforum.ru/cpp-beginners/thread947258.html
Учусь по Лафоре Р. - Объектно-ориентированное программирование в С++ (Классика Computer Science) - 2004. Выполняю задания на Microsoft Visual C++ 6.0. И уже встречаю 2ой раз такую проблему. Если функция - это перегруженный оператор, то дружелюбность не работает, а если простая функция типа show(), дружелюбность работает. В чем проблема? Вот например проблемный класс: class person {...
C++ Поменять местами строки В данной вещественной матрице порядка 6х9 поменять местами строку, содержащую элемент с наибольшем значением, со строкой, содержащий элемент с наименьшим значением. Предполагается что эти элементы единственные. Затрудняюсь как строки поменять,помогите пожалуйста. http://www.cyberforum.ru/cpp-beginners/thread947257.html
C++ c++ for_each и вызов функции
for(microbe &i : microbes) { i.set_speed(diapozon_speed * rand() /RAND_MAX + min_speed ); // установка скорости int nr = rand() % rings.size(); i.set_ring(rings); i.set_XY(create_point(nr)); i.set_target(create_point(nr)); }
Крестики нолики C++
Доброго времени суток, недавно я решил написать игру крестики нолики, написал, но код в ~1300 строк, что очень много, в коде много похожих операций, но они только похожи, на самом деле они все разные, поэтому я не могу придумать функцию. вот примеры case 1:{ Movies = 'O'; switch(FourthMove){ ...
C++ Читать слова по одному за раз, пока не будет введена буква q http://www.cyberforum.ru/cpp-beginners/thread947225.html
Необходимо написать программу, которая читает слова по одному за раз, пока не будет введена буква q. После этого программа должна сообщить, количество слов, начинающихся с гласных, количество слов, начинающихся с согласных и количество слов, которые начинаются с других символов (например с цифр). Программа упрямо не хочет считать буквы в верхнем регистре, в нижнем иногда выдает правильно,...
C++ Подскажите литературу Подскажите пожалуйста книгу по математической логике, только что нибудь полегче Кнута "искуство программирования", потому что Кнут очень тяжко идет). И вообще литературу по обработке массивов. подробнее

Показать сообщение отдельно
h_wolf
 Аватар для h_wolf
9 / 9 / 1
Регистрация: 24.01.2013
Сообщений: 211
02.09.2013, 16:19     Цикл do.while и break
Задача:
написать программу, которая принимает от пользователя 10 int чисел, затем выводит их в строку, находит среднее значение. Так же необходимо предусмотреть возможность прерывания ввода, если пользователь введет не числовую величину(букву? символ?).

Код:
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <cctype>
using namespace std;
 
int main()
{
    setlocale(LC_CTYPE, "");
 
    int Result[10]{};
    int i=0;
    int Sum=0;
    char b;
    do
    {
        cin>>Result[i];
        if(isalpha(Result[i]))
            break;
        Sum+=Result[i];
        i++;
 
    }while((i<10));
    //cout<<Sum<<"\t"<<i<<endl<<endl;
    cout<<"Введенные результаты: ";
 
    for(int I=0; I<=i; I++)
    {
        cout<<Result[I]<<"\t";
    }
    cout<<endl;
    cout<<"Среднее значение: "<<Sum/i<<endl;
 
 
    return 0;
}


Проблема:
Пакость не прерывает цикл while (в данный момент do..while. Была попытка реализовать через do...while(!(isalpha(Result[i]))); но при этом программа вообще сыпется при вводе символа) по break, то есть ввод как бы прекращается а цикл и i++ выполняются все 10 раз, что меня не устраивает тк как необходимо считать среднее.
Помогите разобраться.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru