Stapel(stack)



  • hasso schrieb:

    Hierzu hab ich nicht viel gefundenStapel (stack) . kennt jemand eine Web-Site wo ich hierzu Informationen finde.

    Betrachte den Stack als ein Array mit einem Index. Der Index zeigt immer auf das oberste Element.

    hasso schrieb:

    Wie ist das gemeint:

    struct person { char name[20]; int alter; float gehalt; var1,var2,var3}
    

    So???
    gruß

    Wenn du die komischen varX rausschmeisst, dann sieht das in erster Näherung ganz brauchbar aus.
    Fürs Alter sollte in den meisten Fällen ein signed char ausreichen
    Sicherheitshalber kannst du es ja auf unsigned char setzen.
    (Wer weiss wie das mit dem Ater der Menschen sein wird, wenn man dein Programm in 1000 Jahren noch benutzt. )



  • hallo,

    Ich verstehe 1 FEHLERMELDUNG nicht .

    1>c:\users\hasso\documents\visual studio 2008\c++\helloworld\zeichenkette\zeichenkette\zeichenkette\seminaraufgabe\aufgabe2.c\aufgabe2.c\aufgabezwei.c(33) : error C2440: 'Funktion': 'float' kann nicht in 'char *' konvertiert werden

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    #define MAX 30
    
    struct adres {char vorname[MAX]; char name[MAX]; int alter; float gehalt;} output; // nicht  ( ; ) vergessen!
    
    void output(struct adres * struct_ptr) // Ausgabe der Datensätze!
    {
    printf("\n\nSie gaben ein:\n\n");
    printf("Vorname......%s:",(*struct_ptr).vorname); // struct_ptr->vorname ! auch eine möglichkeit & ohne klammer
    printf("Nachname.....%s:",(*struct_ptr).name); // struct_ptr->name);
    printf("Alter........%i:",(*struct_ptr).alter); // struct_ptr->alter);
    printf("Gehalt.......%f:",(*struct_ptr).gehalt); // struct_ptr->gehalt);
    }
    //void input(adres * struct_eingabe)
    
    int main(void)
    {
    
    		printf("\nVorname			:");
    		printf("\nEingabe:"); fgets(output.vorname, MAX, stdin);
    
    		printf("\n\nNachname		:");
    		printf("\nEingabe:"); fgets(output.name, MAX, stdin);
    
    		printf("\n\nAlter			:");
    		printf("\nEingabe:"); fgets(output.alter, MAX, stdin);
    
    		printf("Gehalt				:");
    		printf("Eingabe:"); fgets(output.gehalt, MAX, stdin);
    
    		return EXIT_SUCCESS;
    
    }
    

    Tu ich das etwa ein float in char ??

    Gruß Hasso



  • hasso schrieb:

    printf("Eingabe:"); fgets(output.gehalt, MAX, stdin);
    

    Tu ich das etwa ein float in char ??

    Nein, in ein char*. Fehlermeldungen lesen bildet. Dokumentation, z.B. zu fgets, auch. Tip: Du willst wohl eher scanf benutzen.



  • Nene..

    das soll schon mit fgets gemacht werden..



  • hasso schrieb:

    Nene..

    das soll schon mit fgets gemacht werden..

    Nein!
    fgets() liefert die Eingabe von stdin als C-String und das willst du in einen float speichern???



  • hasso schrieb:

    // nicht  ( ; ) vergessen!
    // Ausgabe der Datensätze!
    // struct_ptr->vorname ! auch eine möglichkeit & ohne klammer
    

    die kommentare hat jemand anders hingeschrieben, ne? gibs zu!
    🙂



  • lool freak
    für wen hälst du mich!?

    am besten du guckst mal c von a bis z da steht das es 2 möglichkeiten gibt.

    Zu aufgabe:

    Es funktioniert nicht da fgets zeichenketten einliest und für alter scanf() benutzt werden mus´s nee?



  • hasso schrieb:

    am besten du guckst mal c von a bis z ...

    das erklärt einiges. 🙄

    hasso schrieb:

    Es funktioniert nicht da fgets zeichenketten einliest und für alter scanf() benutzt werden mus´s nee?

    richtig. wenn du unbedingt 'fgets' nehmen willst, (was ja manchmal nicht verkehrt ist) dann solltest du die zeichen in einen char-buffer einlesen und anschliessend mit atof, strtod, sscanf oder sonstwas in float bzw. double umwandeln.
    🙂



  • haha hasso hält noch immer das forum in betrieb...

    [quote="ieee754-freak"]

    hasso schrieb:

    am besten du guckst mal c von a bis z ...

    das erklärt einiges. 🙄

    ich finde ein gar nicht so schlechtes buch



  • hasso schrieb:

    ...
    am besten du guckst mal c von a bis z da steht das es 2 möglichkeiten gibt.
    ...

    Dann wird da bestimmt auch drin stehen, wie man ein float und ein int aus einem string rauspult, nicht wahr doch.


Anmelden zum Antworten