Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
MDK_17R
Заблокирован
#1

Переструктурировать исходник в структуру программирования ООП - C++

19.01.2014, 23:16. Просмотров 332. Ответов 8
Метки нет (Все метки)

Не так давно изучаю C++ и вот столкнулся с проблемой
Написал исходник в C::B который работает со строками и от меня теперь потребовали переструктурировать его в структуру программирования ООП(объектно-ориентированное-программирование) на VS, как это сделать я вообще не представляю. Я знаю конечно как работать в VS, но переделать в ООП - это не понятно...
Помогите... подскажите... пожалуйста, может кто-нибудь знает или уже сталкивался с такой задачей?

Собственно сам исходник:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
 
string funk_fio ( string name_str ,  string otchestvo_str ,   string surname_str )
{
    string fio_str ,  point_str = ". " ;
    return name_str [ 0 ] + point_str + otchestvo_str [ 0 ] + point_str + surname_str ;
}
 
int main()
{
    string name_str ,  otchestvo_str ,  surname_str ;
    int number ;
    cout << " Vvedite kolichestvo strok: " << endl ;
    cin >> number ;
    cout << endl ;
    cout << " Vvedite IOF: " << endl ;
    for ( int i = 0 ;  i < number ;  ++i )
    {
        cin >> name_str >> otchestvo_str >> surname_str ;
        cout << endl ;
        cout << endl ;
        cout << " Vyvod rezultata: " << endl ;
        cout << endl ;
        cout << endl ;
        cout << " I.O. Surname: " << endl << funk_fio ( name_str ,  otchestvo_str ,  surname_str ) << endl ;
        cout << endl ;
        cout << " Kolichestvo simvolov v poluchenoy stroke = " << funk_fio ( name_str ,  otchestvo_str ,  surname_str ) .length() << endl << endl << endl ;
    }
    ifstream in ( "first.txt" ) ;
    ofstream out ( "second.txt" ) ;
    vector < string > vec_F , vec_I , vec_O ;
    string str ;
    while ( in >> str)
    {
        vec_F . push_back ( str ) ;
        in >> str ;
        vec_I . push_back ( str ) ;
        in >> str ;
        vec_O . push_back ( str ) ;
    }
    for ( int i = 0 ; i < vec_F . size ( ) ; ++i )
    out << vec_F [ i ] << ends << vec_I [ i ] [ 0 ] << ". " << vec_O [ i ] [ 0 ] << ". " << endl ;
    return 0 ;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2014, 23:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Переструктурировать исходник в структуру программирования ООП (C++):

Выбор языка программирования ООП - C++
Программирую на php&amp;mysql. Знаю Си. (Си изучал чтобы написать модулей для php). Хотелось бы изучить ООП вот только в качестве...

Отличие модульного программирования от ООП - C++
Добрый день! Подскажите пожалуйста, чем отличается парадигма модульного программирования от ООП? Определение на Википедии описывает модуль,...

Концепция ООП и их использование в современных языках программирования - C++
Дали курсовую на эту тему. Подскажите, какую литературу, которую можно бы было использовать пр написании. Спасибо. :з

ООП.Разработать структуру элементов данных класса в виде динамической структуры данных - C++
Здравствуйте, получил задание, но немного недопонимаю как это сделать, с чего начать. Помогите пожалст или объясните образно как сделать, а...

Как называется движение программирования или теория программы считывающая др. язык программирования - C++
Не знал, как по другому задать вопрос, и также назвать тему, но буду краток: Допустим я хочу создать программу, которая будет...

Как создать структуру-список, поля которой — ссылка на такую же структуру - C++
Суть вопроса в том, как создать структуру-список, поля которой - ссылка на сл. элемент(такую же структуру) и ссылка на объект, относящийся...

8
contedevel
57 / 55 / 8
Регистрация: 07.10.2012
Сообщений: 598
19.01.2014, 23:19 #2
Сделай тоже самое, но в методе класса. Затем в главной функции ("Мэйн") создай экземпляр класса и вызови его метод, все
1
MDK_17R
Заблокирован
19.01.2014, 23:30  [ТС] #3
т.е. создаем 2 класса: в 1 класс помещаем ф-ию string funk_fio и создаём еще одну функцию, в которую помещаем тело ф-ии main; во 2 классе создаём уже main в которой прописываем вызов класса 1.
Так получается??
0
contedevel
57 / 55 / 8
Регистрация: 07.10.2012
Сообщений: 598
20.01.2014, 02:16 #4
Цитата Сообщение от MDK_17R Посмотреть сообщение
т.е. создаем 2 класса: в 1 класс помещаем ф-ию string funk_fio и создаём еще одну функцию, в которую помещаем тело ф-ии main; во 2 классе создаём уже main в которой прописываем вызов класса 1.
Так получается??
Если не критично, то функцию main можно просто так оставить
0
vans37
35 / 19 / 1
Регистрация: 28.01.2013
Сообщений: 37
20.01.2014, 04:32 #5
Цитата Сообщение от MDK_17R Посмотреть сообщение
т.е. создаем 2 класса: в 1 класс помещаем ф-ию string funk_fio и создаём еще одну функцию, в которую помещаем тело ф-ии main; во 2 классе создаём уже main в которой прописываем вызов класса 1.
Так получается??
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
 
 
class Cname
{
public:
    int number ;
 
    string name_str ,  otchestvo_str ,  surname_str ;
    string funk_fio(const Cname  &name);
    Cname()
    {
        number = 0;
        name_str = '\0';
        otchestvo_str = '\0';
        surname_str = '\0';
    }
};
 
string Cname::funk_fio (const Cname &name)
{
    string fio_str ,  point_str = ". " ;
    return name.name_str [ 0 ] + point_str + name.otchestvo_str [ 0 ] + point_str + name.surname_str ;
}
 
int main()
{
 
    Cname a;
    cout << " Vvedite kolichestvo strok: " << endl ;
    cin >> a.number ;
    cout << endl ;
    cout << " Vvedite IOF: " << endl ;
    for ( int i = 0 ;  i < a.number ;  ++i )
    {
        cin >> a.name_str >> a.otchestvo_str >> a.surname_str ;
        cout << endl ;
        cout << endl ;
        cout << " Vyvod rezultata: " << endl ;
        cout << endl ;
        cout << endl ;
        cout << " I.O. Surname: " << endl << a.funk_fio ( a ) << endl ;
        cout << endl ;
        cout << " Kolichestvo simvolov v poluchenoy stroke = " << a.funk_fio (a) .length() << endl << endl << endl ;
    }
    ifstream in ( "first.txt" ) ;
    ofstream out ( "second.txt" ) ;
    vector < string > vec_F , vec_I , vec_O ;
    string str ;
    while ( in >> str)
    {
        vec_F . push_back ( str ) ;
        in >> str ;
        vec_I . push_back ( str ) ;
        in >> str ;
        vec_O . push_back ( str ) ;
    }
    for ( int i = 0 ; i < vec_F . size ( ) ; ++i )
    out << vec_F [ i ] << ends << vec_I [ i ] [ 0 ] << ". " << vec_O [ i ] [ 0 ] << ". " << endl ;
    return 0 ;
}
1
contedevel
57 / 55 / 8
Регистрация: 07.10.2012
Сообщений: 598
20.01.2014, 06:06 #6
Извини, я на джаве программирую, ты напиши, что не так хотя бы
0
vans37
35 / 19 / 1
Регистрация: 28.01.2013
Сообщений: 37
20.01.2014, 07:04 #7
Цитата Сообщение от contedevel Посмотреть сообщение
Извини, я на джаве программирую, ты напиши, что не так хотя бы
выше постом просили на С++,я накидал ему
0
contedevel
57 / 55 / 8
Регистрация: 07.10.2012
Сообщений: 598
20.01.2014, 07:12 #8
Цитата Сообщение от vans37 Посмотреть сообщение
выше постом просили на С++,я накидал ему
Ай, блин, ники не глянул
0
MDK_17R
Заблокирован
20.01.2014, 11:25  [ТС] #9
Благодарю
0
20.01.2014, 11:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2014, 11:25
Привет! Вот еще темы с ответами:

Как правильно написать функцию, которая редактирует структуру по полю Name и возвращает новую, исправленную структуру?.. - C++
Нужно отредактировать структуру по выбору пользователя. Проблема заключается в создании функции. Подскажите, а лучше покажите, как...

Ввод данных в структуру через указатель на структуру - C++
#include &quot;stdafx.h&quot; #include &quot;ctime&quot; #include &quot;iostream&quot; #pragma warning(disable : 4996) using namespace std; class...

Необходим исходник пасьянса без использования ООП - C++ WinAPI
Привет, ребята! Очень нужна помощь! Не завалялся ли у кого случаем исходник какого-нибудь пасьянса (паука, косынки) на C/С++ WinAPI, но...

О более новых парадигмах программирования, чем ООП - ООП и паттерны
К сожалению не нашел другого более подходящего раздела для этой новой темы. Немного о себе: я не считаю себя программистом, так как я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru