Помогите с ошибками stray '\302' in program / expected primary-expression before ')' token

169
01 апреля 2019, 11:00

Программа, которая 3 введенных числа ставит в порядок возрастания или убывания. Место ошибки в коде обозначено как МЕСТО ОШИБКИ, сложно пропустить

#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
setlocale (0, "");
char letter;
double a, b, c, k; // a, b, c - переменные чисел, которые программа сравнивает, k - переменная-счетчик, в конце ее значения (от 1 до 12) влияют на ответ программы
cout << "Программа, которая ставит числа в порядке возрастания или убывания. Возрастания - печатайте В, убывания - печатайте У. " << endl;
cout << "Введите первое число: " << endl;
cin >> a; // в этом и следующих 3 "cin" пользователь вводит 3 числа, которые программа сравнивает
cout << "Введите второе число: " << endl;
cin >> b;
cout << "Введите третье число: " << endl;
cin >> c;
cout << "Введите необходимое действие: " << endl;
cin >> letter; // переменная, которая отвечает за тип действия, тип постановки чисел - возрастания (В) или убывания (у)
if (letter == В) { // выбор возрастания              МЕСТО ОШИБКИ stray '\302' in program    МЕСТО ОШИБКИ expected primary-expression before ')' token
    if (a > b && b > c) // это и далее - подстановка программой заданных пользователем чисел в формулы и выбор соответствующего значения k
        k = 1;
     else if (a > b && c > b) 
        k = 2;
     else if (c > a && a > b)         
        k = 3;
     else if (c > b && b > a) 
        k = 4;
     else if (b > a && a > c) 
        k = 5;
     else if (b > c && c > a) 
        k = 6; // до сюда
} else if (letter = У) { // выбор убывания   МЕСТО ОШИБКИ stray '\323' in program   МЕСТО ОШИБКИ expected primary-expression before ')' token
    if (a < b && b < c) // это и далее - подстановка программой заданных пользователем чисел в формулы и выбор соответствующего значения k
        k = 7;
     else if (a < c && c < b) 
        k = 8;
     else if (c < a && a < b) 
        k = 9;
     else if (c < b && b < a) 
        k = 10;
     else if (b < a && a < c) 
        k = 11;
     else if (b < c && c < a) 
        k = 12; // до сюда
} // программа знает, какая формула соответствует заданным пользователем числам, и какое значение k для этого подставить 
  if (k == 1) { // отсюда и далее - выбор программой необходимого ответа в зависимости от значения k, которое выбиралось выше
    cout << "Самое большое число: " << a << endl;
    cout << "На втором месте: " << b << endl; 
    cout << "Самое маленькое: " << c << endl;
} else if (k == 2) {
    cout << "Самое большое число: " << a << endl;
    cout << "На втором месте: " << c << endl;
    cout << "Самое маленькое: " << b << endl;
} else if (k == 3) {
    cout << "Самое большое число: " << c << endl;
    cout << "На втором месте: " << a << endl;
    cout << "Самое маленькое: " << b << endl;
} else if (k == 4) {
    cout << "Самое большое число: " << c << endl;
    cout << "На втором месте: " << b << endl;
    cout << "Самое маленькое: " << a << endl;
} else if (k == 5) {
    cout << "Самое большое число: " << b << endl;
    cout << "На втором месте: " << a << endl;
    cout << "Самое маленькое: " << c << endl;
} else if (k == 6) {
    cout << "Самое большое число: " << b << endl;
    cout << "На втором месте: " << c << endl;
    cout << "Самое маленькое: " << a << endl;
} else if (k == 7) {
    cout << "Самое маленькое число: " << a << endl;
    cout << "На втором месте: " << b << endl;
    cout << "Самое большое: " << c << endl;
} else if (k == 8) {
    cout << "Самое маленькое число: " << a << endl;
    cout << "На втором месте: " << c << endl;
    cout << "Самое большое: " << b << endl;
} else if (k == 9) {
    cout << "Самое маленькое число: " << c << endl;
    cout << "На втором месте: " << a << endl;
    cout << "Самое большое: " << b << endl;
} else if (k == 10) {
    cout << "Самое маленькое число: " << c << endl;
    cout << "На втором месте: " << b << endl;
    cout << "Самое большое: " << a << endl;
} else if (k == 11) {
    cout << "Самое маленькое число: " << b << endl;
    cout << "На втором месте: " << a << endl;
    cout << "Самое большое: " << c << endl;
} else if (k == 12) {
    cout << "Самое маленькое число: " << b << endl;
    cout << "На втором месте: " << c << endl;
    cout << "Самое большое: " << a << endl;
} // конец
return 0;
}
Answer 1

Видимо вы собирались сравнить символ с буквой, но забыли заключить ее в символьный литерал if (letter == 'В'). Далее, так как одна буква обычно не может быть представлена одним символом следует читать строку и сравнивать ее со строковым литералом. Ну или Ожидать ввода только ASCII букв.

READ ALSO
Преобразование типов(разница)

Преобразование типов(разница)

В чем заключается разница в использовании тип_данных(выражение) и (тип_данных)выражение?

180
Определение букв в слове. C++

Определение букв в слове. C++

По заданию нужно определить, сколько вариантов анаграмм можно составить из букв, содержащихся в слове, которое ввёл пользовательБукв может...

156
Размер переменных в функциях

Размер переменных в функциях

Почему под параметр-переменную функции выделяется 4 байта оперативной памяти, если тип short (2 байта)?

258