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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2015, 13:45   #1
whoami30
Пользователь
 
Регистрация: 08.12.2015
Сообщений: 14
По умолчанию Постраничное считывание

Попробовал реализовать вывод постранично. Появился новый вопрос, как реализовать перелистывание вперед, назад и выход из программы по окончанию файла???
case b - назад (реализован не верно 100%)
case n - вперед (рабочий помогли с ним)
Код:
#include<iostream>
#include<vector>
#include<fstream>
#include<string>
using namespace std;

int main()
{
	
    setlocale(0,"rus");
    char name[]="teoria.txt";
	vector<string> v;
	string str;
	int n=10; 
    ifstream fout(name);
    if (!fout)
    {
        cout<<"Файл с исходными данными не найдет \n Создайте файл с именем "<<name<<endl;
    }
    else
    {	
		while(!fout.eof())
		{
			getline(fout,str);
			v.push_back(str);
		}
    }
	vector<string>::iterator vi;
	
	char stranica;
	cout<<"Введите B или N: ";
	cin>>stranica;
	switch(stranica)
	{
	case 'n':
		{
			int i=1;
			for(vi=v.begin();vi!=v.end();vi++,i++)
			{
		
				cout<<*vi<<'\n';
				if(!(i%13))
				{
					system ("pause");
					system ("cls");
				}
			}
			break;
		}
	case 'b':
		{
			int i=1;
			for(vi=v.end();vi!=v.begin();vi--,i--)
			{
		
				cout<<*vi<<'\n';
				if(!(i%13))
				{
					system ("pause");
					system ("cls");
				}
			}
			break;
		}
	default:
		{
			system("cls"); 
			cout<<"\nОШИБКА! НЕПРАВИЛЬНОЕ НАЖАТИЕ КЛАВИШИ!"<<endl;
			break;
		}
	}
	system ("pause");
    return 0;
}
whoami30 вне форума Ответить с цитированием
Старый 09.12.2015, 14:18   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
int i=1; vector<string>::iterator vl=v.begin();
for(vi=v.begin();vi!=v.end();vi++,i++){
    cout<<*vi<<'\n';
    if(!(i%13))
    {
        cout<<"Tuda\Suda";
           switch(cin.get()){
            case 'n':{vi=vl; i-=13;}
           }
        vl=vi;
        system ("cls");
    }
}
Не?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.12.2015, 16:00   #3
whoami30
Пользователь
 
Регистрация: 08.12.2015
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
int i=1; vector<string>::iterator vl=v.begin();
for(vi=v.begin();vi!=v.end();vi++,i++){
    cout<<*vi<<'\n';
    if(!(i%13))
    {
        cout<<"Tuda\Suda";
           switch(cin.get()){
            case 'n':{vi=vl; i-=13;}
           }
        vl=vi;
        system ("cls");
    }
}
Не?
Я просто представляю себе так.
1)Выводятся первые 20 строчек текста
2)После текста появляется надпись "Перейти на след. страницу, нажмите n, перейти на предыдущую нажмите b" и так до последней.
3) После того, как дошли до последней, выводиться запись о том, что текст теории закончился.
Я предполагаю, что должен быть цикл, который крутится до бесконечности и из него один выход - это конец теории.
--------
Если я правильно понял, что при нажатии n листается только вперед, после чего остановка программы и выход из нее.
whoami30 вне форума Ответить с цитированием
Старый 09.12.2015, 16:39   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Не, ну дело не в этом. Ты мою идею уловил?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Постраничное сохранение документа в Word 2007 Karull Microsoft Office Word 2 17.10.2018 16:04
блочное считывание Ioane Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 03.05.2013 20:14
Считывание из файла в VB 6.0 EREV@N Помощь студентам 1 07.04.2011 17:01
Считывание Lisёноk Помощь студентам 5 08.11.2010 15:18
считывание из файла U-S Общие вопросы C/C++ 0 26.02.2010 19:42