Загрузил(а) файлы в 'du4'
This commit is contained in:
parent
3aeb543b68
commit
2af40bf268
BIN
du4/program
Normal file
BIN
du4/program
Normal file
Binary file not shown.
140
du4/program.c
Normal file
140
du4/program.c
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
#include<stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
#include<math.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
struct priklad//vytvorenie štruktúry, typu, v ktorom existujú iné typy
|
||||||
|
{
|
||||||
|
double one;
|
||||||
|
char znak;
|
||||||
|
double two;
|
||||||
|
double sum;
|
||||||
|
};
|
||||||
|
|
||||||
|
int sort(struct priklad prik[20]);
|
||||||
|
void printAll(struct priklad prik[20], int i);
|
||||||
|
|
||||||
|
int main(){
|
||||||
|
|
||||||
|
struct priklad prik[20];
|
||||||
|
int i = sort(prik);
|
||||||
|
|
||||||
|
printAll(prik,i);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
void printAll(struct priklad prik[20], int i){
|
||||||
|
for (size_t j = 0; j < i; j++)
|
||||||
|
{
|
||||||
|
if( prik[j].one == 0 && prik[j].two == 0 &&prik[j].sum == 0){
|
||||||
|
printf("CHYBA\n");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(prik[j].znak == '+'){
|
||||||
|
// printf("%f", prik[j].one + prik[j].two);
|
||||||
|
if (round((prik[j].one + prik[j].two)*100)/100 == prik[j].sum)// round-zaokrúhli číslo
|
||||||
|
{
|
||||||
|
printf("OK\n");
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
printf("ZLE\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
if(prik[j].znak == '-'){
|
||||||
|
if (round((prik[j].one - prik[j].two)*100)/100 == prik[j].sum)
|
||||||
|
{
|
||||||
|
printf("OK\n");
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
printf("ZLE\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
if(prik[j].znak == '*'){
|
||||||
|
if (round(prik[j].one * prik[j].two * 100) / 100 == prik[j].sum)
|
||||||
|
{
|
||||||
|
printf("OK\n");
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
printf("ZLE\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
if(prik[j].znak == '/'){
|
||||||
|
if (round(prik[j].one / prik[j].two * 100) / 100 == prik[j].sum)
|
||||||
|
{
|
||||||
|
printf("OK\n");
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
printf("ZLE\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int sort(struct priklad prik[20]){
|
||||||
|
int i = 0;
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
char step_line[30];
|
||||||
|
char step_one[5];
|
||||||
|
memset(step_one,' ',5);//vyplnenie štandardnými hodnotami poľa
|
||||||
|
char step_two[10];
|
||||||
|
memset(step_two,' ',10);
|
||||||
|
char step_sum[10];
|
||||||
|
memset(step_sum,' ',10);
|
||||||
|
char* r = fgets(step_line,30,stdin); //číta koncový znak
|
||||||
|
if (r == NULL){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
int k = 0;
|
||||||
|
while (step_line[k] != ' ')
|
||||||
|
{
|
||||||
|
step_one[k] = step_line[k];
|
||||||
|
k++;
|
||||||
|
}
|
||||||
|
k++;
|
||||||
|
prik[i].znak = step_line[k];
|
||||||
|
k = k+2;
|
||||||
|
int j = 0;
|
||||||
|
while (step_line[k]!= ' ')
|
||||||
|
{
|
||||||
|
step_two[j] = step_line[k];
|
||||||
|
k++;
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
k = k+3;
|
||||||
|
int p = 0;
|
||||||
|
while (k<strlen(step_line)-1)//dĺžka linky
|
||||||
|
{
|
||||||
|
|
||||||
|
step_sum[p] = step_line[k];
|
||||||
|
k++;
|
||||||
|
p++;
|
||||||
|
|
||||||
|
}if (isalpha(step_one[0])|| isalpha(step_two[0])|| isalpha(step_sum[0]))//isalpha-vráti hodnotu true, ak je vstupný argument z abecedy
|
||||||
|
{
|
||||||
|
prik[i].one = 0;
|
||||||
|
prik[i].two = 0;
|
||||||
|
prik[i].sum = 0;
|
||||||
|
}else{
|
||||||
|
|
||||||
|
prik[i].one = atof(step_one);//vytvorí číslo z radu kúziel
|
||||||
|
prik[i].two = atof(step_two);
|
||||||
|
prik[i].sum = atof(step_sum);
|
||||||
|
}
|
||||||
|
if (step_line[0] == '\n')
|
||||||
|
{
|
||||||
|
i--;
|
||||||
|
}
|
||||||
|
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
return i;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user