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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2012, 18:25   #1
MrRifleman
Пользователь
 
Регистрация: 24.03.2012
Сообщений: 13
Вопрос Тема функции. Переделать задачи!

Есть задание и код программы.

Строки и файлы.jpg

Код:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
int main()
{
    string text = ""; 
    string search;    
    string result;    
    string filename = "1.txt"; 
 
   
    ifstream *in = new ifstream(filename.c_str());
    if(in->fail())
    {
        cout << "file '" << filename << "' not found" << endl << endl;
        system("pause");
        return 1;
    }
 
    
    cout << "enter search  word in proposal: ";
    cin  >> search;
    cout << "-------------------------------------" << endl;
 
    
    if(in->is_open())
    {
        while(!in->eof())
            text += in->get();
 
        in->close();
    }
    delete in;
    
    while(1)
    {
        int begining_pos = text.find(search); 
        int crt_pos;                          
 
        crt_pos = text.find(search); 
        if(crt_pos == -1) break;     
                                     
 
        
        for(int i = crt_pos; ; i--)
        {
            if( text[i] != '!' && text[i] != '.' && 
                text[i] != '?' && i != 0) 
                begining_pos--;
            else 
            { 
                crt_pos = i;
                if(crt_pos > 0) begining_pos++; 
                break; 
            }
        }
        
        for(crt_pos = begining_pos; ; crt_pos++)
        {
            if( text[crt_pos] == '!' || text[crt_pos] == '.' || 
                text[crt_pos] == '?' || (int)text[crt_pos] == -1)
            {
                result += text[crt_pos];
                break;
            }
 
            if(crt_pos == begining_pos && text[crt_pos] == ' ') continue;
            result += text[crt_pos]; 
        }
 
        
        cout << result << endl << endl;
 
        text.erase(begining_pos, crt_pos + 1); 
        result = ""; 
 
    system("pause");
    return 0;
}
Задание: оформить каждый пункт задания в виде функции(ну в этом случае функция будет одна). Помогите переделать еще мало знаком с функциями а сроки жмут!
MrRifleman вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переделать с использованием функции Camelot_2012 Паскаль, Turbo Pascal, PascalABC.NET 1 02.05.2012 22:57
переделать в процедуры и функции Richik123 Паскаль, Turbo Pascal, PascalABC.NET 1 12.04.2012 21:11
Нужно переделать задачи так, чтобы в них были функции TheAlina Помощь студентам 4 05.04.2012 17:26
Програмирование, нужно переделать задачи kpo4u Помощь студентам 5 18.12.2011 21:07
Задачи на С++.Тема:Массивы Wia Помощь студентам 7 20.12.2008 16:01