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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
#1

Среднее арифметическое - C++

18.07.2009, 16:23. Просмотров 494. Ответов 5
Метки нет (Все метки)

Ситуация такая. В данной программе я нахожу среднее арифметическое стольки чисел, скольких введу. Проблемма в том, что при вводе одного числа, чтоб ввести другое, мне нужно, ввести "yes",если я введу один символ, программа продолжит работу далее, но если ввести одновременно несколько, произойдёт зацикливание, не подскажите как убраться из этого зацикливания. Как сделать так,чтоб была возможность ввести одновременно несколько символов?

Вот исходник:

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
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(0,"");
    int k = 0; double vvod = 0, s = 0;
    char da ; da = _getch()
    
    for(;;)
    {
        cout<<"Введите пожалуйста значение \n\n\t-> ";
        cin>>vvod;
        cout<<endl;
        ++k;
        s+=vvod;
        cout<<"Ещё раз не хотите ввести? \n "<<
            "Если нет, введите 'n' или 'N'\n\n\t ";
        cin>>da;
        if((da == 'n') || (da =='N'))
            break;
    }
    cout<<endl
        <<"Из "<<k<<" чисел "<<"получим среднее число = "<<s/k<<"."
        <<endl;
cin.ignore();
cin.get();
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.07.2009, 16:23     Среднее арифметическое
Посмотрите здесь:

Получить среднее арифметическое и среднее геомерическое элементов последовательности C++
среднее арифметическое C++
C++ Среднее арифметическое
Среднее арифметическое и среднее геометрическое C++
C++ среднее арифметическое
среднее арифметическое! C++
C++ задача на среднее арифметическое
C++ среднее арифметическое
Массив. Среднее арифметическое C++
Функция вычисляющая среднее арифметическое и среднее геометрическое C++
Среднее арифметическое и среднее геометрическое C++
Среднее арифметическое массива C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ultrator
11 / 7 / 1
Регистрация: 28.04.2009
Сообщений: 219
18.07.2009, 16:44     Среднее арифметическое #2
Не понял, а что, сейчас из цикла нельзя выйти (разве 21-22 не работает) ?

И ещё, где точказапятая в 9-й ?
Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
18.07.2009, 16:49  [ТС]     Среднее арифметическое #3
Точку запятую по ошибке,там она должна стоять, просто не скопировал. Я имею ввиду,когда символы ввести происходит зацикливание,тоетсь не один символ, а набор(не чисел).
insolent
826 / 347 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
18.07.2009, 16:57     Среднее арифметическое #4
Golovastik, можешь просто сделать переменную da не символом, а строкой(массивом):
C++
1
2
3
4
5
6
7
...
char da[64] = {'\0'};
...
cout << "Ещё раз не хотите ввести? \n " <<
          "Если нет, введите 'n' или 'N'\n\n\t ";
cin.getline(da,64);
...
Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
18.07.2009, 16:59  [ТС]     Среднее арифметическое #5
Мне нужно так, чтоб можно было продолжать вводить сколько душа пожелает чисел, до нажатия 'n' или 'N', не ограниченно, понимаете?
<Norton>
Отдыхающий:)
94 / 91 / 10
Регистрация: 05.04.2009
Сообщений: 188
18.07.2009, 17:18     Среднее арифметическое #6
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
#include <iostream>
#include <conio>
using namespace std;
int main()
{
    int k=0,sum=0;
    char s[64];
        cout<<"To Exit Press '!'\n";
    do
    {
        cout<<"Number = ";
        cin>>s;
                if(atoi(s)!=0||s[0]=='0')
                {
                sum+=atoi(s);
        k++;
                }
        
    }
    while(s[0]!='!');
        if(k!=0)
    cout<<"Kol = "<<k<<" Sr = "<<sum/k;
        else
        cout<<"Division By zero!";
    getch();
    return 0;
}
Yandex
Объявления
18.07.2009, 17:18     Среднее арифметическое
Ответ Создать тему
Опции темы

Текущее время: 00:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru