Zugriff auf struct elemente

Schnelle objektorientierte, kompilierende Programmiersprache.
AxelFoley1991
Beiträge: 20
Registriert: Do Dez 09, 2010 6:34 pm

Zugriff auf struct elemente

Beitrag von AxelFoley1991 » Do Dez 09, 2010 6:38 pm

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?

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Zugriff auf struct elemente

Beitrag von Xin » Do Dez 09, 2010 7:15 pm

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?)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

AxelFoley1991
Beiträge: 20
Registriert: Do Dez 09, 2010 6:34 pm

Re: Zugriff auf struct elemente

Beitrag von AxelFoley1991 » Do Dez 09, 2010 7:29 pm

ne in c muss ich schreiben

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Zugriff auf struct elemente

Beitrag von cloidnerux » Do Dez 09, 2010 8:41 pm

ne in c muss ich schreiben
Need more Input!

Was hast du für Daten, wie sind sie Gespeichert, wie sollen sie abgerufen werden?
Redundanz macht wiederholen unnötig.
quod erat expectandum

AxelFoley1991
Beiträge: 20
Registriert: Do Dez 09, 2010 6:34 pm

Re: Zugriff auf struct elemente

Beitrag von AxelFoley1991 » Do Dez 09, 2010 9:56 pm

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

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Zugriff auf struct elemente

Beitrag von cloidnerux » Do Dez 09, 2010 10:03 pm

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?
Redundanz macht wiederholen unnötig.
quod erat expectandum

AxelFoley1991
Beiträge: 20
Registriert: Do Dez 09, 2010 6:34 pm

Re: Zugriff auf struct elemente

Beitrag von AxelFoley1991 » Do Dez 09, 2010 11:30 pm

ich bin im ersten semester studium und hab mich davor noch nie mit sowas auseinandergesetzt^^

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Zugriff auf struct elemente

Beitrag von Xin » Do Dez 09, 2010 11:43 pm

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.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

AxelFoley1991
Beiträge: 20
Registriert: Do Dez 09, 2010 6:34 pm

Re: Zugriff auf struct elemente

Beitrag von AxelFoley1991 » Fr Dez 10, 2010 12:17 pm

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^^

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Zugriff auf struct elemente

Beitrag von cloidnerux » Fr Dez 10, 2010 12:58 pm

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
Redundanz macht wiederholen unnötig.
quod erat expectandum

Antworten