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

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

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

Ошибка при компиляции, нужно чтобы программа сделала выбор - C++

20.07.2012, 10:39. Просмотров 493. Ответов 11
Метки нет (Все метки)

Здравствуйте. Пытаюсь решить формулу (вычислить высоту треугольника) с помощью С++, не могу сделать так чтобы программа сделала выбор когда вводишь два символа (буквы) в переменную s, например вводишь ha, программа выводит одно сообщение, вводишь hb другое и т. д. У меня в коде стоит тип данных char, я понимаю что он поддерживает только один символ, пытался с помощью string (наверное это совсем криво), не получилось.
В общем подскажите какой тип данных использовать и в принципе как решить эту проблему. В место вывода ha, hb ... на экран, в дальнейшем буду давать другие инструкции относительно формулы.
Если вопрос не коректный, то извините я в изучаю программу не более 4, 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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
#include <math.h>
#include <string>
using namespace std;
 
 
int main()
{
    setlocale(0,"");
 
    float a, b, c, p, h;
     char s;
 
 
    cout<<"Введите размеры сторон треугольника"<<endl;
    cout<<"Введите сторону а"<<endl;
    cin>>a;
    cout<<"Введите сторону b"<<endl;
    cin>>b;
    cout<<"Введите сторону c"<<endl;
    cin>>c;
    cout<<"Введите искомую высоту треугольника, например ha, hb, hc"<<endl;
    cin>>s;
 
    if ( s =='ha')
        cout<<"ha";
    else if  (s == 'hb')
    cout<<"hb";
    else if (s=='hc')
        cout<<"hc";
    else
        {cout<<"error";
    return 0;
}
    
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.07.2012, 10:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка при компиляции, нужно чтобы программа сделала выбор (C++):

Что нужно изменить чтобы при подсчете количества обменов программа подсчитывала не один алгоритм сортировки - C++
#include &lt;stdio.h&gt; //Подключение заголовочного файла библиотеки ввода/вывода #include &lt;locale.h&gt; //Подключение заголовочного файла...

Выбор кода при компиляции - C++
Здравствуйте! Столкнулся с почти аналогичной проблемой, как и описанная в данной статье: ...

Ошибка при компиляции. Где ошибка? (Работа с классом) - C++
Уважаемые форумчане! При компиляции проекта возникает ошибка &quot; undefined reference to `MeterNZiF::MeterNZiF()' &quot; на 7 строку приложения. ...

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

Не является внутренней или внешней командой - ошибка не при компиляции а при работе программы - C++
В VS скомпилировал код #include &lt;iostream&gt; using namespace std; int main() { int a; cout&lt;&lt;&quot;Hallo&quot;; cin&gt;&gt;a; cout&lt;&lt;a; ...

Использование шаблонов при наследовании, ошибка при компиляции - C++
При изучении списков написал шаблон протестировал, все работает. После написал класс наследник от шаблона List.h, компилятор выдает...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Troll_Face
600 / 400 / 4
Регистрация: 26.04.2012
Сообщений: 2,070
20.07.2012, 11:04 #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
26
27
28
29
30
31
32
33
#include <iostream>
#include <math.h>
using namespace std;
 
 
int main()
{
setlocale(0,"");
 
float a, b, c, p, h;
char s[3];
 
 
cout<<"Введите размеры сторон треугольника"<<endl;
cout<<"Введите сторону а"<<endl;
(cin>>a).get();
cout<<"Введите сторону b"<<endl;
(cin>>b).get();
cout<<"Введите сторону c"<<endl;
(cin>>c).get();
cout<<"Введите искомую высоту треугольника, например ha, hb, hc"<<endl;
cin.get(s, 2);
 
if ( s[1] =='a')
cout<<"ha";
else if (s[1] == 'b')
cout<<"hb";
else if (s[1]=='c')
cout<<"hc";
else
cout<<"error";
return 0;
}
не тестировал, но должно пойти.

Добавлено через 3 минуты
Цитата Сообщение от _Student_ Посмотреть сообщение
Если вопрос не коректный, то извините я в изучаю программу не более 4, 5-ти дней.
по какой книге?
0
Fooly
21 / 17 / 1
Регистрация: 26.03.2012
Сообщений: 147
20.07.2012, 11:04 #3
Со string у меня работает, возможно подойдёт тебе
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
#include <iostream>
 #include <math.h>
 #include <string>
 using namespace std;
 
 
 int main()
 {
 setlocale(0,"");
 
 float a, b, c, p, h;
 string s;
 
 
 cout<<"Введите размеры сторон треугольника"<<endl;
 cout<<"Введите сторону а"<<endl;
 cin>>a;
 cout<<"Введите сторону b"<<endl;
 cin>>b;
 cout<<"Введите сторону c"<<endl;
 cin>>c;
 cout<<"Введите искомую высоту треугольника, например ha, hb, hc"<<endl;
 cin>>s;
 
 if ( s =="ha")
 cout<<"ha";
 else if (s == "hb")
 cout<<"hb";
 else if (s=="hc")
 cout<<"hc";
 else
 cout<<"error";
 
 for(int i=0; i<100; i++) // этот кусок не обязателен, я его прописываю, чтобы консоль не закрывалсь при нажатиях Enter
     cin.get();       // по-другому не умею =)
 return 0;
 }
0
Troll_Face
600 / 400 / 4
Регистрация: 26.04.2012
Сообщений: 2,070
20.07.2012, 11:05 #4
Цитата Сообщение от Fooly Посмотреть сообщение
for(int i=0; i<100; i++)
* * *cin.get();
нафигаааа????
0
Fooly
21 / 17 / 1
Регистрация: 26.03.2012
Сообщений: 147
20.07.2012, 11:08 #5
Цитата Сообщение от Fatal Error Посмотреть сообщение
нафигаааа????
Да что ж вы все спрашиваете Таким образом я защищаюсь от закрытия консоли при нажатии Enter. И да я люблю извращенный код
0
Troll_Face
600 / 400 / 4
Регистрация: 26.04.2012
Сообщений: 2,070
20.07.2012, 11:10 #6
Цитата Сообщение от Fooly Посмотреть сообщение
Таким образом я защищаюсь от закрытия консоли при нажатии Enter
а систем паусе чем не устраивает? зачем цикл из 100 итераций делать?
0
Fooly
21 / 17 / 1
Регистрация: 26.03.2012
Сообщений: 147
20.07.2012, 11:13 #7
Цитата Сообщение от Fatal Error Посмотреть сообщение
а систем паусе чем не устраивает? зачем цикл из 100 итераций делать?
мне так удобнее я не помню, но чем-то систем паус на первых порах меня не устраивал, когда начал читать Прату, а такой способ ничем меня не огорчил пока
0
_Student_
0 / 0 / 0
Регистрация: 19.07.2012
Сообщений: 14
20.07.2012, 11:32  [ТС] #8
"по какой книге? "
Не по какой, сам придумал. Спасибо, сейчас буду проверять.

Добавлено через 7 минут
Со string работает, когда я пробовал я просто писал в одинарных кавычках ( s == 'ha') - тупонул. Спасибо большое, очень оперативно.
0
Troll_Face
600 / 400 / 4
Регистрация: 26.04.2012
Сообщений: 2,070
20.07.2012, 12:50 #9
Цитата Сообщение от _Student_ Посмотреть сообщение
Со string работает
пардон
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
#include <iostream>
#include <math.h>
using namespace std;
 
 
int main()
{
setlocale(0,"");
 
float a, b, c, p, h;
char s[3];
 
 
cout<<"Введите размеры сторон треугольника"<<endl;
cout<<"Введите сторону а"<<endl;
(cin>>a).get();
cout<<"Введите сторону b"<<endl;
(cin>>b).get();
cout<<"Введите сторону c"<<endl;
(cin>>c).get();
cout<<"Введите искомую высоту треугольника, например ha, hb, hc"<<endl;
cin.get(s, 3);
 
if ( s[1] =='a')
cout<<"ha";
else if (s[1] == 'b')
cout<<"hb";
else if (s[1]=='c')
cout<<"hc";
else
cout<<"error";
return 0;
}
0
_Student_
0 / 0 / 0
Регистрация: 19.07.2012
Сообщений: 14
20.07.2012, 13:05  [ТС] #10
Я имел ввиду - код сам придумал, а насчет по какой книге, то я смотрю видео всякое, что не понятно гуглю, а если совсем не понятно, то вот тему создал. Пытаюсь практиковаться на придумывании простеньких программ, постепенно усложняя.
0
Troll_Face
600 / 400 / 4
Регистрация: 26.04.2012
Сообщений: 2,070
20.07.2012, 15:33 #11
_Student_, плохая затея, теория на первых порах необходима...
0
_Student_
0 / 0 / 0
Регистрация: 19.07.2012
Сообщений: 14
20.07.2012, 15:56  [ТС] #12
Я относительно теории практикуюсь. Прошол (изучил) материал, применяю на практике.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.07.2012, 15:56
Привет! Вот еще темы с ответами:

программа выдает ошибку при компиляции - C++
подскажите, пожалуста, в чем ошибка..При компиляции выскакивает ошибка undefined reference to 'Obrabotchik::SetListContinents()' ...

Как собирается программа при компиляции - C++
Привет всем опытным и не очень программерам! :good: Хочу разобраться с процессом компиляции прогарммы. А конкретнее, что делается...

При компиляции ошибка. Ошибка c++ C2678 - C++
Ошибка c++ C2678 #include &lt;windows.h&gt; #include &lt;string&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;fstream&gt; #include...

Много файловая программа ошибки при компиляции - C++
Вроде всё правильно делаю но не работает. Ниже интерфейсы приведены! func.cpp #include&quot;resurse.h&quot; void put(int x) { ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.07.2012, 15:56
Ответ Создать тему
Опции темы

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