87 lines
1.7 KiB
C
87 lines
1.7 KiB
C
#include <stdlib.h>
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <assert.h>
|
|
#include <math.h>
|
|
#include <ctype.h>
|
|
#define LINE_SIZE 150
|
|
|
|
int main() {
|
|
char znaky[LINE_SIZE];
|
|
char* r = NULL;
|
|
int symbol[LINE_SIZE];
|
|
int sym = 0;
|
|
char* koniec_cisla = NULL;
|
|
char* zaciatok_cisla = znaky;
|
|
//char* koniec_pola;
|
|
float cislo = 0.0;
|
|
float a = 0;
|
|
float b = 0;
|
|
float c = 0;
|
|
int counter = 0;
|
|
float sr= 0;
|
|
while ((r = fgets(znaky, LINE_SIZE, stdin)) != NULL) {
|
|
if(znaky[0] == '\n'){
|
|
break;
|
|
}
|
|
for (int i = 0; i < strlen(znaky); i++) {
|
|
if (znaky[i] == '*' || znaky[i] == '/' || znaky[i] == '-' || znaky[i] == '+' || znaky[i] == '=') {
|
|
symbol[sym] = znaky[i];
|
|
znaky[i] = ' ';
|
|
sym++;
|
|
}
|
|
}
|
|
zaciatok_cisla = znaky;
|
|
while (*zaciatok_cisla != '\0') {
|
|
cislo = strtof(zaciatok_cisla, &koniec_cisla);
|
|
if (zaciatok_cisla == koniec_cisla) {
|
|
zaciatok_cisla++;
|
|
} else {
|
|
if(counter == 0){
|
|
a = cislo;
|
|
}
|
|
if(counter == 1){
|
|
b = cislo;
|
|
}
|
|
if(counter == 2){
|
|
c = cislo;
|
|
}
|
|
counter++;
|
|
//printf("Nasiel som cislo %f\n", cislo);
|
|
zaciatok_cisla = koniec_cisla + 1;
|
|
}
|
|
}
|
|
}
|
|
if(symbol[sym - 2] == '+'){
|
|
sr = a + b;
|
|
//printf("%2.f", sr);
|
|
}
|
|
if(symbol[sym - 2] == '-'){
|
|
sr = a - b;
|
|
//printf("%2.f", sr);
|
|
}
|
|
if(symbol[sym - 2] == '*'){
|
|
sr = a * b;
|
|
//printf("%2.f", sr);
|
|
}
|
|
if(symbol[sym - 2] == '/'){
|
|
sr = a / b;
|
|
//printf("%2.f", sr);
|
|
}
|
|
if(c == sr){
|
|
printf("OK\n");
|
|
}
|
|
else{
|
|
printf("CHYBA\n");
|
|
}
|
|
if (feof(stdin)) {
|
|
printf("Dostal som sa na koniec suboru\n");
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
|
|
|
|
|