Strukturen

seriously

Mitglied
Könnte mir jemand bitte helfen.
Es geht um Strukturen.

Und ein Unterprogramm soll eine Eingabe machen.
ich hab jetzt nur von einem Komponenten gemacht.
Code:
void Konto_Eingabe (struct Konto *Num);

#include <stdio.h>
int main(void)
{


  struct Konto {
         char Bezeichnung [31];
         unsigned int Nummer;
         double Stand;
  };

  return 0;
}

void Konto_Eingabe (struct Konto *Num)
{
  printf ("Geben Sie die Nummer ein:");
  scanf ("%d", &Num->Konto);

}
 
Hi

1) Pushen ist verboten. Sonntag Abend ist übrigens wirklich der beste Zeitpunkt, um seine Aufgaben zu machen...
2) Wenn du die Aufgabenstellung posten würdest, müssten wir nicht raten.
3) Wenn du das Problem posten würdest, müssten wir nicht raten.
4) Includes schreibt man üblicherweise an den Dateianfang
5) Strukturen, die man in Funktionen haben will, sollten global sein. Nicht in main.
6) Beim scanf in der Funktion: In der struct Konto gibt es kein int Konto.
Zusammenkopiert und nicht einmal kompiliert?
Statt &Num->Konto wäre wohl &Kon->Nummer angebrachter
Entsprechend auch den Parameternnamen anpassen.
7) In der Funktion fehlen Eingabemöglichkeiten für Bezeichnung und Stand
8) Im main fehlt der Funktionsaufruf
9) Für den musst du auch im main noch eine Instanz der struct anlegen.

Gruß
 
Danke habs schnell geschrieben (Post)
Was meinst du global?
Wo soll ichs dann deklarieren ?

Code:
void Konto_Eingabe (struct Konto *Kon)
{
  printf ("Geben Sie die Nummer ein:");
  scanf ("%d", &Kon->Nummer);

}

Wenn ichs so schreibe kommt die Fehlermeldung:
'Nummer' is not a member of 'Konto', because the type is not yet defined
 
Also mit global meinte er, die Struktur vor main() zu deklarieren.

Dein Programm sollte laufbar einmal so aussehen:

Code:
#include <stdio.h>
#include <stdlib.h>

struct Konto
{
    char Bezeichnung[31];
    unsigned int Nummer;
    double Stand;
};

void Konto_Eingabe (struct Konto *Num)
{
    printf ("Geben Sie die Nummer ein: ");
    scanf ("%ud", &Num->Nummer);

    return;
}

int main(void)
{
    struct Konto *a;
    a = malloc (sizeof (struct Konto));

    Konto_Eingabe (a);

    return EXIT_SUCCESS;
}

Die Struktur wird global deklariert. Dann kommt die Funktion. Zum Schluss die main()-Funktion, in der ein Zeiger vom Typ struct Konto deklariert wird, diesem Zeiger wird freier Speicherplatz zugewiesen (sonst kann der überall hin zeigen!) und dann wird die Funktion aufgerufen.

Lg
 
Aua.
Was machst du denn da mit malloc?
Wenn schon, fehlt da ein free.

Aber warum umständlich, wenns einfach auch geht?
C++:
#include <stdio.h>

struct Konto
{
    char Bezeichnung [31];
    unsigned int Nummer;
    double Stand;
};

void Konto_Eingabe (struct Konto *Kon)
{
    printf ("Geben Sie die Bezeichnung ein:");
    fgets(Kon->Bezeichnung, 31, stdin);
    printf ("Geben Sie die Nummer ein:");
    scanf ("%u", &Kon->Nummer);
    printf ("Geben Sie den Standein:");
    scanf ("%lf", &Kon->Stand);
}

int main(void)
{
    Konto k;
    Konto_Eingabe(&k);
    return 0;
}

Gruß
 
Zurück