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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2014, 22:59   #1
_lev
Пользователь
 
Регистрация: 16.06.2014
Сообщений: 11
По умолчанию Чтение из файла ifstream

возникла проблема при чтении из текстового файла. Запись в файл происходит хорошо, а чтение нет. как быть?
class.h
Код:
#ifndef CLASS_H
#define CLASS_H

// класс "Структура МИИТа"
class MIIT
{
public:
	void menu();
	void create();
	void print();
	// Структура класса
	struct spisok
	{
		char name_isnt[50];
		int num_korp;
		char name_kaf[100];
		int phone_kaf;
	};
private:
	spisok sp[50]; // объект класса
};


#endif
methods.h
Код:
#include "class.h"

#include <iostream>
#include <fstream>
using namespace std;
int n;
// Меню
void MIIT::menu()
{
	MIIT obj;
	int key;
	cout << "1) Создать файл" << endl;
	cout << "2) Открыть файл" << endl;
	cout << "3) Выход" << endl;
	cin >> key;
	switch(key)
	{
	case 1:
		obj.create();
		break;
	case 2:
		obj.print();
		break;
	case 3:
		exit(0);
	default: cout << "Неверная команда!" << endl;
		cin.get();
		obj.menu();
	}
}

void MIIT::create()
{
	system("cls");
	char filename[20];
	cout << "Введите имя файла: ";
	cin >> filename;
	ofstream fout;
	fout.open(filename);
	cout << "Введите кол-во записей: ";
	cin >> n;
	for(int i=0; i<n; i++)
	{
		cout << "Введите название института: ";
		cin >> sp[i].name_isnt;
		cout << "Введите номер корпуса: ";
		cin >> sp[i].num_korp;
		cout << "Введите название кафедры: ";
		cin >> sp[i].name_kaf;
		cout << "Введите телефон кафедры: ";
		cin >> sp[i].phone_kaf;
		cout << endl;
	}
	fout << "|# |Название института|Номер корпуса|Название кафедры|Телефон кафедры|\n";
	fout << "|==|==================|=============|================|===============|\n";
	for(int i=0; i<n; i++)
		fout << i+1 << "  " << sp[i].name_isnt << "                   " << sp[i].num_korp << "             " << sp[i].phone_kaf << "               ";
	fout.close();
	system("cls");
	cin.get();
	menu();
}

void MIIT::print()
{
	ifstream fin;
	system("cls");
	char filename[20];
	cout << "Введите имя файла: ";
	cin >> filename;
	fin.open(filename);
	cout << "|# |Название института|Номер корпуса|Название кафедры|Телефон кафедры|\n";
	cout << "|==|==================|=============|================|===============|\n";
	for(int i=0; i<n; i++)
		cout << i+1 << "  " << sp[i].name_isnt << "                   " << sp[i].num_korp << "             " << sp[i].phone_kaf << "               ";  
	fin.close();
	cin.get();
	menu();
}
main.cpp
Код:
#include "methods.h"


///// Главная функция
int main()
{
	setlocale(LC_ALL, "rus");
	MIIT obj;
	
	obj.menu();

	system("pause");
	return 0;
}
_lev вне форума Ответить с цитированием
Старый 09.10.2014, 00:12   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

А где оно - чтение-то? Открытие и закрытие файла вижу, а где чтение?
Изображения
Тип файла: png 12.png (15.7 Кб, 101 просмотров)
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 09.10.2014, 01:44   #3
_lev
Пользователь
 
Регистрация: 16.06.2014
Сообщений: 11
По умолчанию

как читать из файла? не понимаю
_lev вне форума Ответить с цитированием
Старый 09.10.2014, 08:39   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А как сам файл выглядит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.10.2014, 08:49   #5
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
как читать из файла? не понимаю
Тыкай всюда.

И больше не пиши на С++, прежде чем не прочитаешь книжку.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
баг с чтением файла по ifstream spyphy Общие вопросы C/C++ 2 14.10.2012 00:58
Чтение XM файла IvanSCM Свободное общение 1 08.11.2011 18:27
Чтение из файла классом ifstream Кипящий чайник Общие вопросы C/C++ 5 05.03.2011 08:05
Чтение из файла(ifstream) C++ Alex1991 Помощь студентам 2 22.03.2010 20:23
Чтение из файла e@gle Общие вопросы Delphi 3 14.12.2008 17:21