This commit is contained in:
Džubara 2024-10-11 14:25:34 +02:00
parent 0f54b1b1f6
commit d82fba98e3

View File

@ -2,18 +2,18 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
// Štruktúra pre položku v menu // Štruktúra
typedef struct { typedef struct {
char nazov[101]; // Názov pizze char nazov[101]; // Názov
double cena; // Cena pizze double cena; // Cena
} Pizza; } Pizza;
// Funkcia na porovnanie dvoch položiek (použije sa pre funkciu qsort) // Funkcia na porovnanie dvoch položiek
int porovnaj(const void *a, const void *b) { int porovnaj(const void *a, const void *b) {
Pizza *pizzaA = (Pizza *)a; Pizza *pizzaA = (Pizza *)a;
Pizza *pizzaB = (Pizza *)b; Pizza *pizzaB = (Pizza *)b;
// Porovnanie podľa ceny // Porovnanie ceny
if (pizzaA->cena < pizzaB->cena) return -1; if (pizzaA->cena < pizzaB->cena) return -1;
if (pizzaA->cena > pizzaB->cena) return 1; if (pizzaA->cena > pizzaB->cena) return 1;
@ -22,7 +22,7 @@ int porovnaj(const void *a, const void *b) {
} }
int main() { int main() {
Pizza menu[100]; // Predpokladáme, že maximálny počet položiek je 100 Pizza menu[100];
int pocet = 0; int pocet = 0;
char nazov[101]; char nazov[101];
@ -32,18 +32,18 @@ int main() {
while (1) { while (1) {
// Načítaj názov pizze // Načítaj názov pizze
if (fgets(nazov, sizeof(nazov), stdin) == NULL) { if (fgets(nazov, sizeof(nazov), stdin) == NULL) {
break; // Koniec vstupu break;
} }
// Odstráň novú čiaru na konci názvu
nazov[strcspn(nazov, "\n")] = '\0'; nazov[strcspn(nazov, "\n")] = '\0';
// Načítaj cenu pizze // Načítaj cenu
if (scanf("%lf", &cena) != 1) { if (scanf("%lf", &cena) != 1) {
break; // Neplatný vstup (nesprávna cena alebo koniec vstupu) break;
} }
// Vyčistenie vstupného bufferu (prečítať zvyšné znaky) // Vyčistenie vstupného bufferu
getchar(); getchar();
// Uloženie položky do zoznamu // Uloženie položky do zoznamu