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

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

Войти
Регистрация
Восстановить пароль
 
 
Warrior3579
5 / 5 / 1
Регистрация: 15.03.2013
Сообщений: 189
#1

Что не так? - C++

21.09.2013, 15:50. Просмотров 435. Ответов 15
Метки нет (Все метки)

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
#include <iostream>
using namespace std;
int main() {
    char yes[3];
    char no[4];
    int p=2;
    no[p];
    cout << "Privet!" << endl;
    cout << "kak zvat?" << endl;
    char x[20]; // Переменная для ввода имени
    cin >> x; // Ввод имени
    cout << x << " krasivoe imya, a menia zavut Kompashka :)" << endl;
    cout << "menia tak nazval Azamat" << endl;
    cout << "nu, pristupim?" << endl;
    cin >> yes; // Ответ
    if(yes!=no) {
        cout << "5*5 skolko?" << endl;
        int i=25;
        int e;
        cin >> e;
        e==i?cout << "Ti corova nomer 5 ha-ha-ha!!!" << endl:cout << "uchi tablic umnojenia" << endl;
    }
    else {
        cout << "Pochemu?" << endl;
        cout << "Davay " << x << " soglashaisya"  << endl;
        cin >> yes;
        yes>no?cout << "5*5 skolko?" << endl:cout << "Ladno poca!" << endl;
    }
    cin.get();
    return 0;
}
Два чеса просидел переставил но неполучается. Я хочу что бы шол опрос но вот когда ввожу меньшее число чем "no" окно закрывается то выводид "5*5 skolko?" где я ошибаюся плиз знатоки помогите.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2013, 15:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Что не так? (C++):

Как сделать так что я мог умножать не на два числа а на 3,4,5 и так далее? - C++
Вот код: #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main(){ float a,c; char b; skip: ...

Что в коде ни так? while не работает так, как ожидаю - C++
Написанный код, как я думаю, должен выдавать цифры от 0 до 1000, столбиком. Но выдает начиная от 702 до 1000. Что ни так понимаю, где...

Что-то не то с Майкрсофт визуал студио 2010 или я что-то не так делаю - C++
Дело в том что при запуске вот этой программы: #include &lt;iostream&gt; using namespace std; int main () { for (int i=100; i&lt;=999;...

Что в программе делает так, что процессор грузится на 100%? - C++
Я не очень разбираюсь в С++, поэтому прошу вашей подсказки по поводу нагрузки на процессор. Вот код программы, на компьютере жрет всю...

Список: Что не так с выводом списка, потому что выводится какой-то мусор? - C++
#include &lt;iostream&gt; using namespace std; struct point { int data;//информационное поле-это даннные объявленного или используемого...

Как сделать так,что бы при введение,например 0;0 выдавалось сообщение,что точка находится на границе? - C++
#include &lt;iostream&gt; using namespace std; int main(){ double x, y; int R=10 cout &lt;&lt; &quot;Введите x: &quot; &lt;&lt;...

15
Нету имени
177 / 22 / 2
Регистрация: 16.05.2013
Сообщений: 181
21.09.2013, 15:59 #2
Цитата Сообщение от Warrior3579 Посмотреть сообщение
no[p];
7 строка, не понял зачем это

