Форум программистов, компьютерный форум CyberForum.ru

Проверка строки на корректность - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Описать операции сложения и вычитания векторов с получением нового вектора http://www.cyberforum.ru/cpp-beginners/thread1712791.html
Составить описание класса для объектов-векторов, задаваемых координатами в трехмерном пространстве. Описать операции сложения и вычитания векторов с получением нового вектора, вычисления скалярного произведения двух векторов, длины вектора, косинуса угла между векторами, вычисление векторного произведения двух векторов, вычисление смешанного произведения трех векторов. Написать программу,...
C++ Каждый элемент столбца матрицы разделить на среднее арифметическое элементов данного столбца Заданный массив действительных чисел А (n, n). Необходимо каждый элемент столбца разделить на среднее арифметическое элементов данного столбца. На печать вывести начальный и результирующий массивы. http://www.cyberforum.ru/cpp-beginners/thread1712787.html
C++ Программирование алгоритмов с использованием динамических массивов
Заданный массив действительных чисел А (n, n). Необходимо каждый элемент столбца разделить на среднее арифметическое элементов данного столбца. На печать вывести начальный и результирующий массивы.
Упростить код C++
Создавал раннее тему с таковой задачей:Нужен код для шифрования русскоязычного текста методом простой подстановки(каждой букве алфавита ставится в соответствие другая буква, знаки препинания исключаются, буква Ё=Е, пробел заменяется на "знак абзаца в ворде"). Программа читает текст из файла и записывает зашифрованный текст в другой. Символы в зашифрованном тексте должны располагаться группами по...
C++ Определить количество элементов матрицы, больших суммы остальных элементов его столбца http://www.cyberforum.ru/cpp-beginners/thread1712755.html
Дана матрица A размером nxm. Определить k-количество особых элементов массива A, считая его элемент особым, если он больше суммы остальных элементов его столбца.
C++ Получить основной шлюз Как получить адрес основного шлюза? в Qt не нашел как это сделать, мб есть еще способы? вообще надо это сделать для android, но для начала понять бы как на windows подробнее

Показать сообщение отдельно
Lies
0 / 0 / 0
Регистрация: 28.09.2015
Сообщений: 15

Проверка строки на корректность - C++

16.04.2016, 10:19. Просмотров 162. Ответов 1
Метки (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include<iostream>
#include<cstring>
#include <conio.h>
using namespace std;
 
int main(){
    char a;
    char a1;    
    char a3[100];
    int b,b1,b2;
    scanf("%d%c%d%c%d",&b,&a,&b1,&a1,&b2);
    if(a!='+' && a!='-' && a!='/' && a!='*' || a1!='='){
        cout << "ERROR";
     }
    
    if(a=='+'){
        if(b==b2-b1 && b1==b2-b && b+b1==b2){
            cout << "YES";
        }
        else cout << "NO";
    }
    if(a=='-'){
        if(b==b2+b1 && b1==(b2-b)*(-1) && b-b1==b2){
            cout << "YES";
        }
        else cout << "NO";  
    }
    if(a=='*'){
        if(b==b2/b1 && b1==b2/b && b*b1==b2){
            cout << "YES";
        }
        else cout << "NO";
    }
    if(a=='/'){
        if(b==b2*b1 && b1==b/b2 && b2==b/b1){  
            cout << "YES";
        }
        else cout << "NO";
    }
    return 0;   
}
программа должна проверять строку на корректность и правильность. Например, запись вида «2+3=5» является правильной, а «23*7=421» неверная, но корректная. Корректной записью выражения будем называть последовательность: число, операция («+», «-», «*», «/»), число, знак равенства, число. Т.е. если в записи не хватает цифр или же встречается неизвестный символ. Например, записи «2*=3», «173» и «2+2=a» некорректны.
В выходной файл OUTPUT.TXT нужно вывести «YES», если указанная запись правильна (т.е. равенство представляет собой тождество), «NO» - если корректная, но неверная и «ERROR», если в записи присутствуют ошибки.


входные данные: 1)2+3=5 ----------------------- YES
2)3*7=20 ---------------------- NO
3)two plus three is five ------- ERROR
4)6-4=2abc -------------------- ERROR

помогите мне, пожалуйста со строкой, а именно на проверку ее. например 6-4=2abc это ERROR или если присутствует любая буква это некорректно и ERROR. код работает без нее и на тесте похожий на 4) валится.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru