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

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

Войти
Регистрация
Восстановить пароль
 
niikiita
3 / 3 / 0
Регистрация: 29.05.2013
Сообщений: 226
#1

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

01.07.2014, 17:00. Просмотров 272. Ответов 8
Метки нет (Все метки)

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

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

Замена в строке восклицательного знака на точку - C++
Надо написать функцию которает поменяет влюбом тексте все &quot;!&quot; знаки на &quot;.&quot; надо использовать указатели.

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

Почему не считает количество символов во вводимой строке? - C++
do { i = getchar(); cnt++; } while (i != EOF); printf_s(&quot;%d&quot;, cnt);

Подсчитать в вводимой строке количество введенных символов, отличных от пробела. - C++
С клавиатуры вводятся символы до тех пор, пока не встретится конец предложения. Концом предложения считать символы : ! ?. Подсчитать...

Строка: В строке символов, вводимой с клавиатуры, вычислить количество разных цифр. - C++
Пожалуйста, помогите решить задачу. В строке символов вводимой с клавиатуры, вычислить количество разных цифр.

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

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

Добавлено через 57 секунд
А что Вы делаете в вайле вообще непонятно...
0
palva
2614 / 1836 / 263
Регистрация: 08.06.2007
Сообщений: 6,994
Записей в блоге: 4
01.07.2014, 17:25 #5
Вот это заметил:
Цитата Сообщение от niikiita Посмотреть сообщение
if(k[i] = a)
C++
1
if(k[i] == a)
0
niikiita
3 / 3 / 0
Регистрация: 29.05.2013
Сообщений: 226
01.07.2014, 17:30  [ТС] #6
Добавлено через 1 минуту
Цитата Сообщение от palva Посмотреть сообщение
1
if(k[i] == a)
Вот оно! Спасибо
0
Тамика
Котовчанин
870 / 450 / 143
Регистрация: 16.02.2010
Сообщений: 2,978
Записей в блоге: 27
01.07.2014, 17:30 #7
Цитата Сообщение от niikiita Посмотреть сообщение
==: оператор не имеет результата; возможно, имелся в виду "="
C++
1
n == 1;
Вы же здесь сравниваете n. А чему она равна изначально?
C++
1
int i = 0, n;
А ничему!
0
palva
2614 / 1836 / 263
Регистрация: 08.06.2007
Сообщений: 6,994
Записей в блоге: 4
01.07.2014, 17:30 #8
Не туда вставили двойное равно.
0
Тамика
Котовчанин
870 / 450 / 143
Регистрация: 16.02.2010
Сообщений: 2,978
Записей в блоге: 27
01.07.2014, 17:33 #9
Цитата Сообщение от niikiita Посмотреть сообщение
Вот оно! Спасибо
А, понятно. Не туда сунули, не то получилось. Прочитайте что такое сравнивание, а что такое присвоение прежде чем голову морочить.

Добавлено через 1 минуту
Цитата Сообщение от palva Посмотреть сообщение
Не туда вставили двойное равно.
Да вот вроде ж даже выделила строчку. Всё равно не дошло почему-то. Посунулся в n = 1.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2014, 17:33
Привет! Вот еще темы с ответами:

Вывести предупреждение, если в вводимой строке первое и последнее слово одинаковое. - C++
Сижу вторые сутки уже над этим...Надо в общем вывести на экран предупреждение, если в вводимой строке первое и последнее слово одинаковое....

Необходимо чтобы функция new добавляла к строке 3 знака восклицания - C++
Всем привет! Необходимо чтобы функция new добавляла к строке 3 знака восклицания. Так как расширить старый массив мы не можем, нужно...

Как найти количество символов в строке до определённого знака? - C++
есть много разных строк. как в них найти количество символов до определенного знака? в моем случае до : понимаю, что нужен цикл ...

Проверка на наличие символа '\' в строке - C++
VS2015 if (a == '\').... и начинается веселье... почему попытка проверить что символ является '\' выдается ошибка?


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

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

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