Форум программистов, компьютерный форум, киберфорум
Наши страницы

Ошибка в WHILE при обработке массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Задания на строки http://www.cyberforum.ru/cpp-beginners/thread314707.html
Помогите сделать 4 задачки на строки! Я в языке С по строкам вообще не понимаю(( Есть все коды на Паскале) 1. Дан непустой ряд. Вывести коды его символов через пробел. 2. Дан ряд символов,...
C++ Решение уравнения методом половинного деления Уравнение x^5-5=0 методом половинного деления нужно найти приблизительный корень #include <cstdlib> #include <iostream> #include <cmath> using namespace std; int main(int argc, char *argv) http://www.cyberforum.ru/cpp-beginners/thread314691.html
C++ перегрузка операций для однонаправленных списков
Задача вот в чём: АТД - однонаправленный список в элементами char. Дополнительно перегрузить следущие операции: + объединить списки; -- удалить элемент из начала; ==проверка на равенство. Проблема с...
C++ Работа с файлами. Обработка исключений
Будьте добры, помогите с решением задач. Заранее благодарю откликнувшихся! :) 1. Создать класс для работы с файлами. В классе реализовать функцию поиска в исходном текстовом файле слова max длины....
C++ Одномерные массивы. http://www.cyberforum.ru/cpp-beginners/thread314681.html
Объявить два динамических массива целых чисел.Написать функции для заполнения их случайными значениями и вывода результатов на экран.Первым на печать вывести массив, содержащий наибольшее значение(с...
C++ Вычислить с заданной точностью http://i22.***********/big/2011/0607/95/02db2277e85b5a1d8e82919de7293995.jpg подробнее

Показать сообщение отдельно
Nik.Shinkareff
2 / 2 / 0
Регистрация: 15.03.2011
Сообщений: 36

Ошибка в WHILE при обработке массива - C++

07.06.2011, 04:47. Просмотров 370. Ответов 4
Метки (Все метки)

Проблема в коде:
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
#include <fstream.h>
#include <iostream.h>
#include <conio.h>
#include <vcl.h>
#include <windows.h>
#include <locale.h>
 
void main ()
{
        SetConsoleCP(1251);
        SetConsoleOutputCP(1251);
        const N=3; int i, n=0; char inst[15];
        struct student { char familiy[15]; char ima[15]; char instrument[15];
                         char konkursi[20]; int god;
                             };
cout<<"БАЗА ДАННЫХ СТУДЕНТОВ\n";
student stud;
system ("cls");
ifstream fin("student.txt", ios::in);
if (!fin)
              { printf("База пуста!\n\n\Введите колличество студентов: ");
                scanf("%d",&N);
                student stud[N];
                for(i=0;i<N;i++)
                  { n=n+1;
                    printf("\n%d студент",n);
                    printf("\nФамилия:"); scanf("%s",&stud[i].familiy);
                    printf("Имя:"); scanf("%s", &stud[i].ima);
                    printf("Инструмент:") ; scanf("%s",&stud[i].instrument);
                    printf("Конкурсы:"); scanf("%s",&stud[i].konkursi);
                    printf("Год приема:"); scanf("%d",&stud[i].god);
              };
                int i=0;
                printf("\nУкажите инструмент:"); scanf("%s",&inst);
                while (i<N && stud.instrument==inst)
                    {
                            printf("\n%s",stud[i].familiy);
                        printf("\n%s",stud[i].ima);
                        printf("\n%s",stud[i].instrument);
                        printf("\n%s",stud[i].konkursi);
                        printf("\n%d",stud[i].god);
                                i=i+1;
                    }   }
else
                {
                int n=1;
                printf("\nУкажите инструмент:"); scanf("%s",&inst);
                while (!fin.eof() && stud.instrument==inst)
                {        fin>>stud.familiy>>stud.ima>>stud.instrument>>stud.konkursi>>stud.god;
                        cout<<stud.familiy;
                        cout<<'|'<<'\t'<<stud.ima;
                        cout<<'|'<<'\t'<<stud.instrument;
                        cout<<"| "<<stud.konkursi;
                        cout<<" | "<<stud.god;
                        n++;
                }
                fin.close();
        }      
getch ();
}

Ругается на строку
C++
1
while (!fin.eof() && stud.instrument==inst)
structure required on left side of . or .*

В чем закралась ошибка?
Я пытаюсь ему задать условие на перебор цикла,
при выполнеии двух условий i<N и значение в массиве stud.instrument равно введенному ранее inst

P.S.
Компилирую в Borland C++ Builder 5.0
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.