Member 14988227 Ответов: 1

Мне нужна помощь с одним небольшим кусочком кода для моего кода программирования C++.


Главный вопрос состоял в том, чтобы написать код, который заменяет пробелы некоторых текстов символом" -", но я сделал это. Единственное, что осталось, это то, что после того, как он меняет пробелы на" -", он должен подсчитать, сколько их там.
Итак, если есть 5 -е, есть выход, который говорит: "Вы заменили 5 пробелов"
не считая пробелов, а считая-С. Я просто хочу, чтобы этот код был добавлен к моему существующему коду. Я пробовал это делать, но очень трудно добавить код, не испортив его так, чтобы он не компилировался.

Что я уже пробовал:

Вот моя попытка сделать это:
#include<stdio.h>
#include<ctype.h>
#include<conio.h>
int main()
{
	int new_char;
	char t;
	int ctr = 0;
	char str[100];
	printf("\n Replace the spaces of a string with a specific character :\n");

	printf(" Input a string:");
	fgets(str, sizeof str, stdin);
	printf(" Input replace character : ");
	scanf_s("%c", &t);
	printf(" After replacing the space with  %c the new string is :\n", t);
	while (str[ctr])
	{
		new_char = str[ctr];
		if (isspace(new_char))
			new_char = t;
		putchar(new_char);
		ctr++;		
	}
	printf("\n\n");
	return 0;
}

jeron1

Как насчет того, чтобы иметь новую целочисленную переменную под названием "replaced", инициализированную до нуля при запуске и увеличенную каждый раз, когда вы выполняете следующую строку,

 new_char = t;

Joe Woodbury

isspace включает в себя CR и LF. Это специально?

Также обратите внимание, что scanf_s должен иметь дополнительный параметр: scanf_s("%c", &t, sizeof(t));

1 Ответов

Рейтинг:
2

KarstenK

это действительно просто:

//outside the loop
int count = 0;

if (isspace(new_char)) {
	count++
	new_char = t;
}