Добавлено через 1 минуту
в виду того что в 5 строке
Цитата Сообщение от Warrior3579 Посмотреть сообщение
char no[4];
вы уже обьявили размер массива
0
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
21.09.2013, 16:01 #3
Цитата Сообщение от Warrior3579 Посмотреть сообщение
no[p];
это зачем?
0
Нету имени
177 / 22 / 2
Регистрация: 16.05.2013
Сообщений: 181
21.09.2013, 16:01 #4
16 строка
Цитата Сообщение от Warrior3579 Посмотреть сообщение
if(yes!=no)
а что должен if, сравнивать, они же пустые, точнее
переменная no пустая
0
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
21.09.2013, 16:02 #5
Цитата Сообщение от Warrior3579 Посмотреть сообщение
if(yes!=no) {
плюс ко всему - так строки не сравнивают, strcmp
0
Нету имени
177 / 22 / 2
Регистрация: 16.05.2013
Сообщений: 181
21.09.2013, 16:05 #6
27 строка
Цитата Сообщение от Warrior3579 Посмотреть сообщение
yes>no
зачем проверять, что "да" больше "нет", ввиду того что они символьные переменные?
0
Warrior3579
5 / 5 / 1
Регистрация: 15.03.2013
Сообщений: 189
21.09.2013, 16:19  [ТС] #7
Цитата Сообщение от Нету имени Посмотреть сообщение
7 строка, не понял зачем это

Добавлено через 1 минуту
в виду того что в 5 строке

вы уже обьявили размер массива
В 5-ой строке открыт масив с обемом в 3 символа а в 7-ой строке масив заполняется

Добавлено через 2 минуты
Цитата Сообщение от Нету имени Посмотреть сообщение
16 строка

а что должен if, сравнивать, они же пустые, точнее
переменная no пустая
В переменной(масиве) no 2 тоездь no[p] если с клавы было введено больше двух символов(например yes) то true а если меньше else

Добавлено через 2 минуты
Цитата Сообщение от Нету имени Посмотреть сообщение
27 строка

зачем проверять, что "да" больше "нет", ввиду того что они символьные переменные?
Пересмотрите программу, если да задает вопрос(другое деиствие) если нет то другой вопрос

Добавлено через 1 минуту
Цитата Сообщение от Кудаив Посмотреть сообщение
плюс ко всему - так строки не сравнивают, strcmp
Почему? И я пробовал вариант ">".
0
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
21.09.2013, 16:24 #8
Цитата Сообщение от Warrior3579 Посмотреть сообщение
Почему? И я пробовал вариант ">".
строка представляет собой адрес и сравнение
C++
1
2
3
char* yes = "Yes";
char* no = "No";
yes > no;
это сравнение адресов, надо делать

C++
1
2
3
4
5
#include <cstring>
...
char* yes = "Yes";
char* no = "No";
strcmp(yes, no);
1
Нету имени
177 / 22 / 2
Регистрация: 16.05.2013
Сообщений: 181
21.09.2013, 16:25 #9
Цитата Сообщение от Warrior3579 Посмотреть сообщение
В 5-ой строке открыт масив с обемом в 3 символа а в 7-ой строке масив заполняется
в 5 строке открыт массив, а в 7ой строке идёт работа с её 3им элементом, и ничем она не заполняется
1
Warrior3579
5 / 5 / 1
Регистрация: 15.03.2013
Сообщений: 189
21.09.2013, 16:29  [ТС] #10
Цитата Сообщение от Кудаив Посмотреть сообщение
строка представляет собой адрес и сравнение
C++
1
2
3
char* yes = "Yes";
char* no = "No";
yes > no;
это сравнение адресов, надо делать

C++
1
2
3
4
5
#include <cstring>
...
char* yes = "Yes";
char* no = "No";
strcmp(yes, no);
strcmp надо в поисковик сесть...
0
Warrior3579
5 / 5 / 1
Регистрация: 15.03.2013
Сообщений: 189
21.09.2013, 16:32  [ТС] #11
Цитата Сообщение от Нету имени Посмотреть сообщение
в 5 строке открыт массив, а в 7ой строке идёт работа с её 3им элементом, и ничем она не заполняется
А как ее заполнить(что я не так понял) и какой вариант можно к замысу прелоставить? Буду благодарен.
Блин я свою книгу с ночала и до масивов 5-й раз перечитываю и никак немогу продвинуться в этой главе (((
0
Нету имени
177 / 22 / 2
Регистрация: 16.05.2013
Сообщений: 181
21.09.2013, 16:37 #12
Warrior3579,
Цитата Сообщение от Warrior3579 Посмотреть сообщение
А как ее заполнить
Ну повсей видимости программа ждёт от пользователя, ввода "yes" или "no", в 5 строке обьявили массив
no[] = "no", где массив будет состоять из 3 символов( при этом массив считается заполненым, так как при обращении ,допустим, std::cout << no[1] << std::endl, мы на выводе получим символ 'o'
или как у вас вариант
в 5 строке обьявим массив из 5 элементов no[4]
а в 7 строке заполним no = "no"

Не по теме:

как-то так

1
Warrior3579
5 / 5 / 1
Регистрация: 15.03.2013
Сообщений: 189
21.09.2013, 17:33  [ТС] #13
Блин, теперь все работает но после ответа на вопрос "5*5 skolko?" и "Davay ___ soglashaisya" окно закрывается необесуите за тупые вопросы но как правильно паузы выставить?
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>
using namespace std;
int main() {
    char yes[]="yes";
    char no[]="no";
    cout << "Privet!" << endl;
    cout << "kak zvat?" << endl;
    char x[20]; // Переменная для ввода имени
    cin >> x; // Ввод имени
    cout << x << " krasivoe imya, a menia zavut Kompashka :)" << endl;
    cout << "menia tak nazval Azamat" << endl;
    cout << "nu, pristupim?" << endl;
    cin >> yes; // Ответ
    if( strcmp(yes, "yes")) //Сравнение символов
    {
        cout << "Pochemu?" << endl;
        cout << "Davay " << x << " soglashaisya"  << endl;
        cin >> yes;
        if( strcmp(no, "no"))
        {
            cout << "5*5 skolko?" << endl;
        }
        else
        {
            cout << "Ladno poca!" << endl;
        }
    }
    else {
        cout << "5*5 skolko?" << endl;
        int i=25;
        int e;
        cin >> e;
        e==i?cout << "Ti corova nomer 5 ha-ha-ha!!!" << endl:cout << "uchi tablic umnojenia" << endl;
    }
    cin.get();
    return 0;
}
0
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
21.09.2013, 17:35 #14
C++
1
2
3
4
5
#include <cstdlib>
system("pause");
 
#include <iostream>
std::cin.get();
1
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.09.2013, 17:41 #15
Вот такую конструкцию, для cin >>, используйте:
C++
1
(cin >> a).get();
Будет меньше проблем (и в вашем коде остановка сработает).
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2013, 17:41
Привет! Вот еще темы с ответами:

Лучший интерактивный самоучитель с++, но так понравился, что думаю, а что если после python изучать с++? - C++
http://academy.cppstudio.com/courses/ 1.) поделитесь опытом после какого языка вы перешли на с++. 2.) Что вам нравится/не очень в языке...

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

что не так? - C++
выполняется бесконечно, почему? #include &lt;iostream&gt; using namespace std; int matrix,i,j; int main() {

Что не так? - C++
Помогите пожалуйста задание в документе вот код что в нём не так? #include&lt;iostream&gt; #include&lt;math.h&gt; #include&lt;iomanip&gt; ...


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

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

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