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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2014, 16:00   #1
Валера1984
Пользователь
 
Регистрация: 10.02.2014
Сообщений: 14
По умолчанию Заполнить структуру из файла txt

Здравствуйте уважаемые программисты подскажите может кто сталкивался, необходимо заполнить структуру List из файла... кажется все просто и нечего не получается... Вот структура:
Код:
//#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;
		
	}

	void insert_before()
	{
		T_student a; 
		char c;
		cout <<"Vvedite id " ;
		cin>>a.id;
		cin.get(c);
		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(c);
		cout << endl <<"Enter date of birthday: \n";
		cout <<" day (1-31) ";
		cin >> a.d_birth.day;
		
		cin.get(c);
		cout <<" month (1-12)";
		cin >> a.d_birth.month;
		
		cin.get(c);
		cout <<" year ";
		cin >> a.d_birth.year;
		
		cin.get(c);
		

		List *node = new List;
		node->student = a;
		node->next = head;
		head = node;
			
	}	



	
void print_list()
	{
		printf("[ ");
		List *node = head;
		while(node != NULL)
		{
			printf("%20s ! %10s !  %4d   ! %2d.%2d.%4d\n",node->student.fio,node->student.facult,node->student.kurs,node->student.d_birth.day,node->student.d_birth.month,node->student.d_birth.year);
			node = node->next;
		}
		printf("]\n");
	}
	



};

int main()
{
	
	facultet f;
	
	
	
	f.M_File();
	f.print_list();
	

	
	
	
	_getch();

	return 0;
}
Пробовал так:
Код:
void M_File()

    {

 ifstream fd_s("C:/s.txt", std::ios::in);

while(!fd_s.eof())
{   
T_student a; 
		char c;
		fd_s>>a.id;
		fd_s.getline(a.fio,40);
		fd_s.getline(a.facult,20);
		fd_s >> a.kurs;
		cin.get(c);
		fd_s >> a.d_birth.day;
		cin.get(c);
		fd_s>> a.d_birth.month;
		fd_s.get(c);
		fd_s >> a.d_birth.year;
		fd_s.get(c);
		

		List *node = new List;
		node->student = a;
		node->next = head;
		head = node;
    }
    
}
Валера1984 вне форума Ответить с цитированием
Старый 14.11.2014, 17:56   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
из файла txt
лучше файл покажи. а то исходник твой читать вредно для зрения. Не пиши так больше.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переделавание кода на считывание из файла в файл output.txt input.txt !!! airesjke Помощь студентам 0 29.05.2013 14:07
Как скопировать текст с файла 1.txt и записать в 2.txt Kasper1 Общие вопросы по Java, Java SE, Kotlin 1 14.12.2010 05:56
Нужно прочитать из файла txt в динамическую структуру dimalem Общие вопросы C/C++ 0 18.04.2010 15:16