#include #include #include #include #include struct unit{ char fixedName[50]; char brokenName[50]; char price[50]; }; char* fixWord(char* string){ int size = (int)strlen(string); string[strlen(string)-1] = '\0'; for(int i = 0; i < size; i++){ if(isdigit(string[i])){ switch(string[i]){ case '1': string[i] = 'i'; break; case '2': string[i] = 'z'; break; case '3': string[i] = 'e'; break; case '4': string[i] = 'a'; break; case '5': string[i] = 's'; break; case '6': string[i] = 'b'; break; case '7': string[i] = 't'; break; case '8': string[i] = 'b'; break; case '9': string[i] = 'q'; break; case '0': string[i] = 'o'; } } else{ string[i] = tolower(string[i]); } } return string; } bool wordComparison(char* fixedName, char* ingredient){ int size = (int)strlen(fixedName); int check; if(strstr(fixedName, ingredient)) return true; return false; } char* fixNumber(char* number){ char* finalNumber = (char*)calloc(50, sizeof(char)); float tempNumber = atof(number); tempNumber = round(tempNumber*100)/100; gcvt(tempNumber, round(tempNumber)+2, finalNumber); return finalNumber; } int main(){ struct unit orders[50]; int numberOfOrder = 0; int totalAmount = 0; char* ingredient = (char*)calloc(50, sizeof(char)); printf("Zadaj hladanu surovinu:\n"); fgets(ingredient, 50, stdin); ingredient = fixWord(ingredient); printf("Zadaj jedalny listok:\n"); for(numberOfOrder = 0; fgets(orders[numberOfOrder].brokenName, 50, stdin); numberOfOrder++){ if(orders[numberOfOrder].brokenName[0] == '\n') totalAmount--; fgets(orders[numberOfOrder].price, 50, stdin); strcpy(orders[numberOfOrder].fixedName, orders[numberOfOrder].brokenName); fixWord(orders[numberOfOrder].fixedName); strcpy(orders[numberOfOrder].price, fixNumber(orders[numberOfOrder].price)); totalAmount++; } for(int i = 0; i < numberOfOrder; i++){ if(wordComparison(orders[i].fixedName, ingredient)){ printf("%s", orders[i].brokenName); printf("%s\n", orders[i].price); } } printf("Nacitanych %d poloziek.\n", totalAmount); return 0; }