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

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

Войти
Регистрация
Восстановить пароль
 
barash21
0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 4
#1

посоветуйте (ручной ввод слова) - C++

12.12.2012, 02:58. Просмотров 265. Ответов 0
Метки нет (Все метки)

как в этой программе сделать так, чтоб вручную вводилось слово...к примеру "red"а выводило красный...не сразу все слова....а только тогда когда я введу...ато я не понимаю(((
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#include <iostream>
#include <Windows.h>
#include <string>
#include <iomanip>
 
class Translator
{
private:
    struct Node
    {
        Node(std::string const& rus, std::string const& eng) :
            pl(0), pr(0), rus_(rus), eng_(eng){}
        Node* Insert(std::string const& rus, std::string const& eng)
        {
            Node* pret = 0;
            if(rus < rus_)
            {
                if(!pl)
                {
                    pl = new Node(rus, eng);
                    pret = pl;
                }
                else
                {
                    pret = pl->Insert(rus, eng);
                }
            }
            else if(rus > rus_)
            {
                if(!pr)
                {
                    pr = new Node(rus, eng);
                    pret = pr;
                }
                else
                {
                    pret = pr->Insert(rus, eng);
                }
            }
            return pret;
        }
        std::string GetEng(std::string const& rus) const
        {
            std::string sret;
            if(rus == rus_)
                sret = eng_;
            else if(rus < rus_)
            {
                if(pl)
                    sret = pl->GetEng(rus);
            }
            else
            {
                if(pr)
                    sret = pr->GetEng(rus);
            }
            return sret;
        }
        void Print() const
        {
            if(pl)
                pl->Print();
            std::cout << std::setw(14) << std::left << rus_ << eng_ << std::endl;
            if(pr)
                pr->Print();
 
        }
        void Cleanup()
        {
            if(pl)
            {
                pl->Cleanup();
                pl = 0;
            }
            if(pr)
            {
                pr->Cleanup();
                pr = 0;
            }
            delete this;
        }
        std::string rus_, eng_;
        Node* pl, *pr;
    };
public:
    Translator() : p_(0){}
    Node* Insert(std::string const& s1, std::string const& s2)
    {
        Node* pret = 0;
        if((s1[0] > 0 && s2[0] < 0) || (s1[0] < 0 && s2[0] > 0))
        {
            std::string const& rus(s1[0] < 0 ? s1 : s2);
            std::string const& eng(s1[0] > 0 ? s1 : s2);
            if(!p_)
            {
                p_ = new Node(rus, eng);
                pret = p_;
            }
            else
            {
                pret = p_->Insert(rus, eng);
            }
        }
        return pret;
    }
    std::string GetEng(std::string const& rus) const
    {
        std::string sret;
        if(p_)
        {
            sret = p_->GetEng(rus);
        }
        return sret;
    }
    void Print() const
    {
        if(p_)
            p_->Print();
    }
    void Cleanup()
    {
        if(p_)
        {
            p_->Cleanup();
            p_ = 0;
        }
    }
private:
    Node* p_;
    Translator(Translator const&);
    Translator& operator=(Translator);
};
 
int main()
{
    SetConsoleOutputCP(1251);
    Translator d;
    d.Insert("красный", "red");
    d.Insert("black", "чёрный");
    d.Insert("зелёный", "green");
    d.Insert("white", "белый");
    std::cout << d.GetEng("красный") << std::endl;
    std::cout << d.GetEng("серый") << std::endl;
    d.Print();
    d.Cleanup();
    std::cin.get();
    return 0;
}
Добавлено через 2 часа 54 минуты
как это??

Причина: теги подправлены
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2012, 02:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос посоветуйте (ручной ввод слова) (C++):

Массивы: ручной ввод - C++
Всех с НОВЫМ ГОДОМ!!!!!!!!!!!!!! но НГ,а мне надо завтра сдавать работу.... очень-очень надо.... Помогите сделать ручной ввод...

Ручной ввод элементов - C++
Эта программа сама в случайном порядке пишет элементы в массиве. Помогите, пожалуйста, переделать код так, чтобы можно было самим вводить...

Матрица, ручной ввод элементов - C++
Ещё раз здравствуйте. Встала такая проблема, не получается переделать рандомное заполнение матрицы на ручное. Помогите, либо отошлите в...

Нахождение детерминанта матрицы и её ручной ввод - C++
Здравствуйте! Который вот уже день бьюсь! Не могу найти ошибку! Нужно поставить ручной ввод и найти детерминант. Матрица сначала...

Ручной ввод в массив и проверка цепочки - C++
Создать программу на С++, которая будет продуцировать цепочки(слова) в трехсимвольном алфавите с записью их в файл, причем длина L цепочек...

Ручной ввод количества знаков после запятой - C++
Добрый вечер. Мне необходимо чтобы пользователь руками мог указать сколько знаков после запятой будет отображаться. В моем случае...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2012, 02:58
Привет! Вот еще темы с ответами:

Как переделать рандомное заполнение матрицы на ручной ввод? - C++
#include &quot;stdafx.h&quot; #include &lt;stdlib.h&gt; #include &lt;locale.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;time.h&gt; #include...

Организовать ручной ввод 80-значных чисел вместо случайного ввода - C++
нужна помощь, как организовать ручной ввод чисел вместо случайного ввода? заранее спасибо вот код: #include &lt;iostream&gt; #define N 80 ...

Сделать программу более компактной + Ручной ввод размерности квадратной матрицы. - C++
Программу я написал. Но надо сделать программу еще более компактной. + Вопрос, как сделать так, чтобы n не было константой, т.е. его...

Ввод строки до определенного слова - C++
Нужно организовать ввод строки, пока не будет введено ключевое слово &quot;stop&quot;. После ввода ключевого слова программа выводит строку до него и...


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

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

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