F
Fuzzi
Добрый день. Помогите, пожалуйста, разобраться с одной проблемой.
Требуется написать программу на С для перевода русских символов в верхний регистр.
Написал функцию.
char rusToUp(char ch){
int code;
int chars = ((int)ch);
if ( chars>= 160 && chars<=175 ){
code = ( chars - 32 );
}
else if ( chars>=224 && chars<=239 ){
code = ( chars - 80 );
}
return ch;
}
Проблема в том , что ansi код русских символов выводиться(у меня) как отрицательное число, из –за этого функция не работает в чем может быть причина ?
#include <stdio.h>
int main(void){
printf(“Э = %d\n”,(int)’Э’) //выводиться -35 в чем причина ?
printf(“В = %d\n”(int)’в’) //выводит -30
return 0;
}
Требуется написать программу на С для перевода русских символов в верхний регистр.
Написал функцию.
char rusToUp(char ch){
int code;
int chars = ((int)ch);
if ( chars>= 160 && chars<=175 ){
code = ( chars - 32 );
}
else if ( chars>=224 && chars<=239 ){
code = ( chars - 80 );
}
return ch;
}
Проблема в том , что ansi код русских символов выводиться(у меня) как отрицательное число, из –за этого функция не работает в чем может быть причина ?
#include <stdio.h>
int main(void){
printf(“Э = %d\n”,(int)’Э’) //выводиться -35 в чем причина ?
printf(“В = %d\n”(int)’в’) //выводит -30
return 0;
}