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

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

Войти
Регистрация
Восстановить пароль
 
ProProger
6 / 2 / 0
Регистрация: 19.09.2012
Сообщений: 95
#1

Не могу дописать программу преобразующую слова в цифры - C++

07.11.2012, 13:41. Просмотров 1124. Ответов 9
Метки нет (Все метки)

Здравствуйте форумчане у меня есть к вам вопрос насчет одной программы.

Задача: Напишите программу, преобразующую слова "нуль", "два" и т.д в цифры 0, 2 и т.д. Когда пользователь вводит число в виде слова, программа должна вывести на экран соответствующую цифру. Выполните эту программу для цифр 0, 1, 2, 3 и 4. Если пользователь введет что-нибудь другое например фразу "глупый компьютер!", программа должна ответить "Я не знаю такого числа!"

Я решил ее так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "std_lib_facilities.h"
int main()
{
    setlocale( LC_ALL,"Russian" );
    string slovo;
    cout << "Введите слово\n";
    cin >> slovo;
    if(slovo == "nul")
        cout << "0";
    if(slovo == "odin")
        cout << "1";
    if(slovo == "dva")
        cout << "2";
    if(slovo == "tri")
        cout << "3";
    if(slovo == "cetire")
        cout << "4";
    system("pause");
    return 0;
}
Но вот в чем загвоздка нужно еше чтобы программа отвечала что не знает такого числа если ввожу что то другое если тут else применить то оно только к одному if применится. Так вот могли бы вы написать как решить эту программу чтобы соблюдалось условие "Если пользователь введет что-нибудь другое например фразу "глупый компьютер!", программа должна ответить "Я не знаю такого числа!""

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

Я новичок , не могу дописать программу - C++
Найти ту непрерывную последовательность положительных чисел, сумма элементов в которой максимальная. Подсказка:В цикле идешь по массиву и...

Не могу дописать программу. Двумерный массив - C++
Дана целочисленная прямоугольная матрица. Определить количество строк, содержащих хотя бы один нулевой элемент, и номер столбца, в...

не могу дописать программу! осталось условие на нахождение наибольшего из трёх чисел! - C++
Помогите дописать программу #include &lt;iostream.h&gt; #include &lt;math.h&gt; void main() { int a,b,c,d; cout &lt;&lt;&quot;\n Vvedite 1oe chislo: &quot;;...

Нужно написать программу преобразующую данные в машинный вид - C++
Нужно написать маленькую программку которая преобразует разные типы данных в машинный код (двоичной системе счисления)..... Тоесть с...

