Seite 1 von 4

Zugriff auf struct elemente

Verfasst: Do Dez 09, 2010 6:38 pm
von AxelFoley1991
Ich muss ein programm schreiben, was eine Datenbank für Tonträger herstellt, die Sache ist, ich hab null Ahnung wie ich einzelne Datensätze abrufen kann zur Ausgabe, z.B ich hab cd`s und lp`s und will jetzt alle cd`s ausgeben, wie kann man so eine Abfrage schreiben?

Re: Zugriff auf struct elemente

Verfasst: Do Dez 09, 2010 7:15 pm
von Xin
AxelFoley1991 hat geschrieben:Ich muss ein programm schreiben, was eine Datenbank für Tonträger herstellt, die Sache ist, ich hab null Ahnung wie ich einzelne Datensätze abrufen kann zur Ausgabe, z.B ich hab cd`s und lp`s und will jetzt alle cd`s ausgeben, wie kann man so eine Abfrage schreiben?
Moin Axel,

'91 Baujahr? Interessant, dass da noch Axel Foley aktuell war ^^

Dass Du null Ahnung hast, scheint mir offensichtlich. Abfrage klingt leicht nach SQL, wobei ich mich da frage, ob Du wirklich C++ programmieren sollst - schließlich postest Du im C++ Board.

