Zugriff auf struct elemente

Schnelle objektorientierte, kompilierende Programmiersprache.
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 » So Dez 12, 2010 12:32 pm

MoonGuy hat geschrieben:
Xin hat geschrieben:Um mal mit einem anderen Filmcharakter aus der guten, alten Zeit zu sprechen: "Brauche Input!" ^^ (wer erkennt's?)
Nummer irgendwie, right?(Den selben Spruch hat damals die Hundetrainerrin gebracht)
Kulturbanause, aber immerhin kannst Du es noch zuordnen ^^
Nr. 5 lebt.
AxelFoley1991 hat geschrieben:kann man in ubuntu eigentlich so eine struct datenbank, die man mit dem terminal startet speichern?, weil immer wenn ich die testen will muss ich die ,bei mir tonträger neu eingeben
Ein struct ist nicht anderes, als ein Speicherblock - und den kannst Du mit fwrite speichern, Du findest dort auch gleich ein Beispiel, das Deinem Problem nahe kommt.

Die anderen Lösungen sind auch möglich, aber für den Anfang würde ich Dir fwrite reichen.
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 » Di Dez 14, 2010 8:46 pm

ich hab nochmal ne frage zu meinem programm, ich hab ja ein typedef struct als funktion festgelegt sowie die ein- und asugabe eines Datensatzes, jetzt hab ich mir überlegt das man schon bevor das programm richtig losgeht schonmal ein paar datensätze drinhaben kann, nur hab ich leider immernoch nicht die lösung gefunden wie man die daten auf das datenfeld setzt und dort speichert, bei einem normalen struct funktioniert es nur will ich das mit dem typedef noch mit machen, weiß da jemand eine lösung?

MoonGuy
Beiträge: 231
Registriert: Fr Okt 08, 2010 2:49 pm

Re: Zugriff auf struct elemente

Beitrag von MoonGuy » Di Dez 14, 2010 9:42 pm

AxelFoley1991 hat geschrieben:ich hab nochmal ne frage zu meinem programm, ich hab ja ein typedef struct als funktion festgelegt sowie die ein- und asugabe eines Datensatzes, jetzt hab ich mir überlegt das man schon bevor das programm richtig losgeht schonmal ein paar datensätze drinhaben kann, nur hab ich leider immernoch nicht die lösung gefunden wie man die daten auf das datenfeld setzt und dort speichert, bei einem normalen struct funktioniert es nur will ich das mit dem typedef noch mit machen, weiß da jemand eine lösung?
Also struct mit typedef bleibt eine struct. Du kannst sie nur als eine Art Datentyp verwenden. Wo ist denn dein Problem? Wenn du beim Starten schon Werte haben willst, lies diese aus eine Quelle aus und trage sie in deine struct ein.

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

Re: Zugriff auf struct elemente

Beitrag von AxelFoley1991 » Do Dez 16, 2010 4:48 pm

noch eine Sache, Ich hab diese ausgelagerte Ausgabefunktion

Code: Alles auswählen

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);
}
wie schwer zu erkennen ist, gibt er mir das für jeden Tonträger zeilenweise aus, nun hab ich mir aber überlegt das man das ja auch als tabelle machen kann, sodass die einzelnen Namen den kopf bilden in einer zeile, und die einzelnen elemente dann auch zeile für zeile untereinander ausgegeben werden sollen, nur find ich mal wieder keine Lösung dazu, kann mir da jemand einen Tip geben?

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 16, 2010 4:57 pm

Du gibst den Tabellen Kopf aus:

Code: Alles auswählen

printf("Nr  |          Kuenstler         |         Album           | etc.\n");
printf(+---+-----------------------+----------------------+----------- 
Und dann die Einzelnen Elemente in jeder Reihe:

Code: Alles auswählen

   printf("%s |  ",tmp.Kuenstler);
   printf("%s | ",tmp.Album);
Dann nur noch Abstände angleichen.
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 16, 2010 5:06 pm

das problem ist nur, das ich ja mehrere datensätze hab, und da sind ja die künstler und Album unterschiedlich lang, das ist jetzt alles total verschoben

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 16, 2010 5:12 pm

Redundanz macht wiederholen unnötig.
quod erat expectandum

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 16, 2010 5:18 pm

cloidnerux hat geschrieben:Dafür gibt es abhilfe:
http://www.proggen.org/doku.php?id=c:li ... rmatstring
Hah, ich mag die Seite auch - sowas habe ich immer wieder gesucht und jetzt weiß ich genau, wo ich diese Infos finde. :-D
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 16, 2010 5:19 pm

die seite ist zwar klasse, jedoch hilft sie mir nicht wirklich weiter, da ja die asuzugebenden strings unterschiedlich lang sind, deswegen verschiebt sich das alles

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 16, 2010 5:21 pm

AxelFoley1991 hat geschrieben:die seite ist zwar klasse, jedoch hilft sie mir nicht wirklich weiter, da ja die asuzugebenden strings unterschiedlich lang sind, deswegen verschiebt sich das alles
Schau bei Feldbreite, bzw. Genauigkeit. Da sind genau die Beispiele, die Du brauchst.
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.

Antworten