D
Also ich hab das Programm soweit zum laufenbekommen:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
struct buchbestand
{
char nameautor[20];
char vnameautor[20];
char buchtitel[20];
char erscheinungsjahr[20];
char isbn[20];
}titel[3];
int vergleich;
unsigned int menue,n;
char isbn1[20];
char name[20];
int main()
{
printf("\n\tBitte drei Datensätze eingeben:\n\n");
for(n=0; n<3; n++)
{
printf("Nachname des Autors:");
scanf("%s",&titel[n].nameautor);
printf("\nVorname des Autors:");
scanf("%s",&titel[n].vnameautor);
printf("\nBuchtitel:");
scanf("%s",&titel[n].buchtitel);
printf("\nErscheinungsjahr:");
scanf("%s",&titel[n].erscheinungsjahr);
printf("\nISBN (ohne Bindestrich):");
scanf("%s",&titel[n].isbn);
}
do
{
printf("\n\tBitte waehlen sie aus wie sie in der Datenbank suchen möchten:\n");
printf("1.Nachname des Autors\n");
printf("2.ISBN-Nummer\n");
printf("0.Programm Beenden\n");
scanf("%i",&menue);
}while (menue >2 || menue <0);
if (menue==2)
{
printf("Bitte ISBN-Nummer (ohne Bindestrich) eingeben:\n");
scanf("%s",&isbn1);
for(n=0; n<3; n++)
{
vergleich = strcmp (isbn1,titel[n].isbn);
if(vergleich == 0)
{
printf("Suche erfolgreich.\n");
printf("%s\n",titel[n].nameautor);
printf("%s\n",titel[n].vnameautor);
printf("%s\n",titel[n].buchtitel);
printf("%s\n",titel[n].erscheinungsjahr);
printf("%s\n",titel[n].isbn);
}
}
}
else if (menue==1)
{
printf("Bitte Nachname des Autors eingeben:");
scanf("%s",name);
for(n=0; n<3; n++)
{
vergleich = strcmp (name,titel[n].nameautor);
if(vergleich == 0)
{
printf("Suche erfolgreich.\n");
printf("%s\n",titel[n].nameautor);
printf("%s\n",titel[n].vnameautor);
printf("%s\n",titel[n].buchtitel);
printf("%s\n",titel[n].erscheinungsjahr);
printf("%s\n",titel[n].isbn);
}
}
}
if (vergleich != 0 )
{
printf("Keinen gleichwertiger Datensatz in der Datenbank gefunden!\n");
}
return 0;
}
Einzigstes Problem hab ich noch bei der letzten if bedingung.
Die wird leider auch ausgelöst wenn er die ersten beiden datensätze findet und den dritten nicht.
Wie muß ich das um formulieren, das er diese meldung wirklich nur ausgibt wenn er wirklich keinen der Datensätze aufgefunden hat?