Загрузил(а) файлы в '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