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

Бесконечный цикл - C++

Восстановить пароль Регистрация
 
vortexx1
 Аватар для vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
05.06.2011, 14:23     Бесконечный цикл #1
Здравствуйте. Программа должна принимать некоторые значения, обрабатывать их и выдавать в виде статистики (нарисовать звездочками).

Вот как раз во время печати звездочек и получается бесконечный цикл.
Как его побороть?

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include <iostream>  //
                     //
#include <iomanip>   //
using namespace std; //
                     //
#include <conio.h>   //
///////////////////////
 
 
int main()
{
    int sellers;        // кол-во продавцов
    const int array = 9;       // кол-во столбцов
    const float constant = 0.09;   // процентная ставка
    
    cout << "Enter the number of sellers: ";
    cin >> sellers;
    
    double salary [sellers];    // зарплата продавцов
    int result [array] = {0};   // массив счётчика
    
    cout << endl;
    
    // просим ввести кол-во проданного
    for (int i = 1; i <= sellers; i++)
    {
        cout << "Enter gross sales for " << i << " seller: ";
        cin >> salary [i];
    }
    
    cout << endl;
    
    // высчитываем получившуюся зарплату
    for (int o = 1; o <= sellers; o++)
    {
        salary [o] = salary [o] * constant + 200;
    }
    
    // счётчик 
    for (int s = 0; s <= sellers; s++)
    {
        if (salary [s] >= 200 && salary [s] <= 299)
           result [0]++;
        else if (salary [s] >= 300 && salary [s] <= 399)
           result [1]++;
        else if (salary [s] >= 400 && salary [s] <= 499)
           result [2]++;
        else if (salary [s] >= 500 && salary [s] <= 599)
           result [3]++;
        else if (salary [s] >= 600 && salary [s] <= 699)
           result [4]++;
        else if (salary [s] >= 700 && salary [s] <= 799)
           result [5]++;
        else if (salary [s] >= 800 && salary [s] <= 899)
           result [6]++;
        else if (salary [s] >= 900 && salary [s] <= 999)
           result [7]++;
        else if (salary [s] >= 1000)
           result [8]++;
    }
    
/*    for (int q = 0; q < array; q++)
       cout << result [q] << endl;
       
       cout << endl;
*/
 
     // выводим результаты
     for (int d = 1; d <= array ; d++)
     {
         if (d == 1)
            cout << "200 - 399: ";
         else if (d == 9)
            cout << "    1000+: ";
         else 
            cout << d * 100 + 100 << " - " << d * 100 + 199 << ": ";
            
                     // печатает звездочки. ОТКУДА БЕСКОНЕЧНЫЙ ЦИКЛ?
                    for (int h = 0; h < result [d]; h++)
                     cout << "*";
            
 
                  
            cout << endl;
                 
     }
    
       
    getch ();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2011, 14:23     Бесконечный цикл
Посмотрите здесь:

бесконечный цикл C++
C++ Бесконечный цикл
Бесконечный цикл C++
Бесконечный цикл while C++
C++ Бесконечный цикл
C++ Бесконечный цикл for
C++ Бесконечный цикл
Бесконечный цикл C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
05.06.2011, 14:31     Бесконечный цикл #2
Индексы у массива от 0 до 8
C++
1
2
    const int array = 9;       // кол-во столбцов
    int result [array] = {0};   // массив счётчика
А цикл от 1 до 9
C++
1
for (int d = 1; d <= array ; d++)
Ну и на последней итерации result [d] равен чему угодно.
Там, кстати, и раньше подобные ошибки с массивом salary
vortexx1
 Аватар для vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
05.06.2011, 14:36  [ТС]     Бесконечный цикл #3
Победа.
Спасибо.
Yandex
Объявления
05.06.2011, 14:36     Бесконечный цикл
Ответ Создать тему
Опции темы

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