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

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

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

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

09.03.2014, 23:36. Просмотров 218. Ответов 3
Метки нет (Все метки)

Не могу понять, что не так в программе, она запускается, но выдает не совсем, то что нужно, а нужно именно преобразовать слова 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2014, 23:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти ошибку (C++):

Найти ошибку в программе: в visual studio выдает ошибку - C++
#include &lt;math.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; int main() { double x, E, ypred, y, S; ...

Помогите найти ошибку: По двум сторонам и углу найти все остальное - C++
Доброго времени суток. В универе дали задание написать программу &quot;По двум сторонам и углу между ними в треугольнике АВС найти два остальных...

Найти слова, повторяющиеся более одного раза, не могу найти ошибку - C++
#include &lt;iostream&gt; using namespace std; void obr1(char **s, char **mas, int n, int m) { int i; int k; char *tm; for(i...

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

Найти сумму целых отрицательных чисел удовлетворяющих условию (найти и исправить ошибку в коде) - C++
#include&lt;iostream&gt; #include&lt;math.h&gt; using namespace std; int main() { int y = 0; for(int i = -21; i &lt; -99; i+=3) ...

Массивы. Найти среднее арифметическое элементов массива, расположенных до максимального элемента (найти ошибку в задании) - C++
Препод говорит что тут есть ошибка, но где не говорит, прошу если кото-нибуть заметит сообщите. Ввести одномерный статический массив...

3
Arkaniy
106 / 106 / 6
Регистрация: 29.08.2012
Сообщений: 453
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;
}
0
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";
По аналогии, остальные сравнения исправьте.
1
aex
89 / 78 / 29
Регистрация: 06.03.2014
Сообщений: 230
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();
}
1
10.03.2014, 00:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2014, 00:05
Привет! Вот еще темы с ответами:

Массивы. Посчитать количество положительных, найти минимальное, удалить строку с минимальным (Не могу найти ошибку) - C++
// Заданы матрицы X(8;4),Y(5;5),Z(6;9). // Для каждой из матриц определить строку, в которой находится наименьшее // количество...

В строках матрицы с отрицательным элементом на главной диагонали найти наибольший из всех элементов (найти ошибку в коде) - C++
Помогите найти ошибку! Дана действительная квадратная матрица порядка 10. В строках с отрицательным элементом на главной диагонали найти...

Задача из Златопольского: "Найти числа с известным количеством делителей". Не могу найти ошибку - C++
Здравствуйте. Задача следующая: Найти все целые числа из промежутка от a до b, у которых количество делителей равно k. К примеру я взял...

найти ошибку - C++
Вопрос: что не так? Выводит: error C3861: time: идентификатор не найден Вот собственно программка #include &lt;iostream&gt; #include...


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

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

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