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

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

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

Связать программу - C++

09.12.2013, 18:39. Просмотров 177. Ответов 4
Метки нет (Все метки)

Надо написать программу, в которую вводишь текст и она выводит этот же текст только цифры от 0 до 9 заменены словами.
4 = four
а если
45 = 45 по отдельности не должно писать как four five.

C++ (Qt)
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
#include <iostream>
#include<string>
 
using namespace std;
 
void myfunc(char x);
 
int main()
 
{
 
    string str;
    getline(cin, str);
 
    void myfunc();
 
    return 0;
 
}
 
 
void myfunc(char x){
 
 
        switch (x)
 
        {
        case '0': cout << "zero"; break;
        case '1': cout << "one";  break;
        case '2': cout << "two";  break;
        case '3': cout << "three";  break;
        case '4': cout << "four"; break;
        case '5': cout << "five"; break;
        case '6': cout << "six"; break;
        case '7': cout << "seven"; break;
        case '8': cout << "eight"; break;
        case '9': cout << "nine"; break;
 
        }   
 
        cout << x;
 
    }
Я не могу понять как связать, этот перебор от 0 до 9 с текстом.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2013, 18:39     Связать программу
Посмотрите здесь:

Связать классы. - C++
Дрпустим есть два класса и некторые методы в них: в 1(class c1) ... void SetLight(int lightcount) ... в 2(class c2) ... ...

Связать векторы - C++
Доброго времени суток. У меня есть 4 класса: студент(id, имя, фамилия), факультет(id, название), занятия(id, название, тип), оценка(1-й...

связать буквы в слово - C++
Как же соединить буквы в потоке? они следуют друг за другом.

Связать две функции - C++
#include &lt;iostream&gt; int sd(int n, int d = 1) { if (n==0) { return 0; } else

Правильно связать модули - C++
//main.cpp #include &lt;iostream&gt; #include &quot;header.hpp&quot; using namespace std; int main() { f(); system(&quot;pause&quot;); ...

Связать два вектора - C++
Здравствуйте.Может кто подскажет,как реализовать такую задачу? Есть два вектора: vector&lt;string&gt; и vector&lt;int&gt;. В первом записан набор...

Как связать 2 программы - C++
Как одной программе считывать значения из другой программы и выводить результат исходя из взятых значений?

Как связать код с графикой? - C++
Всем привет! Подкиньте, пожалста, литературы, как связать 2д/3д графику с кодом. Например, чтобы при задании координат на декартовой...

Связать переменные в Code BLocks C++ - C++
В одно проекте связываю файлы. В одном файле вычисления, а в другом - задание переменных. Выдает ошибку. #include &lt;iostream&gt; ...

Как связать абстр. классы? - C++
Необходим совет или помощь в решении проблемы. Код: // a.h class A { public: virtual void somefuncA() = 0; }; // b.h ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
МаксимТ
47 / 47 / 4
Регистрация: 17.08.2012
Сообщений: 225
09.12.2013, 18:48     Связать программу #2
Цитата Сообщение от Jurlique Посмотреть сообщение
Я не могу понять как связать, этот перебор от 0 до 9 с текстом.
пользователь ввел строку,

(вместо 15 строки):
затем в цикле идет перебот символов строки,
если символ - не цифра то выводим на экран, а если цифра то вызываем функцию myfunc()

Добавлено через 1 минуту
Цитата Сообщение от Jurlique Посмотреть сообщение
а если
45 = 45 по отдельности не должно писать как four five.
правдо этого условия я не понял
Jurlique
0 / 0 / 0
Регистрация: 13.11.2013
Сообщений: 47
09.12.2013, 19:44  [ТС]     Связать программу #3
Цитата Сообщение от МаксимТ Посмотреть сообщение

Добавлено через 1 минуту

правдо этого условия я не понял

Пример входных данных:
Every second 4 people are hearing happy birthday to him. It means 240 persons in minute and 144 000 persons in hour.
Пример выходных данных:
Every second four people are hearing happy birthday to him. It means 240 persons in minute and 144 000 persons in hour.

Добавлено через 6 минут
Цитата Сообщение от МаксимТ Посмотреть сообщение
пользователь ввел строку,

(вместо 15 строки):
затем в цикле идет перебот символов строки,
если символ - не цифра то выводим на экран, а если цифра то вызываем функцию myfunc()

C++ (Qt)
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
int main()
 
{
 
    string str;
    getline(cin, str);
 
    for (int i = 0; i < str.lenght; i++){
    
        if (str[i] == '0' && (str[i - 1], str[i + 1])) { cout << "zero"; continue; }
        if (str[i] == '1' && (str[i - 1], str[i + 1])) { cout << "one"; continue; }
        if (str[i] == '2' && (str[i - 1], str[i + 1])) { cout << "two"; continue; }
        if (str[i] == '3' && (str[i - 1], str[i + 1])) { cout << "three"; continue; }
        if (str[i] == '4' &&(str[i - 1], str[i + 1])) { cout << "four"; continue; }
        if (str[i] == '5' && (str[i - 1], str[i + 1])) { cout << "five"; continue; }
        if (str[i] == '6' && (str[i - 1], str[i + 1])) { cout << "six"; continue; }
        if (str[i] == '7' && (str[i - 1], str[i + 1])) { cout << "seven"; continue; }
        if (str[i] == '8' && (str[i - 1], str[i + 1])) { cout << "eight"; continue; }
        if (str[i] == '9' && (str[i - 1], str[i + 1])) { cout << "nine"; continue; }
 
    }
 
    else 
    {
 
        void myfunc();
 
    }
Что то в таком стиле?
МаксимТ
47 / 47 / 4
Регистрация: 17.08.2012
Сообщений: 225
09.12.2013, 20:01     Связать программу #4
нет, чтото типо такого:
C++
1
2
3
4
5
for (int i = 0; i < str.lenght; i++)
  if (str[i]>='0' && str[i]<='9')//сдесь надо дописать проверку след символа еще, дабы избежать более 1 цифры
     myfunc(str[i]);
  else
     cout<<str[i];
ValeryS
Модератор
6534 / 5000 / 460
Регистрация: 14.02.2011
Сообщений: 16,623
09.12.2013, 20:04     Связать программу #5
Цитата Сообщение от Jurlique Посмотреть сообщение
(str[i - 1]
что будет когда i =0?
Цитата Сообщение от Jurlique Посмотреть сообщение
for (int i = 0; i < str.lenght; i++)
Yandex
Объявления
09.12.2013, 20:04     Связать программу
Ответ Создать тему
Опции темы

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