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

Определить наличие восклицательного знака в вводимой строке - C++

Восстановить пароль Регистрация
 
niikiita
3 / 3 / 0
Регистрация: 29.05.2013
Сообщений: 223
01.07.2014, 17:00     Определить наличие восклицательного знака в вводимой строке #1
Вводится набор символов, если есть восклицательный знак, выводится true, если нет - false.
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 "stdafx.h"
#include <iostream>
 
using namespace std;
 
int main() 
{ 
    char k[10];
    char a = '!';
    int i = 0, n;
        cin >> k;
    do
    {
        if(k[i] = a)
            n = 1;
        else
            i++;
    }while( i <= 9 && n != 1);
    if (n == 1)
        cout << "true" << endl;
    else 
        cout << "false" << endl;
    system("Pause");
        
}
Помогите в чем ошибка?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2014, 17:00     Определить наличие восклицательного знака в вводимой строке
Посмотрите здесь:

Необходимо чтобы функция new добавляла к строке 3 знака восклицания C++
C++ Написать функцию целого типа, определяющую наличие в первой строке матрицы наличие седловой точки.
C++ Строка: В строке символов, вводимой с клавиатуры, вычислить количество разных цифр.
C++ Определить одного ли знака, два числа,вводимые с клавиатуры
Подсчитать в вводимой строке количество введенных символов, отличных от пробела. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
01.07.2014, 17:14     Определить наличие восклицательного знака в вводимой строке #2
Это мы у Вас должны спросить в чём ошибка. Что пишет компилятор? Что происходит, если она вдруг компилируется? Или это мы должны делать?
niikiita
3 / 3 / 0
Регистрация: 29.05.2013
Сообщений: 223
01.07.2014, 17:19  [ТС]     Определить наличие восклицательного знака в вводимой строке #3
Цитата Сообщение от Тамика Посмотреть сообщение
Это мы у Вас должны спросить в чём ошибка. Что пишет компилятор? Что происходит, если она вдруг компилируется? Или это мы должны делать?
КОмпилируется, всегда пишет true. Даже если нету '!'
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
01.07.2014, 17:24     Определить наличие восклицательного знака в вводимой строке #4
Как минимум, проверка равности делается через двойное равно.

Добавлено через 27 секунд
C++
1
if(k[i] = a)
А это просто присвоение.

Добавлено через 57 секунд
А что Вы делаете в вайле вообще непонятно...
palva
 Аватар для palva
2373 / 1595 / 190
Регистрация: 08.06.2007
Сообщений: 6,364
Записей в блоге: 4
01.07.2014, 17:25     Определить наличие восклицательного знака в вводимой строке #5
Вот это заметил:
Цитата Сообщение от niikiita Посмотреть сообщение
if(k[i] = a)
C++
1
if(k[i] == a)
niikiita
3 / 3 / 0
Регистрация: 29.05.2013
Сообщений: 223
01.07.2014, 17:30  [ТС]     Определить наличие восклицательного знака в вводимой строке #6
Добавлено через 1 минуту
Цитата Сообщение от palva Посмотреть сообщение
1
if(k[i] == a)
Вот оно! Спасибо
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
01.07.2014, 17:30     Определить наличие восклицательного знака в вводимой строке #7
Цитата Сообщение от niikiita Посмотреть сообщение
==: оператор не имеет результата; возможно, имелся в виду "="
C++
1
n == 1;
Вы же здесь сравниваете n. А чему она равна изначально?
C++
1
int i = 0, n;
А ничему!
palva
 Аватар для palva
2373 / 1595 / 190
Регистрация: 08.06.2007
Сообщений: 6,364
Записей в блоге: 4
01.07.2014, 17:30     Определить наличие восклицательного знака в вводимой строке #8
Не туда вставили двойное равно.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2014, 17:33     Определить наличие восклицательного знака в вводимой строке
Еще ссылки по теме:

Найти в строке цифры, идущие после знака &, и вывести их C++
Определить в строке количество пробелов до первого восклицательного знака C++

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

Или воспользуйтесь поиском по форуму:
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
01.07.2014, 17:33     Определить наличие восклицательного знака в вводимой строке #9
Цитата Сообщение от niikiita Посмотреть сообщение
Вот оно! Спасибо
А, понятно. Не туда сунули, не то получилось. Прочитайте что такое сравнивание, а что такое присвоение прежде чем голову морочить.

Добавлено через 1 минуту
Цитата Сообщение от palva Посмотреть сообщение
Не туда вставили двойное равно.
Да вот вроде ж даже выделила строчку. Всё равно не дошло почему-то. Посунулся в n = 1.
Yandex
Объявления
01.07.2014, 17:33     Определить наличие восклицательного знака в вводимой строке
Ответ Создать тему
Опции темы

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