Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C++ > C/C++ Базы данных
Регистрация

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

Excel VBA, CAD, Софт, ОС, Windows, Ubuntu, Android, VPS
Win Api, Assembler, C++, Java, Pascal, Lazarus, Delphi, OpenGL, DirectX
C#, Qt, .NET, ASP.NET, Windows Forms, ADO.NET, Framework, WPF, UWP, WinRT, XAML
HTML, CSS, JavaScript, Ajax, PHP, Perl, Python, Ruby, SQL, WordPress, API, XML, JSON, ActionScript, Flash

Ответ
 
Опции темы
Старый 12.12.2015, 20:30   #1
Julia22
 
Регистрация: 19.08.2015
Сообщений: 7
Репутация: 10
По умолчанию Чтение из файла STL

Подскажите как записать в поля из файла информацию в поля
Я пыталась, работает, но не читает(
Код:

void Map::ReadFromFile()
{
string s,key;
fstream F;
int k, value, counter;
map <string, Pr> ob; 
map <string, Pr> :: iterator it;
Pr *pr;
 
F.open("D:\\sportman.txt");
if(F)
{
while (!F.eof())
{
k=0;
counter=0;
pr = new Pr();
std::getline(F,s); //само переходит на след. строку
int n_first = 0;
int n_last = s.length();
int n_del = 0; //позиция пробела
string buf;
if(counter==0){
n_del = s.find('%', n_first); 
buf = s.substr(n_first, n_del-n_first);
value = atoi (buf.c_str());
pr->set_mesto(value);}
while(n_del != string :: npos) // npos - равно -1 когда доходит до конца строки
{
n_del = s.find('%', n_first); 
buf = s.substr(n_first, n_del-n_first); // в buf записывается n_del-n_first символов, начиная с n_first 
 
switch(k)
{
case 0:pr->set_fam(buf); break;
case 1: pr->set_vid(buf);
case 3: value = atoi (buf.c_str());//из строки в инт
pr->set_god(value); break;
case 4: pr->set_mesto(value);break;
 
}
n_first = n_del+1; //+1 чтобы не считать пробел
k++;
}
key= pr->get_fam();
ob.insert (pair<string,Pr>(key,*pr));
counter++;
}
F.close();
}
 
}

Вложения
Тип файла: rar ee.rar (4.1 Кб, 9 просмотров)

Последний раз редактировалось Julia22; 13.12.2015 в 00:17.
Julia22 вне форума   Ответить с цитированием
Старый 12.12.2015, 20:44   #2
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,968
Репутация: 6787
По умолчанию

Цитата:
как записать в поля из файла информацию в поля
Файл текстовый? Как выглядит?
Цитата:
не читает(
Ошибки бьет? Или что?
Отладку, я так понимаю, не проводила?
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 12.12.2015, 21:01   #3
Julia22
 
Регистрация: 19.08.2015
Сообщений: 7
Репутация: 10
По умолчанию

Да, текстовый.
Прога запускается, но ничего не читает
вот из файла:
Ivanov Beg 2007 2 Ivan
Petrov Gimnastika 2010 3 Petr
Sliva Biatlon 2004 10 Daria
Petrov Gimnastika 1998 5 Petr
Julia22 вне форума   Ответить с цитированием
Старый 12.12.2015, 21:42   #4
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,968
Репутация: 6787
По умолчанию

Ясно... Хм... Давай попробуем так:
Код:

void Map::ReadFromFile()
{
ifstream F("D:\\sportman.txt");
if(!F) return;
std::string familia,sport,imya; int year,mon;
 while (!F.eof()){
   f>>familia>>sport>>year>>mon>>imya;
   //Тут что-то делаешь с этими переменными 
 }
 F.close();
}

Годится такое упрощение?
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 12.12.2015, 23:02   #5
Julia22
 
Регистрация: 19.08.2015
Сообщений: 7
Репутация: 10
По умолчанию

никак(
вот мэйн, может там что не так
Код:

#include "map.h"
#include <fstream>

void main(void) {
	setlocale(LC_ALL, "Russian");
	cout << "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" << endl;
	cout << "+++                                                                 +++" << endl;
	cout << "+++                          Здравствуйте!                          +++" << endl;
	cout << "+++             Вас приветствует автоматизация                      +++" << endl;
	cout << "+++             информации о проведении спортивных соревнований     +++" << endl;
	cout << "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" << endl;
	cout << endl;
	Map ob;
	Pr pr;
    ob.ReadFromFile();
	char act;
	do {
		cout << "Что нужно сделать?" << endl << endl
			<< "1 - Показать список спорсменов" << endl
			<< "2 - Добавить спорсмена" << endl
			<< "3 - Вывести список спорсменов, имеющих заданное место" << endl
			<< "4 - Вывести список спорсменов, который принимал участие в соревнований с заданным годом проведения" << endl
			<< "5 - Вывести количество спортсменов с заданным именем" << endl
			<< "6 - Вывести количество список спортсменов, которые заняли места из интервала " << endl
			//<< "9 - Удалить заданных спортсменов" << endl
			//<< "0 - Вывести список , отсортированный по фамилии" << endl
			<< "Нажмите клавишу q, чтобы выйти" << endl;
		cout << "==============================================================================" << endl;
		cin >> act;
		
		ob.show_mas();
		switch (act) {
		case '1':
			ob.show_mas();
			break;
		case '2':
			ob.add_Pr(pr);
			break;
		case '3':
			ob.show_mesto();
			break;
		case '4':
			ob.show_mas();
			ob.show_fam();
			break;
		case '5':
			ob.show_mas();
			ob.show_name();
			break;
		case '6':
			ob.show_mas();
			ob.show_mesto_interval();
			break;
		/*case '7':
			ob.show_mas();
			ob.show_date();
			break;*/
		//case '8':
		//	//ob.show_sect();
		//	break;
		/*case '9':
			ob.delete_Pr();
			break;*/
			case 'q':
			break;
		default:
			cout << "Ошибка! Попробуйте ещё раз." << endl << endl;
			system("cls");
		}
	} while (act != 'q');
}

Julia22 вне форума   Ответить с цитированием
Старый 12.12.2015, 23:46   #6
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,968
Репутация: 6787
По умолчанию

Тебе наверное лучше заархивировать эти два файла и приаттачить к теме.
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 13.12.2015, 00:36   #7
Julia22
 
Регистрация: 19.08.2015
Сообщений: 7
Репутация: 10
По умолчанию

всё, я сделала
Julia22 вне форума   Ответить с цитированием
Старый 13.12.2015, 00:59   #8
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,968
Репутация: 6787
По умолчанию

Молодец... )
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 13.12.2015, 01:39   #9
Julia22
 
Регистрация: 19.08.2015
Сообщений: 7
Репутация: 10
По умолчанию

Ну дык что не так?
Julia22 вне форума   Ответить с цитированием
Старый 13.12.2015, 15:23   #10
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,968
Репутация: 6787
По умолчанию

Цитата:
Ну дык что не так?
Ты ж сказала, что все сделала?
Или что ты имела ввиду? Прикрепленного к теме архива я не вижу, потому не могу сказать что не так.
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение из файла Стремящийся Общие вопросы по Java, Java SE 2 10.06.2012 10:56
Чтение из файла Ghost of Night C# (си шарп) 3 26.03.2012 13:10
Чтение с файла с++ Voxa7 Помощь студентам 2 27.04.2011 20:47
STL в QT конфликтует с STL в Borland nvrrus C++ Builder 0 31.03.2011 10:51
Чтение из файла DimOn4Ik PHP 1 02.01.2010 23:41




18:14.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Покупайте на сайте www.skinon.ru уникальные чехлы и наклейки для телефонов.
купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru