Итак, попробуем же реализовать на нашем любимом языке программирования (Си ) мышление блондинок
Напишем программу, которая будет генерировать из предложения "Привет. Как дела?" предлоежение "ПРИВЕТ!!!! КАК ДЕЛА????!!!!!" =))
Для этого нам нужно:
1) преобразовать все к верхнему регистру
2) если предложение вопросительное, дополнить его знаками вопроса
2) дополнить предложение восклицательными знаками
Приступим
Код:
#include <stdio.h>
#include <windows.h>
// Преобразование к верхнему регистру
// Разное для разных алфавитов
char touppercase(char c)
{
if( c >= 'a' && c <= 'z' )
return c + 'A' - 'a';
else if( c >= 'а' && c <= 'я' )
return c + 'А' - 'а';
else
return c;
}
// Преобразование предложения
void blonde(char* sentense)
{
// К верхнему регистру
for(char* sp = sentense;*sp;sp++)
*sp = touppercase(*sp);
// Длина предложения
int len = strlen(sentense) + 1;
// Если вопросительное - дополняем
if( sentense[len - 2] == '?' )
for(int i=0;i<7;i++)
{
sentense[len + i - 1] = '?';
sentense[len + i] = 0;
}
// новая длина
len = strlen(sentense) + 1;
// дополняем "!"
for(int i=0;i<7;i++)
{
sentense[len + i - 1] = '!';
sentense[len + i] = 0;
}
}
int main()
{
while(1)
{
char buffer[1024];
// Приглашение. Считываем строчку
printf("blonde> ");
gets(buffer);
// OEM -> ANSI
OemToChar( buffer, buffer );
// Обрабатываем
blonde(buffer);
// ANSI -> OEM
CharToOem( buffer, buffer );
// Выводим
printf("%s\n", buffer);
}
return 0;
}
Все
Вывод:
Цитата:
blonde> Привет, я блондинка
ПРИВЕТ, Я БЛОНДИНКА!!!!!!!
blonde> Как дела?
КАК ДЕЛА????????!!!!!!!
blonde>