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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2012, 21:32   #1
OldUnion
 
Регистрация: 12.10.2012
Сообщений: 3
По умолчанию Не удаётся задача в С++

Вобщем передо-мной стоит задача написать программу, которая должна делать так: "Ввести символ с клавиатуры. Определить является ли этот символ: латинской буквой, русской буквой, знаком арифметической операции (+,-,*,/) или другим символом."

Программу написал, она запускается без ошибок, я воожу символы и она угадывает все- латинские, другие символы, арифметические, кроме русского. Подскажите в чем ошибка пожалуйста)
Код:
#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <math.h>
#include <iomanip>
using namespace std;



int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL,".1251");
char c;
cin>>c;
if((c>='A')&&(c<='z'))
cout <<"Латинская буква\n"<<endl;
else if ((c>='А')&&(c<='я'))
cout <<"Русская буква\n"<<endl;
else
switch (c)
{
case '+': cout<<"Знак сложения"<<endl;
break;
case '-': cout<<"Знак вычитания"<<endl;
break;
case '*': cout<<"Знак умножения"<<endl;
break;
case '/': cout<<"Знак деления"<<endl;
default: cout<<"Другой символ\n";
break;
}
system("pause");
return 0;
}
OldUnion вне форума Ответить с цитированием
Старый 12.10.2012, 21:54   #2
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

Не совпадают кодировки.
Код:
#include <conio.h>
#include <iostream>
#include <math.h>
#include <iomanip>
using namespace std;



int main()
{
setlocale(LC_ALL,".1251");
unsigned char c;
cin>>c;
if((c>='A')&&(c<='z'))
cout <<"Латинская буква\n"<<endl;
else if (((c>=0x80)&&(c<=0xaf))||((c>=0xe0)&&(c<=0xef)))
cout <<"Русская буква\n"<<endl;
else
switch (c)
{
case '+': cout<<"Знак сложения"<<endl;
break;
case '-': cout<<"Знак вычитания"<<endl;
break;
case '*': cout<<"Знак умножения"<<endl;
break;
case '/': cout<<"Знак деления"<<endl;
default: cout<<"Другой символ\n";
break;
}
system("pause");
return 0;
}
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не удаётся найти текст Letnab Общие вопросы Delphi 2 23.07.2012 12:55
Не удаётся правльно проэмулировать нажатие клавиши... saylar_06 Общие вопросы Delphi 1 06.06.2012 22:27
Не удаётся переустановить Windows XP. andermar Операционные системы общие вопросы 2 31.05.2011 15:42
Не удаётся запустить windows из-за ошибок в програмном обеспечении alex(21) Компьютерное железо 3 01.07.2010 12:27
Не удаётся чтение из файла Cookson Паскаль, Turbo Pascal, PascalABC.NET 3 14.04.2009 14:28