Problem mit struct
-
Hallo liebe Community,
ich = 1. Semester Informatik(noch ganz frisch)
Ich habe leider noch einige Probleme beim programmieren und deswegen habe ich mich hier angemeldet in der Hoffnung das Ihr mir helfen könnt.#include <stdio.h>
struct SBruch {
int zaehler;
int nenner;
};void bruch_einlesen(struct Sbruch* bruch){
printf("Bitte geben Sie den Zähler ein: ");
scanf("%i", (&bruch.zaehler));
printf("Bitte geben Sie den Nenner ein: ");
scanf("%i", (&bruch.nenner));
}void bruch_ausgeben(struct SBruch bruch){
// Ausgabe
printf("Der Bruch lautet %i/%i\n", bruch.zaehler, bruch.nenner );
}
int main() {
struct SBruch anteil;
anteil.zaehler = 1;
anteil.nenner = 4;struct SBruch tortenstueck;
tortenstueck.zaehler = 2;
tortenstueck.nenner = 10;bruch_ausgeben(anteil);
bruch_ausgeben(tortenstueck);return 0;
}so sieht mein Programm aus immer wieder bekomme ich diese Fehlermeldung:
sperson.c:10:31: Warnung: »struct Sbruch« innerhalb Parameterliste deklariert [standardmäßig aktiviert]
sperson.c:10:31: Warnung: sein Gültigkeitsbereich umfasst nur diese Definition bzw. Deklaration, was Sie wahrscheinlich nicht wollten [standardmäßig aktiviert]
sperson.c: In Funktion »bruch_einlesen«:
sperson.c:13:26: Fehler: Anfrage nach Element »zaehler« in etwas, was keine Struktur oder Variante ist
sperson.c:15:26: Fehler: Anfrage nach Element »nenner« in etwas, was keine Struktur oder Variante istDas Problem ist an dieser Stelle und ich komme nicht weiter, hoffe ihr könnt mir weiter helfen.
void bruch_einlesen(struct Sbruch* bruch){
printf("Bitte geben Sie den Zähler ein: ");
scanf("%i", (&bruch.zaehler));
printf("Bitte geben Sie den Nenner ein: ");
scanf("%i", (&bruch.nenner));
}Eine Bitte hätte ich noch bevor ihr mir eine "richtige" Lösung zeigt probiert es doch bitte erst bei euch aus.
Vielen Dank
DJ Motherboard
-
C unterscheidet zwischen Groß- und Kleinschreibung.
SBruch/Sbruch
Bitte nicht zu hart auf der Tischplatte aufschlagen...
-
Ohhh man ja danke das stimmt aber ich bekomme immer noch die Fehlermeldung:
sperson.c:16:26: Fehler: Anfrage nach Element »zaehler« in etwas, was keine Struktur oder Variante ist
sperson.c:18:26: Fehler: Anfrage nach Element »nenner« in etwas, was keine Struktur oder Variante ist
-
DJ Motherboard schrieb:
sperson.c:16:26: Fehler: Anfrage nach Element »zaehler« in etwas, was keine Struktur oder Variante ist
sperson.c:18:26: Fehler: Anfrage nach Element »nenner« in etwas, was keine Struktur oder Variante ist#include <stdio.h> struct SBruch { int zaehler; int nenner; }; void bruch_einlesen(struct SBruch* bruch){ printf("Bitte geben Sie den Zähler ein: "); scanf("%i", (&bruch.zaehler)); printf("Bitte geben Sie den Nenner ein: "); scanf("%i", (&bruch.nenner)); }
Na überleg mal: Du hast einen
SBruch*
, wie dereferenzierst Du einen solchen Zeiger?
-
Tut mir leid ich steh aufm Schlauch.
-
scanf("%i", &bruch->zaehler);
*Edit
bruch->zaehler ist das gleiche wie (*bruch).zaehler. Der Pointer wird zuerst dereferenziert und dann auf den Member zugegriffen.
-
Vielen Dank für die Antwort