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

зацыклевается - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не Понимаю С++ http://www.cyberforum.ru/cpp-beginners/thread173314.html
есть какие нибудь проги которые обясняют как раскладывать задачку(пример) написания в С++
C++ Программа должна считывать английский текст и выводить на экран слова, которые начинаются на гласные буквы Привет всем)) Вот такая проблема, прога должна считывать английский текст и выводить на экран слова, которые начинаются на гласные буквы. С одной строкой всё работает. А если в файле несколько строк прога считает тока первую строчку. Как я понимаю мне надо перейти на другую строчку а как ето сделать я не знаю Вот само творенье #include <iostream.h> #include <fstream.h> #include... http://www.cyberforum.ru/cpp-beginners/thread173313.html
C++ Послав команду функцией system() программа ждет дополнительных данных
Когда посылаю команду например rmdir/S папка удалить папку то программа спрашивает, действительно ли я хочу удалить папку. Y(да) N (нет) Как можно послать автоматичекий ответ?
Программа, вычисляющая сумму элементов массива, расположенных после первого элемента. C++
Добрый день! Помогите пожалуйста написать программу, которая вычисляет сумму элементов массива(состоящего из n целых элементов), расположенных после первого элемента, равного нулю. Массив должен быть преобразован таким образом, чтобы в первой его половине располагались элементы, стоящие в чётных позициях, а во второй половине - элементы, стоящие в нечётных позициях.
C++ Найти пять наибольших элементов одномерного массива целых чисел http://www.cyberforum.ru/cpp-beginners/thread173285.html
Найти пять наибольших элементов одномерного массива целых чисел
C++ Работа с клавиатурой. Графический режим. Построить прямоугольник фиксированных размеров. Нажатие на клавишу Enter циклически изменяет цвет прямоугольника, F10 — завершает работу программы. Если кто-нибудь поможет буду очень благодарна!!! подробнее

Показать сообщение отдельно
//Александр
 Аватар для //Александр
6 / 6 / 0
Регистрация: 15.04.2010
Сообщений: 151
06.10.2010, 20:55     зацыклевается
Добрый вечер!! нужна помощь, написал функцию поиска poisk, в main() сделал цыкл while он и зацыклевается. poisk работает правильно и в цыкле выводятся значения но почему зацыклевается не пойму....
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#include <iostream>
#include <clocale>
#include <conio.h>
#include <string.h>
using namespace std;
struct AEROFLOT
{
    char name[10];
    int number;
    char type[10];
};
 
AEROFLOT sort_name ( AEROFLOT *aeroflot)
{   char temp_type[10];
    char temp_name[10];
    int temp_number;
    int j,i,g;
     
 
    j=7;
 
    for( g=0;g<j;g++)
    {
        for(i=j-1;i>g;i--)
        {
          if(aeroflot[i-1].name[0]>aeroflot[i].name[0])
          
        
               {                
       strcpy(temp_name,aeroflot[i-1].name);    
        strcpy(temp_type,aeroflot[i-1].type);
         temp_number=aeroflot[i-1].number;
 
       strcpy(aeroflot[i-1].name,aeroflot[i].name);
        strcpy(aeroflot[i-1].type,aeroflot[i].type);
         aeroflot[i-1].number=aeroflot[i].number;
 
       strcpy(aeroflot[i].name,temp_name);
        strcpy(aeroflot[i].type,temp_type);
         aeroflot[i].number=temp_number;
 
                  }
    
          }
    }
    return *aeroflot;   
}
 
int poisk(AEROFLOT *aeroflot,char* n,int i)
{ int k; k=0;
        for (i = i; i < 7; i++)
            if(!strcmp(aeroflot[i].type, n))
        {
            k++;
   return i;
        }
    if (k==0)  return -1;
}
 
 
AEROFLOT aeroflot[7];
int count = 0;
AEROFLOT add(AEROFLOT f)
{
 
        if (aeroflot[count].name[0]=='\0')
 
{ strcpy(aeroflot[count].name,f.name);
aeroflot[count].number=f.number;
strcpy(aeroflot[count].type,f.type);
}
return aeroflot[count];
}
 
int main()    
    
{ 
    setlocale(LC_ALL, "rus");
    AEROFLOT  f;
    int i,j;
    char n[10];
    
    //-----------------ввод-------------------------
        for (i=0;i<7;i++)
        {
        cout << "введите название пункта назначения \n";
        cin  >> f.name;
        cout << "введите номер рейса \n";
        cin  >> f.number;                                                
        cout << "введите тип самолета \n";
        cin  >> f.type;
            add(f);
            count++;
         }
    //----------------------------------------------
  cout << "введите тип нужного Вам самолета\n";
  cin  >> n;
    //---------------------------------------------
sort_name (aeroflot);//сортируем
    //---------------------------------------------
    int m=0;
    i=0;j=0;
    while ((j!=6)||(j!=-1))
    {
        j=poisk(aeroflot,n,i);
     
        cout << "название пункта назначения - " << aeroflot[j].name << endl;
        cout << "номер рейса - " << aeroflot[j].number << endl;
        i=j+1;
    
        m++;
    }
    if (m==0)
        cout << "самолетов такого типа нет(";
    
    getch();
    }
Миниатюры
зацыклевается  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru