Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2012, 23:18   #11
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Как с встречающимися знаками препинания быть, мне не очень нравится....

Код:
system("DIR");
	printf("\n Введите имя текстового файла: ");
	gets(file);
	
	pf = fopen(file, "rt");
	if(pf == NULL)
	{
		printf("\t Файл не удалось открыть!!!");
		return;
	}
	
	while((ch = fgetc(pf)) != EOF)
	{
		if(strchr(".,:;?!-\'\"", ch))	// Если в тексте встречаются знаки препинания
			ch = '.';					// объединить в один символ '.'
		code[ch]++;	// Считает число символов каждого типа
Добрый вечер! Извините, я только учусь. На сколько корректно будет работать данный код для подсчета количества символов в текстовом файле, я посмотрел Ваш вариант, он я так понимаю работает только с латинскими символами.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!

Последний раз редактировалось Stilet; 23.11.2012 в 23:03.
Bugrimov вне форума Ответить с цитированием
Старый 23.11.2012, 22:34   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Под словом "символ" понимается любой печатный символ? Любой символ вообще? Цифры и буквы любого алфавита?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.11.2012, 22:37   #13
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Да именно так

Нужен Ваш совет по коду!!!
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!

Последний раз редактировалось Stilet; 23.11.2012 в 22:59.
Bugrimov вне форума Ответить с цитированием
Старый 23.11.2012, 22:55   #14
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Да именно так
Что "именно так" из того что я перечислил?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.11.2012, 22:58   #15
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Символ - латинская или русская буквы (строчные и заглавные не различаются), любая цифра и любой знак препинания (пробел в их числе). Все знаки препинания и пробелы как один символ.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 23.11.2012, 23:03   #16
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Тогда вполне корректен.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.11.2012, 23:05   #17
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Но он не учитывает все знаки препинания, которые могут встретится в файле
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 23.11.2012, 23:14   #18
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Верно. Он их все конвертирует в точку. А тебе что нужно? Убери тогда условие проверки этих знаков.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.11.2012, 23:21   #19
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Мне нужны символы []{}\|/#$%^& и т.д. Вот я думаю практично ли указывать все эти символы
Код:
if(strchr(".,:;?!-\'\"", ch))
или есть другие способы
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 23.11.2012, 23:39   #20
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Вот я думаю практично ли указывать все эти символы
Почему непрактично? Вполне в духе времени так сделать. А-ля регулярка получается, которая сейчас популярна.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Код символа victor5133 C++ Builder 4 14.03.2012 14:21
Работа с массивом/строкой символов, преобразование символа с число. (Pascal, Delphi) Савва Помощь студентам 8 29.01.2012 12:27
Узнать код символа bdfy Microsoft Office Word 7 18.04.2011 04:21
Код символа Jasper92 Помощь студентам 2 29.06.2010 17:02
код символа Serg12 Помощь студентам 5 08.03.2010 15:34