Klausurvorbereitung



  • Ich check echt nicht was euer Problem ist.. ich selber bin auch innem Forum angemeldet (PCGH) und wenn iwelche Leute kommen und iwelche Fragen haben auf die ich die Antwort kenne, dann beantworte ich sie einfach.. Dafür sind ja Foren eig unter anderem gedacht ...

    Wenn einer kommt und fragt mich warum beispielsweise seine Graka im Desktop-Modus nicht runtertaktet, dann frage ich ihn Sachen, die für sein Problem relevant sind, analysiere sein Problem und schreibe ihm Vorschläge was er versuchen soll um das Problem zu beheben.. und zwar gehe ich immer davon aus, dass der oder diejenige ein absoluter Noob ist und versuche dadurch die Sache so verständlich und detailliert wie nur möglich zu erklären...

    Ich habe das Gefühl, dass IHR mich auf den Arm nehmen wollt... ich frage euch immer ganz höflich paar Sachen.. aber zurück krieg ich nur, dass ich ein Noob bin und nix drauf hab.. es ist mir egal ob ihr so denkt oder nicht.. aber ich bin etwas irritiert ob ihr mir nun helfen wollt oder ob ihr mich prüfen wollt...

    Wenn es hier jemanden gibt, der mir gerne helfen würde, dann bin ich dafür sehr dankbar.. Aber unter Hilfe verstehe ich nicht, dass ihr die Antwort bzw. Lösung auf mein Problem kennt, rückt sie aber nicht raus.. Manche sagen mir dann ne Lösung, ich verstehe aber nicht was er meint und dann krieg ich wieder an den Kopp geknallt, dass ich ein Noob bin...

    Ich mein.. ich WILL es ja verstehen... ihr gebt mir aber keine Chance... Eurer Meinung nach MUSS ich alles verstehen was ihr sagt und wenns nicht so ist, dann bin ich en Arschloch.... voll assi ...



  • xX Dany Xx schrieb:

    aber zurück krieg ich nur, dass ich ein Noob bin und nix drauf hab..

    bleib ganz entspannt, es war nicht böse gemeint. ich habe nichts gegen noobs und mach' mich auch nicht über sie lustig. aber du kannst doch keinem erzählen, dass du dich schon ein halbes jahr mit C beschäftigst, aber nicht weisst, wie man funktionen aufruft. das schliesst sich einfach aus, es sei denn, du hast die ganze zeit nur abgeschrieben und nichts verstanden.
    ^^ und wenn das stimmen sollte, dann sollteste dir unbedingt die grundlagen reinziehen, denn so kommst du nicht weiter, bzw. du machst es dir nur unnötig schwer.
    🙂



  • ich weiß wie man funktionen aufruft, aber iwie klappts nicht.. ich vermute halt, dass es daran liegt, weil es eine void funktion ist.. ich weiß es nicht ... wenn ich sonst ne funktion aufrufen wollte ahbe ich einfach geschrieben

    funktion();

    und fertig.. das geht halt jetzt iwie nicht und ich weiß nicht warum...



  • xX Dany Xx schrieb:

    ich weiß wie man funktionen aufruft, aber iwie klappts nicht.. ich vermute halt, dass es daran liegt, weil es eine void funktion ist.. ich weiß es nicht ... wenn ich sonst ne funktion aufrufen wollte ahbe ich einfach geschrieben
    funktion();
    und fertig.. das geht halt jetzt iwie nicht und ich weiß nicht warum...

    es geht ja gerade um diese funktion, ne?

    void student_eingeben (StudiTyp* ptr)
    {
      ...
    }
    

    das 'void' ganz vorn bedeutet, dass die funktion nichts zurückgibt. sie will aber was haben, das sieht man daran, dass kein 'void' in der klammer steht. frage an dich: was solltest du sinnvollerweise an die funktion übergeben (ausser 0, das lassen wir mal weg), damit der compiler nicht streikt?
    🙂



  • ja ich weiß ja nicht mal ob das richtig ist.. du kannst dir ja die aufgabe 5 a) am anfang angucken.. die Klammer war ursprünglich auch leer, aber ich hab das so ergänzt anhand einer anderen Aufgabe.. aber ich weiß nicht ob das so stimmt... ich denke es ....

    Ja was will die Funktion haben... Initialisierung von matnr und name vielleicht? Ich dachte das wäre in der Struktur initialisiert und das hätt ich ja durch das StudiTyp* ptr so an die Funktion weitergeleitet...



  • StudiTyp n00b;
    
    void student_eingeben(/*hier ist nix drin*/) 
    { // blah, ...
    	scanf ( "%d", n00b.matnr );
    	// blubb, .. den rest mach selber, malloc lässt grüßen
    }
    


  • da fehlt nen operator, masl sehen ob du aufgepasst hast 😉



  • scanf ("%d", &ptr->matnr);
    

    Ist das nicht das gleiche?

    Ach so nee .. mmnt.. will mal was probieren...



  • natürlich nicht.



  • xX Dany Xx schrieb:

    Ja was will die Funktion haben... Initialisierung von matnr und name vielleicht? Ich dachte das wäre in der Struktur initialisiert und das hätt ich ja durch das StudiTyp* ptr so an die Funktion weitergeleitet...

    ich meine, in der parameterliste steht: StudiTyp ptr*
    ^^ was ist damit gemeint?
    🙂



  • struct Student {
    	int matnr;
    	char* name;
    };
    typedef struct Student StudiTyp;
    
    StudiTyp a;
    StudiTyp b;
    
    void student_eingeben ()
    {
    	printf ("Matrikelnummer: ");
    	scanf ("%d", &a.matnr);
    	printf ("Name: ");
    	scanf ("%s", b.name);
    }
    
    int main ()
    {
    		student_eingeben();
    		getch();
    }
    

    Ich kriege zwar am Ende iwelchen Fehler, aber das Prog läuft schon mal ^^



  • Gut so, ähem, jetzt fehlen noch ein, zwei mallocs. Btw. für Aufgabe 5a gibt es mit C nur unsinnige Lösungen und Ansätze.



  • xX Dany Xx schrieb:

    ...
    void student_eingeben ()
    {
    	printf ("Matrikelnummer: ");
    	scanf ("%d", &a.matnr);
    	printf ("Name: ");
    	scanf ("%s", b.name);
    }
    ...
    

    Ich kriege zwar am Ende iwelchen Fehler, aber das Prog läuft schon mal ^^

    damit gibst du nur a.matnr und b.name ein. a.name und b.matnr bleiben leer. ausserdem ist das ziemlich unflexibel, du müsstest für jeden member jeder struct zwei zeilen hinschreiben. der ursprüngliche ansatz mit dem StudiTyp* war schon nicht so verkehrt.
    🙂



  • dozent0r schrieb:

    Gut so, ähem, jetzt fehlen noch ein, zwei mallocs. Btw. für Aufgabe 5a gibt es mit C nur unsinnige Lösungen und Ansätze.

    ^^ blödsinn, das geht in C wunderbar und mallocs brauchste auch nciht.
    🙂



  • ja aber der Fehler ist ganz schön schlecht... Mallocs?? Ich wollte nach der Eingab von Name nochmal Ausgabe machen, dass er das halt nochmal anzeigt, aber soweit kommt er ja dann gar nicht... jmnd ne Idee?

    ja was jetzt?? also doch jetzt mit StudiTyp* ptr?



  • xX Dany Xx schrieb:

    ja aber der Fehler ist ganz schön schlecht... Mallocs?? Ich wollte nach der Eingab von Name nochmal Ausgabe machen, dass er das halt nochmal anzeigt, aber soweit kommt er ja dann gar nicht... jmnd ne Idee?

    dozent0r will dich nur veralbern, beachte ihn nicht.
    🙂



  • LoL okay... ich konzentrier mich meistens ehe nur auf ;fricky oder noobLolo und en paar andere.. kommen immer mal so paar unbekannte dazu.. die verwirren mich dann immer...



  • struct Student { 
     int   matnr; 
     char* name; // <- ohne malloc ?
    }; 
    typedef struct Student StudiTyp;
    
    (...)
    
    void student_eingeben (void);
    

    ^^ So sind die Vorgaben. Die kann man nicht wegdiskutieren.

    @xX Dany Xx :
    Soll die Aufgabe 5 wirklich mit C gelöst werden?



  • Ja nur C Bitte keine C++ und auch keine C# Sprachen!!!
    Das ist in der Klausur ohnehin nicht zulässig...
    Das Fach Einführung in die Programmierung behandelt nur C-Programmiersprache..

    Achso ja bis auf die b) .. die haben wir gestrichen.. sowas wird bei uns auch nicht drankommen denk ich... also solange es dafür keine Lösung in C gibt...



  • Ja wenn ich jetzt so darüber nachdenke.. Wenn die b) nur in C++ lösbar ist und es keine vernünftige Lösung in C für a) gibt... ist es schon möglich, dass die komplette 5 in C++ gelöst werden sollte...

    Wie gesagt wir haben nur ne kleine Exkursion in C++ gemacht... angeblich soll in der Klausur von C++ nix drankommen, hat der Prof gesagt... das ist ne Klausur vom SS und der ist länger.. deswegen ist es möglich, dass die halt so ne kleine C++ Aufgabe hatten.. bei uns kommt sowas halt aber nicht dran...


Anmelden zum Antworten