Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.08.2010, 16:16   #1
WarHamster
Пользователь
 
Регистрация: 09.08.2010
Сообщений: 48
По умолчанию Массив структур и файл(С++)

Помогите пожалуйста с программой. Задача: ввести массив структур(данные по ученикам), записать его в файл, затем в процедуре найти из этих учеников отличников. Проблема: не могу нормально реализовать работу с файлом, после ввода структур выполнение прерывается ошибкой. Причем если процедуру не вызывать, то данные в файле сохраняются нормально, иначе только первый символ поля name первой записи.
Код:
#pragma argsused
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
const int n=2;

struct student
{
string name;
int group;
int marks[3];
};     

void Otl(char filename[100])
{
student r;
int j;
ifstream file(filename);
cout<<"Otlichniki: "<<endl;
while(!file.eof())
{
file>>r.name>>r.group;
for(j=0; j<3; j++) file>>r.marks[j];
if((r.marks[1]==5)&(r.marks[2]==5)&(r.marks[3]=5)) cout<<r.name<<endl;
}
}

main()
{
int i,j;
student r[n];
char filename[100];
cout<<"Imya faila: ";
cin>>filename;
ofstream file(filename);
for(i=0; i<n; i++)
{
cout<<"Imya: ";
cin>>r[n].name;
file<<r[n].name;
cout<<"Gruppa: ";
cin>>r[n].group;
file<<" "<<r[n].group;
for(j=0; j<3; j++) { cout<<"Ocenka "<<j<<": "; cin>>r[n].marks[j]; file<<" "<<r[n].marks[j]; }
file<<"/n";
}
Otl(filename);
return 0;
}
WarHamster вне форума Ответить с цитированием
Старый 31.08.2010, 16:40   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
string name;
Врядли в файл будет это писаться правильно...
Вообще массив структур пишут в бинарный файл.
Мое имхо конечно но...
Вот здесь я давал пример записи в файл структур: http://www.programmersforum.ru/showthread.php?t=89469
Посмотри, может натолкнешся на идею.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.09.2010, 13:22   #3
vladymyrlem
Новичок
Джуниор
 
Регистрация: 01.09.2010
Сообщений: 2
По умолчанию

Помогите пожалуйста с программой. Задача:
Даны два массива A(N,N) и B(N,N). Найти сумму элементов левой диагонали массива А и сумму элементов правой диагонали массива В. Вычисление сумм оформить как процедуру.(среда С++).заранее благодарен
vladymyrlem вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив структур AndreyT Общие вопросы C/C++ 2 01.06.2010 19:19
Массив структур+файл Роман_какой-то Общие вопросы C/C++ 4 22.03.2010 20:28
массив структур Help_me_please Помощь студентам 3 16.01.2010 02:19
Массив структур MLV Общие вопросы C/C++ 6 08.12.2009 20:44
Массив структур velvetdust Общие вопросы C/C++ 0 21.03.2009 13:18