pracujem s lineárnym spájaným zoznamom štruktúr tvaru.
Kód: Vybrať všetko
typedef struct kniha
{
char nazov[100];
struct kniha *dalsia;
} KNIHA;p.s. neberie sa ohľad na veľké a malé písmená a pre úplnosť sem dám aj funkciu spravmale
Kód: Vybrať všetko
void spravmale(char *nazov, char *str)
{
int i;
for (i = 0; i < strlen(str); i++)
*(nazov + i) = tolower(*(str+ i));
*(nazov + i) = '\0';
}Kód: Vybrať všetko
.
.
.
scanf("%s", text); // nacita text, kt. sa bude mazat
spravmale(text, text); // upravi nacitany text na male pismena
for (pred = aktualna = prva; aktualna != NULL; pred = aktualna, aktualna = aktualna->dalsia)
{
spravmale(nazov, aktualna->nazov);
if (strstr(nazov, text) != NULL) // hlada podretazec TEXT v retazci NAZOV
{
/* NEVIE ZMAZAT PRVU POLOZKU
aktualna = aktualna->dalsia;
prva->dalsia = NULL;
free((void *) prva);
prva = aktualna; */
pred->dalsia = aktualna->dalsia;
free((void *) aktualna);
aktualna = pred;
pocet++;
}
}
.
.
.