Witam. Mam do napisania program zaliczeniowy, który pełni funkcje biblioteki dla tytułów książek i jedną z jego funkcji jest edycja danych dodanych wcześniej tytułów. Problem pojawia się przy opcji, że gdy nie wpiszę nic w polu edycji (tylko enter) to funkcja nie zmieni danego pola (np. imie, czy tytul). Nie mam już pomysłów jak to zrealizować. Próbowałem już z strcmp ale coś mi nie wyszło :(
void edit(){
int x;
char aut_i[20];
char aut_n[20];
char kateg[20];
bool powo = false;
char tit[30];
system("cls");
printf("---===LIBRARER ~ Edytuj===---\n\n");
printf("1. Edytuj po tytule\n2. Edytuj po ID\n\n3. Powrot do Menu\n\n");
x = getCommand();
switch(x){
case 1: system("cls");
printf("---===LIBRARER ~ Edytuj===---\n\n");
printf("Podaj tytul do edycji: ");
scanf("%[^\n]", tit);
if(!strcmp(tit, (*head).title)){
powo = true;
cos = head;
}
else if(!strcmp(tit, (*tmp).title)){
powo = true;
cos = tmp;
}
else{
cos = (*head).next;
while(cos){
if(!strcmp(tit, (*cos).title)){
powo = true;
break;
}
cos = (*cos).next;
}
}
if(cos){
printf("\nEdytujesz: \"%s\"\n\n", tit);
getchar();
printf("Imie: ");
scanf("%[^\n]", aut_i);
if(aut_i == "");
else{
strcpy((*cos).aut_imie, aut_i);
}
getchar();
printf("Nazwisko: ");
scanf("%[^\n]", aut_n);
if(aut_n == "");
else{
strcpy((*cos).aut_nazw, aut_n);
}
printf("Tytul: ");
getchar();
scanf("%[^\n]", tit);
if(tit == "");
else{
strcpy((*cos).title, tit);
}
printf("Kategoria: ");
getchar();
scanf("%[^\n]", kateg);
if(kateg == "")
printf("Bez zmian");
else{
strcpy((*cos).kategoria, kateg);
}
}
else
printf("\n\n Brak ksiazki o podanym tytule...");
system("pause");
break;
case 2:
break;
case 3:
break;
default: printf("Blad! Zostaniesz przeniesiony do Menu...");
system("pause");
break;
}
menu();
}