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

Найти ошибку - C++

Восстановить пароль Регистрация
 
Scriptsky
0 / 0 / 0
Регистрация: 09.03.2014
Сообщений: 11
09.03.2014, 23:36     Найти ошибку #1
Не могу понять, что не так в программе, она запускается, но выдает не совсем, то что нужно, а нужно именно преобразовать слова null, one, two, three в числа 0,1,2,3 , но если ввести другое число например four, то вывести
сообщение об ошибке. Моя прога запускается и и преобразовывает слова в числа, но она будет их преобразовывать в эти числа даже если я введу туда любой набор букв. Заранее спасибо за помощь!
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
#include "std_lib_facilities.h"
#include <iostream> 
int main()
{ 
cout << "vvedite chislo\n";
string null;
string one;
string two;
string three;
cin>> null >> one >> two >> three;
if (null==null) cout << "0\n";
else
cout << " Takoe slovo ne naideno\n ";
if  (one==one) cout << "1\n";
else
 cout << " Takoe slovo ne naideno\n ";
if (two==two) cout << "2\n";
else
 cout << " Takoe slovo ne naideno\n ";
if (three==three) cout << "3\n";
else
cout << " Takoe slovo ne naideno\n";
keep_window_open();
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2014, 23:36     Найти ошибку
Посмотрите здесь:

Найти слова, повторяющиеся более одного раза, не могу найти ошибку C++
C++ Массивы. Посчитать количество положительных, найти минимальное, удалить строку с минимальным (Не могу найти ошибку)
C++ Массивы. Найти среднее арифметическое элементов массива, расположенных до максимального элемента (найти ошибку в задании)
найти ошибку(в одномерном массиве найти количество различных элементов) C++
C++ В строках матрицы с отрицательным элементом на главной диагонали найти наибольший из всех элементов (найти ошибку в коде)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Arkaniy
 Аватар для Arkaniy
106 / 106 / 6
Регистрация: 29.08.2012
Сообщений: 452
09.03.2014, 23:57     Найти ошибку #2
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
#include "std_lib_facilities.h"
#include <iostream> 
int main()
{ 
cout << "vvedite chislo\n";
string null;
string one;
string two;
string three;
cin>> null >> one >> two >> three;
if (null=="null") cout << "0\n";
else
cout << " Takoe slovo ne naideno\n ";
if  (one=="one") cout << "1\n";
else
 cout << " Takoe slovo ne naideno\n ";
if (two=="two") cout << "2\n";
else
 cout << " Takoe slovo ne naideno\n ";
if (three=="three") cout << "3\n";
else
cout << " Takoe slovo ne naideno\n";
keep_window_open();
return 0;
}
Extrim88
 Аватар для Extrim88
50 / 50 / 11
Регистрация: 08.02.2013
Сообщений: 189
09.03.2014, 23:57     Найти ошибку #3
Цитата Сообщение от Scriptsky Посмотреть сообщение
if (null==null) cout << "0\n";
Надо сравнивать со строкой:
C++
1
2
if (null == "null")
 cout << "0\n";
По аналогии, остальные сравнения исправьте.
aex
88 / 77 / 29
Регистрация: 06.03.2014
Сообщений: 223
10.03.2014, 00:05     Найти ошибку #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "StdAfx.h"
#include <iostream> 
#include <string>
#include <conio.h>
using namespace std;
int main()
{ 
cout << "vvedite chislo\n";
string s;
cin>>s;
if (!(s.compare("null"))) cout << "0\n";
else
if  (!(s.compare("one"))) cout << "1\n";
else
if (!(s.compare("two"))) cout << "2\n";
else
if (!(s.compare("three"))) cout << "3\n";
else
cout << " Takoe slovo ne naideno\n";
getch();
}
Yandex
Объявления
10.03.2014, 00:05     Найти ошибку
Ответ Создать тему
Опции темы

Текущее время: 20:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru