Помогите найти ошибку

 
0
 
C++
ava
vlaenok | 13.11.2016, 17:29
Даны две строки длиной до 80 символов.Заменить в каждой строке один заданный символ на другой заданный символ.Описать в виде функции замену символа в строке.(моя программа меняет только первую букву каждой строки)
#include <iostream>
#include <cstdlib> 
#include <locale>
#include <cstdio>
#include <string>
using namespace std;
char fun(char *str1, char one, char two)
{
for (int i = 0; str1[i]!='\0'; i++)
{
if (str1[i] == one) str1[i] = two;
return *str1;
}
}
char fun2(char *str2, char one, char two)
{
for (int i = 0; str2[i] != '\0'; i++)
{
if (str2[i] == one) str2[i] = two;
return *str2;
}
}
void main()
{
setlocale(LC_ALL, "Russian");
char str1[80];
char str2[80];
char one, two;
cout << "Введите строки " << 1 <<" " << 2 <<endl;
gets_s(str1);
gets_s(str2);
cout << "Введите символ,который нужно заменить" << endl;
cin >> one;
cout << "На что заменить ваш символ?" << endl;
cin >> two;
cout << "Ответ" << endl;
fun(str1, one, two);
fun2(str2, one, two);
for (int i = 0; str1[i] != '\0'; i++)
putchar(str1[i]);
cout;
for (int i = 0; str1[i] != '\0';i++)
putchar(str2[i]);
system("pause");
}
Ответы (1)
ava
a0730 | 13.11.2016, 20:37 #
Нужно убрать оператор возврата из тела цикла.


char fun2(char *str2, char one, char two)
{
for (int i = 0; str2[i] != '\0'; i++)
{
if (str2[i] == one) str2[i] = two;
}
return *str2;
}


то же самое и со второй функцией.
Зарегистрируйтесь или войдите, чтобы написать.
Фирма дня
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Участники
  a0730   vlaenok
advanced
Отправить