Programmierung in C Aufgabe
-
Dieser Beitrag wurde gelöscht!
-
@Progkid sagte in Programmierung in C Aufgabe:
Eigentlich sind die glaube ich gleich, aber wenn ich die Aufgabe lese dann denke ich, ich soll typedef struct {...} team; nutzen. Aber dann muss ich struct team liga [18]; zu team liga [18]; ändeern oder ?
Du kannst auch beides machen:
typedef struct team {...} team;
. Dann funktionieren danach sowohlteam mein_team;
als auchstruct team mein_team;
.Ob du es machen sollst - keine Ahnung und vermutlich auch egal. Je nachdem, wie ihr das bisher so gemacht habt.
Mit #define ... habe ich nicht verwendet, da wir das im Studium noch nicht benutzt haben.
Naja, aber die Zahlen (womöglich auch mehrfach) einfach so in den Quelltext zu schreiben, ist extrem schlechter Stil und überhaupt nicht wartungsfreundlich. Lies dir mal https://de.wikipedia.org/wiki/Magische_Zahl_(Informatik)#Magische_Zahlen_in_Code durch.
Du musst es auch nicht mit
#define
machen. Du kannst stattdessen auchenum { konstante=Wert}
verwenden. Ist vermutlich eh schöner als#define
. In C++ ginge auch einfach ein einfachesconst int MAX_BLUBB = 1234;
.Das mit Nullterminator weiß ich auch leider nicht, aber wird das ein unterschied machen bei den Namen? Ich glaube es gibt nur ein Mannschaft mit 19 Zeichen.
Dann ist es doch egal. Ich denke, das passt schon so.
-
Okey, alles klar, Danke Ihnen sehr !!
Ich mache weiter mit der Aufgabe und wenn ich Schwierigkeiten habe, wende ich mich nochmal hier.
Vielen vielen Dank
-
@Progkid Übersetze mal „kurze Ganzzahl“ ins englische.
Dann hast du den Typ für deine Member.
-
ow ja stimmt, es soll short sein, aber soll ich char oder short nutzen? Denn char ist ja 1 Byte und short 2 Byte. Vielen Dank für den Hinweis !!
-
Dieser Beitrag wurde gelöscht!
-
@Progkid Eine Schleife von 0 bis 17 sollte schon noch drin sein.
-
@Progkid sagte in Programmierung in C Aufgabe:
aber soll ich char oder short nutzen?
Kurze Ganzzahl würde ich als
short int
interpretieren.Denn char ist ja 1 Byte und short 2 Byte. Vielen Dank für den Hinweis !!
Nein. Es gilt
sizeof char == 1
undshort int
ist mindestens 16 Bits groß (darf auch größer sein!). Siehe https://en.cppreference.com/w/c/language/arithmetic_types - wenn du auf genau 1 oder genau 2 Bytes (8/16 Bits) gehen willst, müsstest duint8_t/int16_t
nehmen. Siehe https://en.cppreference.com/w/c/types/integerJetzt hänge ich an dieser Aufgabe. Ich verstehe nicht wirklich was zu machen ist oder wie es zu machen ist.
Schreiben Sie ein Unterprogramm namens neue_saison.
Das hast du erledigt.
An das Unterprogramm soll anschließend ein Zeiger auf liga sowie mannschaften übergeben werden.
Du hast aktuell keinen Paramter übergeben. Schau dir an, wie du Parameter übergeben kannst.
Die Funktion hat keinen Rückgabewert.
Ist bei dir schon erledigt.
Die Aufgabe des Programms ist es...
Naja, da hast du ja noch gar nichts von gemacht. Es ergibt keinen Sinn, dir das jetzt hinzuschreiben, du musst das schon selber versuchen bzw. wenn du Probleme hast, genau nachfragen, aber nicht so.
-
An das Unterprogramm soll anschließend ein Zeiger auf liga sowie mannschaften übergeben werden.
Das verstehe ich gar nicht. soll es in den Parameter von void neue_saison() sein?
alsovoid neue_saison(team*liga, char*manschaft) { }
-
@Progkid sagte in Programmierung in C Aufgabe:
Das verstehe ich gar nicht. soll es in den Parameter von void neue_saison() sein?
Wenn das Unterprogramm die Daten übergeben bekommt, wäre es sinnvoll, wenn es diese auch entgegen nimmt.
void neue_saison(teamliga, charmanschaft)
Zur Lesbarkeit sollten beim * noch ein Leerzeichen sein.
void neue_saison(team *liga, char *mannschaft)
Vielleicht hast du schon mal was von Pointern und Arrays mitbekommen.
Zumindest stellt man solche Aufgaben nicht im ersten Kapitel.
-
Dieser Beitrag wurde gelöscht!