не могу дописать функцию перевода текста на 2сс,не могу возвращать переведенный текст - C++
void itoa(char str){ int i; char buf; char url; char yn; int x=0; i=0; while(str){ _itoa_s( (unsigned char)str, buf, 2);...

Заменить слова обозначающие цифры на цифры (от 1 до 9) - C++
Дорогие друзья, помогите! Нужно написать программу, заменяющую, в выбранном мной текстовом файле, слова, обозначающие цифры, на сами цифры...

9
strange_man
9 / 9 / 0
Регистрация: 17.05.2012
Сообщений: 118
07.11.2012, 13:44 #2
а оператор switch?
1
ProProger
6 / 2 / 0
Регистрация: 19.09.2012
Сообщений: 95
07.11.2012, 13:50  [ТС] #3
Цитата Сообщение от strange_man Посмотреть сообщение
а оператор switch?
Читаю "Программирование. Принципы и практика использования C++" уже на 119 странице и первый раз про такой слышу а можно как то if'ами и else'ами?
0
sanchoflat
4 / 6 / 1
Регистрация: 05.11.2011
Сообщений: 97
07.11.2012, 13:58 #4
ну так else и используй
C++
1
2
3
4
5
6
7
8
9
10
11
12
string slovo;
cout << "Введите слово\n";
cin >> slovo;
 if(slovo == "nul")
  cout << "0";
else if ( slovo == "odin" )
cout<<"1";
else if() ..
....
...
else  
cout << "такого числа нет";
1
strange_man
9 / 9 / 0
Регистрация: 17.05.2012
Сообщений: 118
07.11.2012, 14:02 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "std_lib_facilities.h"
int main()
{
    setlocale( LC_ALL,"Russian" );
    string slovo;
    cout << "Введите слово\n";
    cin >> slovo;
 
    if(slovo == "nul")
        cout << "0";
    else if(slovo == "odin")
        cout << "1";
    else if(slovo == "dva")
        cout << "2";
    else if(slovo == "tri")
        cout << "3";
    else if(slovo == "cetire")
        cout << "4";
    else 
        cout << "Я не знаю такого числа!" << endl;
    system("pause");
    return 0;
}
1
ProProger
6 / 2 / 0
Регистрация: 19.09.2012
Сообщений: 95
07.11.2012, 14:02  [ТС] #6
Цитата Сообщение от sanchoflat Посмотреть сообщение
ну так else и используй
C++
1
2
3
4
5
6
7
8
9
10
11
12
string slovo;
cout << "Введите слово\n";
cin >> slovo;
 if(slovo == "nul")
  cout << "0";
else if ( slovo == "odin" )
cout<<"1";
else if() ..
....
...
else  
cout << "такого числа нет";
Блин чето я не допер как все это работает?
1
ProProger
6 / 2 / 0
Регистрация: 19.09.2012
Сообщений: 95
07.11.2012, 14:04  [ТС] #7
Цитата Сообщение от strange_man Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "std_lib_facilities.h"
int main()
{
    setlocale( LC_ALL,"Russian" );
    string slovo;
    cout << "Введите слово\n";
    cin >> slovo;
 
    if(slovo == "nul")
        cout << "0";
    else if(slovo == "odin")
        cout << "1";
    else if(slovo == "dva")
        cout << "2";
    else if(slovo == "tri")
        cout << "3";
    else if(slovo == "cetire")
        cout << "4";
    else 
        cout << "Я не знаю такого числа!" << endl;
    system("pause");
    return 0;
}
ага спс а если я так сделал(сам) это плохо:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "std_lib_facilities.h"
int main()
{
    setlocale( LC_ALL,"Russian" );
    string slovo;
    cout << "Введите слово\n";
    cin >> slovo;
    if(slovo == "nul")
        cout << "0";
    if(slovo == "odin")
        cout << "1";
    if(slovo == "dva")
        cout << "2";
    if(slovo == "tri")
        cout << "3";
    if(slovo == "cetire")
        cout << "4";
    if(slovo != "nul" && slovo != "odin" && slovo != "dva" && slovo != "tri" && slovo != "cetire")
        cout << "Я незнаю такого числа";
    system("pause");
    return 0;
}
0
sanchoflat
4 / 6 / 1
Регистрация: 05.11.2011
Сообщений: 97
07.11.2012, 14:05 #8
можно, но тебе приходится перечислять все возможные цифры, а так - лишний else
1
strange_man
9 / 9 / 0
Регистрация: 17.05.2012
Сообщений: 118
07.11.2012, 14:06 #9
Цитата Сообщение от ProProger Посмотреть сообщение
ага спс а если я так сделал(сам) это плохо:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "std_lib_facilities.h"
int main()
{
    setlocale( LC_ALL,"Russian" );
    string slovo;
    cout << "Введите слово\n";
    cin >> slovo;
    if(slovo == "nul")
        cout << "0";
    if(slovo == "odin")
        cout << "1";
    if(slovo == "dva")
        cout << "2";
    if(slovo == "tri")
        cout << "3";
    if(slovo == "cetire")
        cout << "4";
    if(slovo != "nul" && slovo != "odin" && slovo != "dva" && slovo != "tri" && slovo != "cetire")
        cout << "Я незнаю такого числа";
    system("pause");
    return 0;
}
да, так больше писанины, и программа будет медленнее работать, потому что будет каждое условие проверять
1
ProProger
6 / 2 / 0
Регистрация: 19.09.2012
Сообщений: 95
07.11.2012, 14:11  [ТС] #10
Цитата Сообщение от sanchoflat Посмотреть сообщение
можно, но тебе приходится перечислять все возможные цифры, а так - лишний else
Цитата Сообщение от strange_man Посмотреть сообщение
да, так больше писанины, и программа будет медленнее работать, потому что будет каждое условие проверять

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

В числе *4**3 дописать три цифры так, чтобы полученное число делилось на 15 - C++
В числе *4**3 дописать три цифры так, чтобы полученное число делилось на 15.

Преобразовать строку таким образом, чтобы цифры каждого слова были перенесены в начало слова без изменения порядка следования их в слове - C++
подскажите в чем ошибка задание:Преобразовать строку таким образом, чтобы цифры каждого слова были перенесены в начало слова без...

Не могу дописать код программы - C++
создать структуру типа: Код: struct employee {char*name; float salary; int stage; }; осуществить поиск элементов в...

В строке после каждого слова дописать ее длину - C++
Консольное приложение Win32 текст задачи: В строке после каждого слова дописать ее длину.


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

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

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