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

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

Восстановить пароль Регистрация
 
bomba
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 5
27.11.2014, 00:20     Помогите найти ошибку: функция замены символа в строке #1
При вводе символа '!' функция 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     Помогите найти ошибку: функция замены символа в строке
Посмотрите здесь:

Помогите найти ошибку C++
C++ Функция для определения% содержания символа в строке
C++ Выдает ошибку в строке cin»n; помогите разобраться?
C++ В строке найти и вывести на экран все слова длиною в три символа
C++ Найти в строке подстроку от символа 'm' до 'n'
C++ Помогите найти ошибку в коде. Функция exit
Для каждого символа исходной строки найти число вхождений его в строке C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Zedapp
 Аватар для Zedapp
29 / 29 / 12
Регистрация: 15.11.2014
Сообщений: 167
27.11.2014, 00:43     Помогите найти ошибку: функция замены символа в строке #2
Цитата Сообщение от bomba Посмотреть сообщение
Затупил, все понял сам, удалите тему.
Я конечно сам новичок на форуме, но мне кажется было бы приятно всем тем, кто столкнется с этой проблемой, не создавать новую, а почитать твою. Так что прошу, если можешь выложи, до чего дошёл и как исправил. Всем будет хорошо и приятно.
Dennis Ritchie
 Аватар для Dennis Ritchie
546 / 138 / 29
Регистрация: 27.07.2014
Сообщений: 2,444
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;
}
Yandex
Объявления
27.11.2014, 00:51     Помогите найти ошибку: функция замены символа в строке
Ответ Создать тему
Опции темы

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