Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2009, 19:10   #1
dedokk1234
Новичок
Джуниор
 
Регистрация: 08.06.2009
Сообщений: 1
По умолчанию чтение из файла

Здраствуйте уважаемые програмисты, помогите с задачкой)) Нужно описчать структуру student и вывести на экран фамилию и номера всех студентов имеющих хотя бы одну 2
вот мой код

Код:
#include "stdafx.h"
#include <fstream.h>
#include <string.h>
#include <stdlib.h>


int main(int argc, char* argv[])
{
const int l_name = 70, l_year = 5, l_pay = 10, l_buf = l_name + l_year + l_pay;

struct STUDENT
{
int birth_year;
char name[l_name + 1];
float pay;
};

float pay[10];
pay[1] = 3,4,5,4,3;
pay[2] = 5,4,4,5,5;
pay[3] = 5,5,5,5,5;
pay[4] = 3,3,3,3,3; 
pay[5] = 4,4,4,4,4;
pay[6] = 4,2,2,5,5;
pay[7] = 2,2,2,4,4;
pay[8] = 1,2,3,4,5;
pay[9] = 5,4,3,2,1;
pay[10] = 1,2,3,2,1;
const int l_dbase = 100;
STUDENT dbase[l_dbase];
char buf[l_buf + 1];
ifstream fin("dbase.txt", ios::in | ios::nocreate);
if(!fin) { cout<<"Owubka otkrbItu9 faila"<<endl; return 1;}

int i = 1;
while (fin.getline(buf, l_buf))
{
strncpy(dbase[i].name, buf, l_name);
dbase[i].name[l_name] = '\0';
dbase[i].birth_year = atoi(&buf[l_name]);
dbase[i].pay = atol(&buf[l_name + l_year]);
i++;
if (i > l_dbase)
{
cout<<"dlinnyi file"<<endl; return 1;
}
}
int n_record = i;
fin.close();
ofstream fout("dbase.txt");
if(!fout){cout<<"Owubka otkrbItu9 faila"<<endl; return 1;}

for(i = 0; i < n_record -1; i++)

{
int imin = i;


/*for(int j = i + 1; j < n_record; j++)
{
if(dbase[j].birth_year < dbase[imin].birth_year) imin = j;
STUDENT a = dbase[i];
dbase[i] = dbase[imin];
dbase[imin] = a;
}*/

for(i = 1; i < n_record; i++)
{
if(pay[i] == 2)
cout << dbase[i].name << dbase[i].birth_year << ' ' << dbase[i].pay << endl;
}
}
fout.close();
cout << "sortirovka zavershena " << endl;

return 0;
}
вот мой файл

Код:
ABuloB 13 34543
AlexuH 21 54455
BeDeHeeB 31 55555
TePeHTeB 11 33333
PeTPUXUN 22 44444
APTUXUH 13 42255
MakaPoB 31 22244
PoPoB 32 12345
BuClo 22 54321
CMuPHoB 13 12321
помогите пожалуйста, уже дня 3 с ней парюсь

Модератор: тег CODE

Последний раз редактировалось Sazary; 15.06.2009 в 19:19.
dedokk1234 вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
чтение из файла. aschak Общие вопросы C/C++ 9 30.12.2008 15:24
чтение из файла Илья500 Общие вопросы C/C++ 26 05.12.2008 00:37
Чтение файла [Smarik] Помощь студентам 8 28.04.2008 22:15
Чтение из файла... Bill Gates Общие вопросы Delphi 3 22.03.2008 22:13
чтение файла Arteom Общие вопросы Delphi 6 27.08.2007 18:15