Um mal mit einem anderen Filmcharakter aus der guten, alten Zeit zu sprechen: "Brauche Input!" ^^ (wer erkennt's?)

Re: Zugriff auf struct elemente

Verfasst: Do Dez 09, 2010 7:29 pm
von AxelFoley1991
ne in c muss ich schreiben

Re: Zugriff auf struct elemente

Verfasst: Do Dez 09, 2010 8:41 pm
von cloidnerux
ne in c muss ich schreiben
Need more Input!

Was hast du für Daten, wie sind sie Gespeichert, wie sollen sie abgerufen werden?

Re: Zugriff auf struct elemente

Verfasst: Do Dez 09, 2010 9:56 pm
von AxelFoley1991
soll ne datenbank werden für tonträger,( mit struct gespeichert, z.b künstler, album,..) das kann alles eingegeben werden und wird gespeichert, jetzt will ich den benutzer eingeben lassen, z.b den künstlernamen und das programm soll mir dann alle structs mit dem jeweiligen künstlernamen

Re: Zugriff auf struct elemente

Verfasst: Do Dez 09, 2010 10:03 pm
von cloidnerux
soll ne datenbank werden für tonträger,( mit struct gespeichert, z.b künstler, album,..) das kann alles eingegeben werden und wird gespeichert, jetzt will ich den benutzer eingeben lassen, z.b den künstlernamen und das programm soll mir dann alle structs mit dem jeweiligen künstlernamen
Klingt doch schon mal nach einem Anfang.
Was ist es denn für eine Datenbank(SQL, noSQL, XML, Binärdaten), bzw an was hattest du gedacht, bzw hast du dich schon einmal mit Datenbanken an sich auseinandergesetzt.
Dann klingt ja struct nach Daten, aber hast du dir mal Gedanken über Dynamische Datenverwaltung, Speicherung und Verarbeitung gemacht, bzw damit Erfahrungen gesammelt?

Re: Zugriff auf struct elemente

Verfasst: Do Dez 09, 2010 11:30 pm
von AxelFoley1991
ich bin im ersten semester studium und hab mich davor noch nie mit sowas auseinandergesetzt^^

Re: Zugriff auf struct elemente

Verfasst: Do Dez 09, 2010 11:43 pm
von Xin
AxelFoley1991 hat geschrieben:ich bin im ersten semester studium und hab mich davor noch nie mit sowas auseinandergesetzt^^
Okay... sagen wir so, die Welt der Informatik ist groß und "Datenbank" heißt nichts anderes, als Daten irgendwo gespeichert werden. Und da gibt es reichlich Möglichkeiten...

Wo und wie sollen die Daten denn gespeichert werden. Sowas wie eine MySQL-Datenbank oder vermutlich eher einfach eine Datei auf der Festplatte?
Hast Du die Daten schon vorliegen?

Wie ist die genaue Aufgabenbeschreibung?

Ansonsten wo studierst Du, was studierst Du, wer bist Du usw. - solche Informatinoen schreibst Du am besten in einen eigenen Thread bei "Uservorstellung" ^^ Einfach damit man eine Vorstellung hat, was und wie man Dir helfen kann.

Re: Zugriff auf struct elemente

Verfasst: Fr Dez 10, 2010 12:17 pm
von AxelFoley1991

Code: Alles auswählen

#include <stdio.h>

typedef struct
{
	char Kuenstler[100];
	char Album[100];
	int Erscheinungsjahr;
	int Kaufdatum;
	int Anzahl_der_Medien;
	char Format[20];
} tontraeger;

tontraeger eingabe(void)
{
	tontraeger tmp;
	printf("Kuenstler?:"); scanf("%99s",tmp.Kuenstler);
	printf("Album?:"); scanf("%99s",tmp.Album);
	printf("Erscheinugsjahr?:"); scanf("%d",&tmp.Erscheinungsjahr);
	printf("Kaufdatum (bitte in Form tt.mm.jjjj)?:"); scanf("%d",&tmp.Kaufdatum);
	printf("Anzahl der Medien?:"); scanf("%d",&tmp.Anzahl_der_Medien);
	printf("Format(CD, LP, Kassette, Video, DVD)?:"); scanf("%19s",tmp.Format);
	return tmp;
}

void ausgabe(tontraeger tmp)
{
	printf("Kuenstler: %s\n",tmp.Kuenstler);
	printf("Album: %s\n",tmp.Album);
	printf("Erscheinugsjahr: %d\n",tmp.Erscheinungsjahr);
	printf("Kaufdatum: %d\n",tmp.Kaufdatum);
	printf("Anzahl der Medien: %d\n",tmp.Anzahl_der_Medien);
	printf("Format: %s\n",tmp.Format);
}

int main(void)
{
	int neu,i,j,l,x=1;
	char a,k[100];	
	tontraeger c[100];	
	do
	{	
		printf("Was wollen Sie tun?\n");
		printf("Neuen Tonträger erstellen? 		==> 1\n");
		printf("Einen Tonträger löschen?   		==> 2\n");
		printf("Einen Datensatz ausgeben lassen?	==> 3\n");
		printf("Alle Datensätze ausgeben lassen?	==> 4\n");		
		printf("Zum Beenden				==> 5\n");		
		scanf("%1s",&a);
		if (a=='1')
		{
			printf("Wieviele neue Tonträger möchten sie hinzufügen?\n");
			scanf("%d",&neu);
			for(i=1;i<=neu;i++)
			{
				c[i] = eingabe();
				x++;
				printf("\n");
			}
		}
		if (a=='4')
		{
			for(j=1;j<=x;j++)
			{			
				ausgabe(c[j]);
				printf("\n");
			}
		}
		/*if (a=='3')
		{
			printf("Welcher Künstler? "); scanf("%s",&k);
			printf("%s\n",k);
			for(l=1;l<=x;l++)
			{
				if (tontraeger.kuenstler==k)
				{
					ausgabe(c[l]);
					printf("\n");
				}
			}
				
		}*/
	}while (a!='5');
	return 0;
	}
		
soviel hab ich schon, ich kann nur einmal ein paar neue tonträger einlesen und dann alle ausgeben, jetzt ist das problem bei if(a==3), ich hoffe man erkennt was ich da vorhab^^

Re: Zugriff auf struct elemente

Verfasst: Fr Dez 10, 2010 12:58 pm
von cloidnerux
Man erkennt es, und die lösung wäre schon einmal strcmp
http://proggen.org/doku.php?id=c:lib:string:start
Dann ein paar Tipps:
Funktionen Kommentiere, was soll sie machen, was soll sie zurückgeben.
Von scanf abstand nehmen.
1 Befehl in 1 Zeile.
switch benutzen