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

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

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

Помогите найти ошибку: функция замены символа в строке - C++

27.11.2014, 00:20. Просмотров 176. Ответов 2
Метки нет (Все метки)

При вводе символа '!' функция shift меняет его на 1, но в цикл передает все равно '!'

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
char Shift(char x){
  if(x=='!')
    x='1';
 return x;
}
int main(){
char m;
m=_getch();
Shift(m);
printf("%c", m);//выводит ! и далее передает его же в цикл
  while(m!='1')
  {
    printf("Ошибка!Выбран неверный пункт.Попробуйте еще раз.\n");
    m=_getch ();
    Shift(m);
  }
return 0;
Надо чтобы передавало 1. Подскажите что делаю не так.

Добавлено через 12 минут
Затупил, все понял сам, удалите тему.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2014, 00:20     Помогите найти ошибку: функция замены символа в строке
Посмотрите здесь:

Помогите найти ошибку в коде. Функция exit - C++
Доброго времени суток! Помогите разобраться, почему в коде(код определяет простое число или нет): #include<iostream> #include...

Функция для замены в строчном массиве одного символа на другой. - C++
Доброго времени суток, программисты! Возникла, значит, проблема: Написал функцию для замены в строчном массиве одного символа на другой....

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

Функция замены слова в строке и символ '/' - C++
Добрый день. Есть такая функция void StrReplace(std::string From, std::string To, std::string& Str){ std::string::size_type pos = 0;...

Функция для определения% содержания символа в строке - C++
Функция подсчитывает %ое содержание прописных символов латинского алфавита от «а» до «z» в заданой строке содержащие англоязычный текст ,...

Функция удаляющая первое и последнее вхождение в строке заданного символа - C++
Функция удаляет первое и последнее вхождение в строке заданного символа.

Выдает ошибку в строке cin»n; помогите разобраться? - C++
#include <iostream.h> #include <stdio.h> #include <conio.h> #include <math.h> struct { int x; int y;} Point; struct ...

Найти в строке подстроку от символа 'm' до 'n' - C++
#include <iostream> #include <stdio.h> #include "string.h" using namespace std; void main(){ char mas="comanda"; char...

Найти первое вхождение символа в строке - C++
Задана числовая строка с разделительным знаком (&) где то посередине. Мне надо получить числа в строке до этого знака, путём нахождения его...

Найти позицию последнего символа двоеточия в строке - C++
Найти позицию последнего символа двоеточия в строке. Выполнить двумя способами Буду рад любой помощи. Сдать нужно до завтра


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Zedapp
43 / 29 / 12
Регистрация: 15.11.2014
Сообщений: 169
27.11.2014, 00:43     Помогите найти ошибку: функция замены символа в строке #2
Цитата Сообщение от bomba Посмотреть сообщение
Затупил, все понял сам, удалите тему.
Я конечно сам новичок на форуме, но мне кажется было бы приятно всем тем, кто столкнется с этой проблемой, не создавать новую, а почитать твою. Так что прошу, если можешь выложи, до чего дошёл и как исправил. Всем будет хорошо и приятно.
Dennis Ritchie
546 / 138 / 29
Регистрация: 27.07.2014
Сообщений: 2,445
27.11.2014, 00:51     Помогите найти ошибку: функция замены символа в строке #3
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
#include <stdio.h>
#include <conio.h>
#include <locale.h>
 
char Shift(char x) {
    x = '1';
    return x;
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    char m;
 
    m = getch();
    while (m != '1') {
        if (m == '!')
            m = Shift(m);
        else {
            printf("%c\nОшибка! Выбран неверный пункт. Попробуйте ещё раз.\n", m);
            m = getch();
        }
    }
 
    return 0;
}
Ответ Создать тему
Опции темы

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