Klausurvorbereitung



  • nee das sind ja keine Hausaufgaben.. aber ich hab relativ viel in kurzer Zeit zu lernen und deswegen dachte ich, dass ihr mir mit ein paar Aufgaben helfen könntet.. Ich habe auch schon in unserem TI Forum reingeschrieben, dass es schön wäre, wenn die Leute mal die Lösungen posten würden.. Weil es ist doof etwas zu lernen, wenn man sich nicht sicher sein kann, ob das was man rauskriegt richtig ist. Aber das habe ich heute erst angesprochen mal sehen was kommt.

    ;fricky schrieb:

    und auch(<-- umgangssprachlich für logisches 'oder')

    Dann ist das hier falsch 🙂 Umgangssprachlich für logisches OR ist einfach oder...

    ;fricky schrieb:

    wenn du alle zwischen -10 und +10 brauchst, dann mach das || zum &&, also: if (zahl>-10 && zahl<10)

    das hab ich probiert.. aber jetzt trifft genau der umgekehrte fall ein.. egal was ich eingebe, es ist alles falsche eingabe und er springt sofort aus der schleife raus..



  • Big Brother schrieb:

    Guck mal in deinem Script unter Eingabe/scanf/Format/Formatstring/Formatelemente oder hier heißen die Dinger auch Platzhalter:
    http://de.wikibooks.org/wiki/C-Programmierung:_Einfache_Ein-_und_Ausgabe

    Ja ich kenn das mit den Argumenttypen, aber.. da steht irgendwie nicht alles ... das ist total komisch... z.B. bei dieser Aufgabe ja:

    Aufgabe 1 (20 Punkte)
    Welche Werte haben die Variablen in jeder Zeile?
    int i; long l; float f; double d;
    a) i = l = f = d = 100/3; // i = ?, l = ?, f = ?, d = ?
    b) d = f = l = i = 100/3;
    c) i = l = f = d = 100/3.0;
    d) d = f = l = i = (float) 100/3

    Kommts nicht drauf an was ich dann bei printf fürn Buchstabe nehme?



  • xX Dany Xx schrieb:

    nee das sind ja keine Hausaufgaben.. aber ich hab relativ viel in kurzer Zeit zu lernen und deswegen dachte ich, dass ihr mir mit ein paar Aufgaben helfen könntet.. Ich habe auch schon in unserem TI Forum reingeschrieben, dass es schön wäre, wenn die Leute mal die Lösungen posten würden.. Weil es ist doof etwas zu lernen, wenn man sich nicht sicher sein kann, ob das was man rauskriegt richtig ist. Aber das habe ich heute erst angesprochen mal sehen was kommt.

    😡

    ich glaub ich explodier schon wieder, du hast einfach nix gemacht, und kommst deswegen mit deiner zeit nicht klar, jeder der sich ein bischen mit c beschäftigt hat, sollte die aufgaben locker in ner halben stunde lösen können (maximal). ich hab mit dir kein mitleid. und werde auch alle fragen von xX Dany Xx in zukunft ignorieren.

    es ist das letzte nichts zu machen und es dann hier lösen zu lassen damit du noch deine anderen fächer für die du nix gemacht hast lernen kannst.

    programme kannst du ganz einfach validieren, schick sie durch den compiler aber selbst dazu bist du am ende des semesters nicht in der lage, ein trauer spiel ist das mit dir...

    og lolo



  • wenn du in informatik ne note bekommst mit der du nicht durchgefallen bist sollte deinem lehrer sein "prof" entzogen werden.

    solche faulen säcke wie du verschwenden in den unis meine steuer gelder und sollten alle von derartigen einrichtungen eliminiert werden.



  • ;fricky schrieb:

    fein, und was lernen wir daraus? dem prof. lauschen + selber lernen und sich mit dem zeug auseinandersetzen? aber nein, nur hartnäckig im ansi-C forum abhängen, denn hier werden sämtliche hausaufgeben prompt erledigt, wenn auch manchmal mit einer kleinen verzögerung. aber egal, jede strategie, die zum erfolg führt, ist eine gute strategie. *fg*

    Jepp, da wird eine Frage beantwortet und bevor sie geklärt ist, wird die nächste Aufgabe in den Thread gerotzt.
    Da habe ich auch keinen Bock mehr drauf.



  • xX Dany Xx schrieb:

    das hab ich probiert.. aber jetzt trifft genau der umgekehrte fall ein.. egal was ich eingebe, es ist alles falsche eingabe und er springt sofort aus der schleife raus..

    probier dies:

    int zahl;
      for (zahl=-20; zahl<=20; zahl++)
        if (zahl>-10 && zahl<10)        // zwischen -10 und 10 ?
          printf ("%d, ja\n", zahl);
        else
          printf ("%d, nein\n", zahl);
    

    das gegenteil davon wäre !(zahl>-10 && zahl<10) oder zahl<=-10 || zahl>=10 (je nachdem, was du lesbarer findest).

    noobLolo schrieb:

    solche faulen säcke wie du verschwenden in den unis meine steuer gelder...

    ach, die armen schweine zahlen doch auch genug, semesterbeitrag, studiengebühr, usw.
    🙂



  • ;fricky schrieb:

    noobLolo schrieb:

    solche faulen säcke wie du verschwenden in den unis meine steuer gelder...

    ach, die armen schweine zahlen doch auch genug, semesterbeitrag, studiengebühr, usw.
    🙂

    dachte so ein 08/15 student kostet zwischen 10.000 und 30.000€ pro jahr kpl. ob das mit den paar hundert euronen die sie pro semester berappen müssen gedeckt ist



  • noobLolo schrieb:

    dachte so ein 08/15 student kostet zwischen 10.000 und 30.000€ pro jahr kpl. ob das mit den paar hundert euronen die sie pro semester berappen müssen gedeckt ist

    naja, aber die paar hundert eurönchen können für 'nen studi ohne reiche eltern ein grosse belastung sein (er muss parallel zum studium jobben und so), während die 30.000 auf viele-viele leute aufgeteilt werden, die das überhaupt nicht wahrnehmen.
    🙂



  • ;fricky schrieb:

    ...für 'nen studi ohne reiche eltern...

    wüßt ja mal gern wieviele das sind, schätz mal nicht mehr als 10%...



  • letztens habe ich ne statistik gesehen, in der 90% der studis mit > 450€ von den Eltern im Monat unterstützt werden.



  • noobLolo schrieb:

    😡

    ich glaub ich explodier schon wieder, du hast einfach nix gemacht, und kommst deswegen mit deiner zeit nicht klar, jeder der sich ein bischen mit c beschäftigt hat, sollte die aufgaben locker in ner halben stunde lösen können (maximal). ich hab mit dir kein mitleid. und werde auch alle fragen von xX Dany Xx in zukunft ignorieren.

    es ist das letzte nichts zu machen und es dann hier lösen zu lassen damit du noch deine anderen fächer für die du nix gemacht hast lernen kannst.

    programme kannst du ganz einfach validieren, schick sie durch den compiler aber selbst dazu bist du am ende des semesters nicht in der lage, ein trauer spiel ist das mit dir...

    wenn du in informatik ne note bekommst mit der du nicht durchgefallen bist sollte deinem lehrer sein "prof" entzogen werden.

    solche faulen säcke wie du verschwenden in den unis meine steuer gelder und sollten alle von derartigen einrichtungen eliminiert werden.

    og lolo

    Ey mach mal halb lang.. Ich habe mich mit C halbes Jahr lang beschäftigt... ich musste im laufe des Semesters 10 Programme abgeben, die mehr als ne halbe stunde in anspruch nahmen! Trotzdem kann ich nicht alles! Ich studiere Technische Informatik, weil ich Interesse an der Computer-Hardware habe und mich Programmierung eig überhaupt nicht interessiert! Trotzdem muss ich da halt durch, also mach ich auch was! Wenn ich GAR NIX machen würde, dann wär ich nicht hier!! Außerdem habe ich einige Aufgaben bereits alleine gelöst! Ich frage euch ja nicht alles, sondern wirklich nur das wo ich nicht Bescheid weiß... ich habe mich gestern von 15 Uhr bis 3 Uhr morgens nur mit scheiß C Programmierung beschäftigt!

    Ich bin in Informatik sogar sehr gut.. habe bereits in den kleinen Tests 79 Punkte von 100 erreicht und die Klausur wird für mich auch kein Problem sein! Aber Informatik ist etwas anderes als Programmierung!.. Es ist zwar miteinander irgendwo verknüpft aber nicht das selbe!

    Ich bin schon im 5. Semester .. Meine Mutter gibt mir gar nix! Vater habe ich nicht! Ich muss arbeiten gehen für 7.50 die Stunde und muss jeden Semester Studiengebühren bezahlen... bzw. Semesterbeitrag von 215 Euro .. Trotzdem habe ich schon genug bestandene Klausuren! Und ich hab noch ne Freundin, die 500km von mir weit weg wohnt ... also erzähl mir nicht was ich zu tun hab... ich hab selber genug Probleme... 👎



  • ich möchte nur noch klar stellen.. ich bin hier nicht auf der Suche nach Nachhilfelehrern, sondern nach richtigen Lösungen, damit ich anhand der korrekten Lösungen lernen kann... Das ist zwar nett gemeint, wenn ihr mir was beibringen wollt.. aber es geht schneller, wenn ich die Lösungen habe und dann selber gucke wo meine Probleme liegen um schnellstmöglich meine Wissenslücken zu füllen...



  • xX Dany Xx schrieb:

    ich habe mich gestern von 15 Uhr bis 3 Uhr morgens nur mit scheiß C Programmierung beschäftigt!

    haben sie dir nicht für's nächste semester c++ angedroht? ich glaube, dann wirst du richtig abkotzen. C ist der reinste kinderkram dagegen. *fg*

    xX Dany Xx schrieb:

    i...aber es geht schneller, wenn ich die Lösungen habe und dann selber gucke wo meine Probleme liegen um schnellstmöglich meine Wissenslücken zu füllen.

    das ist'n trugschluss. man lernt nur durch selbermachen, egal was, schwimmen, autofahren, c-programmieren, ... musterlösungen anzuschauen ist nur bedingt hilfreich. ausserdem gibt es einem doch ein tolles gefühl, wenn man eine schwierige aufgabe selbst geknackt hat, oder haste keinen sportlichen ehrgeiz?
    🙂



  • Ja also da hab ich was anderes gehört.. du bist der erste der mir sagt, dass C++ schwerer sein soll ... Alle sagen, dass C++ viel einfacher ist, gerade was Zeiger angeht soll das viel gemütlicher sein.. Und im nächsten Sem. gibts dann C# ..

    Ja aber als ich Schwimmen oder Autofahren gelernt habe war jemand von Anfang an da, der wusste was ich kann oder nicht kann. Ihr wisst es eben nicht und deswegen bringt das nix... Musterlösungen bringen mir sehr sehr viel.. Ich mach das schon seit 2.5 jahren so und es hat bis jetzt IMMER geklappt. Sportlicher Ehrgeiz... ehrlich gesagt sind mir Bestandene Klausuren lieber als gutes Gefühl... Ich guck mir die Lösungen an, grüble darüber nach warum das so ist, finde es heraus und bin glücklich! So funktioniert das... Erst wenn ich etwas nicht herausfinden kann, WARUM das so ist... Dann frage ich nach! Aber wenn ich kein Plan habe.. und etwas bearbeiten soll.. wie soll ich das machen? Wenn ich nicht weiß wie??? Deswegen die Lösungen... wie gesagt.. mach das schon jahrelang so und es ist schnell und funktioniert....



  • xX Dany Xx schrieb:

    Ja also da hab ich was anderes gehört.. du bist der erste der mir sagt, dass C++ schwerer sein soll ... Alle sagen, dass C++ viel einfacher ist, gerade was Zeiger angeht soll das viel gemütlicher sein.

    naja, c++ hat erstmal zwei verschiedene arten von eingebauten zeigern und dazu noch haufenweise libraries mit sogenannten 'smart-pointern'. das ist alles schon sehr esoterisch. zur einstimmung auf das thema c++ empfehle ich dir das hier: http://yosefk.com/c++fqa/
    🙂



  • Gut okay.. nochmal zu der Aufgabe 5 a) die am Anfang steht..
    Ich habe jetzt das hier geschrieben:

    struct Student {
    	int matnr;
    	char* name;
    };
    typedef struct Student StudiTyp;
    
    void student_eingeben (StudiTyp* ptr)
    {
    	printf ("Matrikelnummer: ");
    	scanf ("%d", ptr->matnr);
    	printf ("Name: ");
    	scanf ("%s", ptr->name);
    	return;
    }
    

    Aber wie soll ich jetzt die Funktion starten? Wenn ichs im main starten will, dann gehts nicht weil er iwie keine 0 Argumente akzeptiert... und die funktion muss void student_eingeben() heißen...



  • xX Dany Xx schrieb:

    Aber wie soll ich jetzt die Funktion starten? Wenn ichs im main starten will, dann gehts nicht weil er iwie keine 0 Argumente akzeptiert... und die funktion muss void student_eingeben() heißen...

    So wie jede andere Funktion auch, du scheinst das Prinzip einfach nicht zu verstehen! Ich empfehle dir, fang nochmal bei den Grundlagen an.

    Um die Funktion aufzurufen, erstellst du in der main-Funktion eine Variable vom Typ StudiTyp, und übergibst beim Aufruf der Funktion diese Variable an diese Funktion (ums mal blöd auszudrücken), und zwar als Pointer, damit die Struktur gefüllt wird.

    P.S.: Wieso benutzt du am Ende einer void-Funktion eine return Anweisung?



  • xX Dany Xx schrieb:

    Ich habe mich mit C halbes Jahr lang beschäftigt... ich musste im laufe des Semesters 10 Programme abgeben, die mehr als ne halbe stunde in anspruch nahmen!

    dann solltest du mindestens wissen dass das falsch ist

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

    und eigentlich

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

    so da stehen müßte.

    und jetzt erzähl mir bitte nicht mehr das deine lern techniken so super funktionieren axo und bei void brauchst kein return; außer du willst aus der function raus aber du bist ja eh am ende...

    und es steht nur da das die rückgabe void ist und nicht der parameter...

    jetzt hab ich mich doch wieder hin reißen lassen was zu posten, da sieht man mal das ich keinem lange böse sein kann, bin ja nicht nwp2 😉



  • beselbube schrieb:

    Ich empfehle dir, fang nochmal bei den Grundlagen an.

    Um die Funktion aufzurufen, erstellst du in der main-Funktion eine Variable vom Typ StudiTyp, und übergibst beim Aufruf der Funktion diese Variable an diese Funktion (ums mal blöd auszudrücken), und zwar als Pointer, damit die Struktur gefüllt wird.

    Kannst du mir vllt den code hinschreiben? Ich weiß nicht wie du das meinst..

    @noobLolo
    Wir haben ein Programm zu Verketteten Listen geschrieben und da wurde der Adressoperator auch nicht benutzt.. kann dir nicht sagen warum.. hier ein kleiner Ausschnitt:

    void erstellen (element* ptr)
    {
    	printf ("Wort eingeben (\x22 \bENDE\x22 \b f\x81 \br Ende der Liste): ");
    	scanf ("%s", ptr->wort);
    	if (strcmp(ptr->wort, "ENDE") == 0)
    		ptr->next = NULL;
    	else
    	{
    		ptr->next = (element*) malloc(sizeof (element));
    		erstellen(ptr->next);
    	}
    
    	return;
    }
    

    Das Programm funktioniert zweifelsfrei richtig..



  • scanf ("%s", ptr->wort);

    ptr->wort ist ein (char 😉 und kein (int) das ist der unterschied und der grund warum das klappt,

    daher hab ich auch in deinem beispiel nur ein mal & ergänzt und nicht in dem scanf("%s"... denn da stimmte es...


Anmelden zum Antworten