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

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

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

Пользовательские функции в С - C++

04.12.2013, 22:23. Просмотров 205. Ответов 0
Метки нет (Все метки)

как этот код переделать с использованием пользовательской функции??
#include <stdio.h>
#include <conio.h>
#include <locale>
#include <string.h>
#include <iostream>
using namespace std;

void main()
{
setlocale(2, "");
char str[300]; // = "Это на т.к. пример и т.п. со т.к. всеми др.";
char * pch; //переменная для поиска указателя на первое вхождение
puts("Введите текст:");
gets(str);

while (strstr(str, "т.к.")) //если есть ли в строке "т.к."
{
int lenstr = strlen(str);
pch = strstr(str, "т.к."); //ищем первое вхождение "т.к."
char str2[100] = "\0", res[100] = "\0"; //res - стрка результата, str2 - вторая часть строки
strncat(res, str, lenstr - strlen(pch)); //помещаем символы до первого вхождения в res
strcat(res, "так как");//добавляем к результату полный текст
for (int i = 4, j = 0; i < strlen(pch); ++i, ++j) //оставшийся текст со сдвигом на кол-во символов сокращения добавляем к str2
str2[j] = pch[i]; //добавляем к str2
strcat(res, str2); //объединяем строку str2 с результатом
strcpy(str, res); //копируем результат в исходную строку, заменяя её.
}
while (strstr(str, "др."))
{
int lenstr = strlen(str);
pch = strstr(str, "др."); //ищем первое вхождение "др."
char str2[100] = "\0", res[100] = "\0";
strncat(res, str, lenstr - strlen(pch));
strcat(res, "другие");
for (int i = 3, j = 0; i < strlen(pch); ++i, ++j)
str2[j] = pch[i];
strcat(res, str2);
strcpy(str, res);
}
while (strstr(str, "и т.п."))
{
int lenstr = strlen(str);
pch = strstr(str, "и т.п."); //ищем первое вхождение "и т.п."
char str2[100] = "\0", res[100] = "\0";
strncat(res, str, lenstr - strlen(pch));
strcat(res, "и тому подобное");
for (int i = 6, j = 0; i < strlen(pch); ++i, ++j)
str2[j] = pch[i];
strcat(res, str2);
strcpy(str, res);
}
puts("Полученный текст:");
puts(str); //вывод строки на экран
_getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2013, 22:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Пользовательские функции в С (C++):

Написать две пользовательские функции, эквивалентные стандартной функции strlen - C++
Написать программу, содержащую две пользовательские функции определения длины строки, эквивалентные стандартной функции strlen. Первая из...

Добавить в код любые пользовательские функции (лучше всего - функции ввода/вывода) - C++
Ребят, прошу вас помочь добавить любые две функции, лучше всего если ввод и вывод, но например и за два void input буду очень благодарен...

Пользовательские функции - C++
Написать функцию, которая удаляет из строки все символы, обозначающие цифры. Заголовок функции: void deleteDigits (char *s); Написать...

Пользовательские функции - C++
Задание: Разработать программу с использованием пользовательской функции. В ходе выполнения программа должна вызывать функцию не менее 3...

Пользовательские функции в С - C++
Помогите решить две задачи на С, с помощью пользовательских функций... :( 1. Написать функцию, которая вычисляет значение аb. Числа а...

функции пользовательские - C++
Помогите решить задачи в С++ (я в этом начиющий): 1)Вывести на экран таблицу степеней двойки: 2, где n изменяется от -к до 10. Операцию...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2013, 22:23
Привет! Вот еще темы с ответами:

Пользовательские функции - C++
Здравствуйте, не могу сообразить из-за чего программа неправильно компилирует. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...

пользовательские функции - C++
Уважаемые программисты,помагите решить задачку. Задание: Даны натуральные числа n и m. Напишите функцию, вычисляющую результат...

пользовательские функции - C++
Помогите решить задачи в С++ (я в этом начиющий): 1)Вывести на экран таблицу степеней двойки: 2, где n изменяется от -к до 10. Операцию...

Пользовательские функции - C++
Ну как задачка?)довольно сложная)


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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