![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
valera19841987 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 15.11.2014 Репутация: нет Всего: нет |
Здравствуйте уважаемые знатаки может кто сталкивался есть список он работает на заполнение и передачу в файл... а вот заполнение из файла не работает ... подскажите в чем беда?
#include"stdafx.h" #include"iostream" #include"conio.h" #include "stdio.h" #include "fstream" using namespace std; struct Data { unsigned day; unsigned month; unsigned year; }; struct T_student { int id ; char fio[40]; char facult[20]; unsigned kurs; Data d_birth; }; struct List { T_student student; List *next; }; class facultet { private: List *head; public: facultet() { head = NULL; List *node1 = new List; T_student a = {102,"Ivanov I. I.","FIST",3,1,1,1994}; node1->student = a; node1->next = head; head = node1; List *node2 = new List; T_student b = {103,"Petrov N. I.","MF",1,10,12,1992}; node2->student = b; node2->next = head; head = node2; } void insert_before() { head=NULL; T_student a; char c; cout <<"Vvedite id " ; cin>>a.id; cin.get©; cout << endl <<"Enter data person\n"; cout <<" fio "; cin.getline(a.fio,40); cout <<" facultet "; cin.getline(a.facult,20); cout <<" kurs "; cin >> a.kurs; cin.get©; cout << endl <<"Enter date of birthday: \n"; cout <<" day (1-31) "; cin >> a.d_birth.day; cin.get©; cout <<" month (1-12)"; cin >> a.d_birth.month; cin.get©; cout <<" year "; cin >> a.d_birth.year; cin.get©; List *node = new List; node->student = a; node->next = head; head = node; } void M_File() { FILE *f; f=fopen("C:/s.txt","r"); T_student a; T_student [100] ; while(!feof(f)) { fscanf(f,"%4d%20s%10s%4d%2d%2d%4d\n",a.id,a.fio,a.facult,a.kurs,a.d_birth.day,a.d_birth.month,a.d_birth.year); } fclose(f); } Вот файл который надо считать 100 Ivanov T.T. Fri 4 1 22014 101 Petrov F.A. TWO 5 3 21987 |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Вы в курсе, что scanf работает иначе, чем printf? Что нужно передавать в scanf не значения переменных для формата %d (как в printf), а адреса этих переменных? Программа не падает? -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
sQu1rr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 597 Регистрация: 11.11.2008 Где: london Репутация: 3 Всего: 13 |
Как это вообще компилируется... Вообще, хорошая практика не мешать С++ с С, и если уж используете std::cout, std::cin, используйте уж std::ifstream а не fscanf, к тому же заголовок (хоть и через .) но делает вид что подключен |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |