Datenstrukturen > neue funktion mit zeiger auf inhalt der datenstruktur
-
ich versuch grad die prüfungsaufgaben zu machen wie immer
und kommte nicht weiterhttp://nk.stzre.de/upload/downloads/2009_i1_pr_ss09.pdf
aufgabe 6a hab ich soweit hinbekommen, nun weiß ich nicht wie ich 6b angehen soll :S
6a
struct datum
{
unsigned short jahr;
unsigned char tag,monat;
};struct best_position
{
unsigned short menge;
float einzelpreis;
unsigned short jahrgang;
char sorte[30];
};struct bestellung
{
unsigned int auftragnr,kundennr;
struct datum bestdatum,lieferdatum;
char kundenname[40],verkname[12];
struct best_position positionen[100];
};struct bestellung 1;
kann mir jemand auf die sprünge bei der 6b helfen? :S
-
Du sollst die Strukturen mit Werten füllen. Dazu übergibst du einer Funktion die Werte, die dann die Struktur füllt.
Wenn du Preise ganzzahlig in Cent betrachtest hast du weniger Probleme mit Rundungsfehlern.
Und nutze die C/C++ Tags unter den Smilies
(Text markieren und Button drücken)
-
neudef(struct 1 *b, int *L, int *K) { b=&1; *b.lieferdatum=x; *b.kundennummer=y; return0; }
so in der art?
oben hab ich noch "struct bestellung 1;" hinzugefügt
-
So in etwa.
Beachte noch die Besonderheit bei Zeiger auf Strukturen, und die Datentypen in deinen Strukturen
oben hab ich noch "struct bestellung 1;" hinzugefügt
Wozu soll die denn sein?
-
also ist dieses struct bestellung 1 unnötig?
ich kann auch schreiben
struct bestellung *b?
-
Mit struct bestellung 1; deklarierst du eine Variable vom Typ struct bestellung mit Namen (Bezeichner) 1.
Bezeichner müssen in C mit einem Buchstaben oder Unterstrich anfangen.
Bei (struct 1 *b,...) gibt es eine struct mit Namen 1 gar nicht.
Du musst das struct zusammen mit dem Bezeichner dahinter als EIN Datentyp auffassen.
struct bestellung oder struct datum ist so was wie short oder double.Bei struct bestellung *b hast du einen Zeiger mit Namen b auf eine struct bestellung
-
vnecked schrieb:
neudef(struct 1 *b, int *L, int *K) { b=&1; *b.lieferdatum=x; *b.kundennummer=y; return0; }
Hier stimmt überhaupt nichts, ist alles falsch. Mit diesem Wissen wirst du durchfallen.
-
autsch, abgesehen vom variabel-namen stimmt da wirklich so gut wie nix...
lies dir mal die grundland in C durch bevor du dich an sowas ranschmeisst...