Help me..Notsituation Klausurvorbereitung C++



  • Ein Studium der Informatik, insbesondere ein Fernstudium, setzt die Fähigkeit zum autodidaktischen Lernen voraus. Übe es mit dieser Aufgabe.

    Es bringt dir absolut rein gar nichts, wenn wir dir sagen, wie die Lösung ist, weil es dir nicht vermitteln kann, wie man Fehler findet. Das kannst du nur selbst lernen. Und in der Klausur kriegst du unter Garantie einen anderen Code.

    Belüge dich nicht selbst. Werde selbstständig.

    ps: Sicher hattet ihr das ganze Semester ganz viele Übungsaufgaben, die du hättest machen sollen. Arbeite die erstmal durch.
    pps: Ein Dozent hat nur die Aufgabe Wissen anzubieten. Es dir anzueignen ist ganz allein _deine_ Aufgabe.



  • //-----------------
    #include <stdio.h>                   //stdio.h ist die datei die du immer inkludieren mußt
    //--------------------
    //math.h wird nicht verwendet. Müßte auch ohne gehen.
    //#include     <math.h>
    #include     <conio.h>
    #define        nmax   10    //    Maximalgrad des Polynoms in dieser Aufg.
    //main ist hier unschön. Bei unix sollte zumindes ein Rückgabeparameter 
    //mit hin. Also z.B.
    //int main(). Dann muß aber auch ein Return mit in die Funktion
    main ()
        {    int     n, i;              //  n-te Dimension, Laufvariable
      double a[nmax],  
    //double     a[max],          //  Feld a[i], wobei i=0, 1, ..., nmax-1
            laenge;                 //  Ergebnis
        do
    //       { 
       do
                {    clrscr();
    //Das gotoxy würd ich als fehler anrechnen. Aber Borland kann das glaub ich.
    //Wichtig ist, dass sie ini keiner der inkludierten headersateien vorhanden ist
      //          gotoxy(15,1);
                printf("Berechnung der Länge eines n-dimensionalen Vektors\n\n");
                printf("Eingaben:\n\n");
                printf("            Wie groß soll n sein (>0 und max. 10)? ")
                scanf("%i", &n);
                }
    //Das ist eine while schleife die nichts macht.
    //da der Ausdruck in den klannern nie wahr wird, und der anweisungsblock 
    //nichts macht -> wegen ; hinter while
            //while ((n<=1  &&  (n>=10));
    //----------------Versuchs doch hier mal selber weiter. Bin sicher dass
    //----------------dir die Profis hier schon weiter helfen, wenn du anfängst 
    //----------------den Qelltext zu kommentieren, und schreibst wo Du meinst, wo
     //-----------------fehler sind. Wenn deine Lösung falsch ist, macht es nichts.
    //----------------Meine sind auch oft falsch =). Das ist beim Programmiere immer
    //------------so. 
            printf("\nEingabe Vektorelemente\n");
            for (i=0; i<n; i=i+1)
               {    printf("            Wert für a[%i]          ? ", i);
                scanf("%lf",  a[i]);
    
            laenge=0;         //    Berechnen des Länge des Vektors
            for (i=0; i<n; i++)
                laenge = laenge + a[i]*a[i];
                     laenge=sqr  (laenge);
            clrscr();                    /*    Ergebnisanzeige
            gotoxy(15,1);
            printf("Berechnung der Länge eines n-dimensionalen Vektors\n\n");
            printf("Elemente des Vektors a:\n\n");
                     for (i=0; i<n; i=i+1)
                printf("a[%2i]=%-8.3lf   , i, a[i]”);
            printf("\n\n\n");
                     printf("             Länge des Vektors = %12.4lf", laenge);
            gotoxy(1,25);
            printf("Programm wiederholen (j/n)? ");
           }
        while (getch()==”j”);
        gotoxy(25,65);
        printf("Programmende");
       }
    

    Nicht schlecht ist es, wenn du dir einen c compiler zulegst.
    Ich würde dir gcc empfehlen. Der ist um sonst und so oder so der Beste =).
    Du kannst aber jeden c ompiler nehmen der c kann =).
    Dann den code einfach mal in den compiler kopieren und auf kompilieren klicken.
    Wenn du das Programm vollständig kompilieren kannst, ohne fehlermeldungn, bist du einen guten schritt weiter.
    Versuchs ev. zunächst einmal mit folgendem Programm:

    //C headerdatei wo viele Funktionen drin sind
    //Die muß so immer rein in der Prüfung
    #include <stdio.h>
    
    //Hier startet dein Programm
    int main(void)
    {//Anweisungsblock anfang
        //schreibt etwas auf deinen Bildschirm
        //funktion welche in stdio.h definirt ist
        printf("Hallo wie gehts\n");
        //der Rückgabewert, der deiner shell sagt, ob in
        //deinem Programm ein Fehler aufgetreten ist, oder nicht. 
        //0 bedeutet ohne fehler
        return 0;
    }//Anweisungsblock Ende
    

    Hoffe hat ein bischen geholfen.
    Gruß



  • @AlexXXx

    👎



  • otze schrieb:

    Ein Studium der Informatik, insbesondere ein Fernstudium, setzt die Fähigkeit zum autodidaktischen Lernen voraus. Übe es mit dieser Aufgabe.

    Es bringt dir absolut rein gar nichts, wenn wir dir sagen, wie die Lösung ist, weil es dir nicht vermitteln kann, wie man Fehler findet. Das kannst du nur selbst lernen. Und in der Klausur kriegst du unter Garantie einen anderen Code.

    Belüge dich nicht selbst. Werde selbstständig.

    ps: Sicher hattet ihr das ganze Semester ganz viele Übungsaufgaben, die du hättest machen sollen. Arbeite die erstmal durch.
    pps: Ein Dozent hat nur die Aufgabe Wissen anzubieten. Es dir anzueignen ist ganz allein _deine_ Aufgabe.

    ich studiere kein informatik sondern verfahrenstechnik leider ist dieses fach bestandteil des semesterplan´s da es in einem fernstudium abläuft haben wir nur 6 stunden info gehabt wo drei davon praktikum waren,
    dachte ich kann hier etwas hilfe bekommen aber wird wohl nix ziehe mich mit meinem buch zurück, habe jetzt noch ein tutorial gefunden wo ich mir was bei bringen kann..also danke nochmal



  • AlexXXx schrieb:

    ...

    Es war ja klar das es einen gibt der dumm genug ist, um ihm das komplett vorzukauen.



  • Hoffe hat ein bischen geholfen.

    Danke die Alex es hat mir schon ein bisschen geholfen habe einige sachen mal im buch nachgeschlagen bzw gegooglet denke mal mit dem compiler komme ich denn klar, ich danke dir für die schnelle hilfe wenigstens einer..



  • alleswirdgut schrieb:

    habe einige sachen mal im buch nachgeschlagen bzw gegooglet

    Programmieren ist nicht wie Rechtschreibung. Du kannst nicht einfach das falsche Wort nachschlagen und findest das Richtige. Du musst das als Ganzes verstehen. Ich glaube du hast ein falsches Bild davon, wie leider viele.

    Aber bei so wenig Eigenitiative würde ich das Studium abbrechen 🕶



  • Zum einen hat AlexXXx in seiner "Korrektur" einige Fehler und zum anderen ist es gerade das schwere, sowas ohne einen Compiler oder Syntax-highlighting hinzubekommen. Immerhin darf er das in der Klausur wohl auch nicht!?

    Aber eine Lösung wird dir nicht weiterhelfen, alleswirdgut. Du musst die Fehler selber finden. Wenn du ein paar hast und du vllt den zehnten Fehler nicht findest ist es in der Klausur nicht so schlimm, und den würde man die hier bestimmt auch zeigen. Aber so muss ich mich fast KasFs letztem Satz anschließen. 😞



  • wieso abbrechen dei klausur besteht doch nicht nur aus programmierung sondern auch aus einem allgemeinem teil,,
    wie ist ein pc aufgebaut, was ist ein os,, usw.

    trotzdem danke für die mühe..



  • Prost!
    🙄



  • @=) Ja Heut morgen schauts anderst aus.
    -Also Math H wird schon verwendet
    -Und dann ist die Schleifenzuordnung zu den Blöcken nicht so ganz stimmig.
    Wichtig aber , ich bin nicht die, sondern der der Alex =).
    Du findest sicher eine bessere Lösung als ich.
    Und auch wichtig, sich hier nicht einschüchtern zu lassen.
    Der Ton in diesem Forum ist bei weitestem der schlechteste den ich bis jetzt kenne. Der Rat ein Studium ab zu brechen von einem nicht Prof. ist anmaßung und steht außerhalb der Kompetenz der Leute hier. Ich habe oft erlebt, dass man vor der Prüfung eher aufbauende Worte benötigt, als demotivation.

    @lagelopex
    Dass es gerade ohne compiler schwer ist, merkt man dann schon =).
    Aber ich kenne keinen, der programmmieren gelernt hat, ohne es zu tuen.

    Allgemeint habe ich oft erlebt, dass die Leute einfach den Einstieg verplanen.
    Wenn sie ihn haben, gehts raz faz mit dem lernen. Und wenn man sie nicht ständig denunziert, habe sie irgendwann auch Spaß am proggen.
    Gruß



  • Also ich erkenne sowieso nur einen einzigen syntaktischen Fehler: Der Kommentar, der am Anfang des Quelltextes beginnt, wird nicht abgeschlossen. Ergo: Füge ein Kommentar-Ende-Token am Ende des Quelltextes ein und schon sind alle syntaktischen Fehler beseitigt 🤡



  • 🙂 Stimmt. Verdammt bist du GUUUUUT.
    Beste Lösung des Problems
    Gruß



  • AlexXXx schrieb:

    Der Rat ein Studium ab zu brechen von einem nicht Prof. ist anmaßung und steht außerhalb der Kompetenz der Leute hier. Ich habe oft erlebt, dass man vor der Prüfung eher aufbauende Worte benötigt, als demotivation.

    Erstmal hab ich gesagt, dass ich mich dem fast anschließen muss. Es ist nunmal so, dass wenn man selber sich nichts beibringt oder erarbeiten kann, dann ist man für ein Studium ungeeignet. Da ich alleswirdgut aber nicht näher kenne werde ich da nichts weiter zu sagen. Es gibt immer den Mut zur Lücke und ich hab auch keine Ahnung welchen Umfang die Klausur hat und welches Wissen vonnöten ist.

    Bei uns an der Uni war es zumindest so, dass man in Tutorien richtig am PC programmiert hat, wohin gegen in Übungen nur allgemein etwas mit dem Overhead-Projektor auf Folie handschriftlich "programmiert" wurde.
    Die Klausur war dann eine Programmieraufgabe, Klasse schreiben und kurzes main. Auf Papier und ohne Hilfen.

    Im übrigen, wieso ist der Thread eigentlich noch immer im C++ Forum :p

    AlexXXx schrieb:

    @lagelopex
    Dass es gerade ohne compiler schwer ist, merkt man dann schon =).
    Aber ich kenne keinen, der programmmieren gelernt hat, ohne es zu tuen.

    Ja... deswegen sollte man während des Semesters die Übungen/Tutorien machen um allgemein ein Gefühl zu bekommen. Dann kann man zur Klausurvorbereitung auch besser auf Papier arbeiten. So wird das jetzt ein hartes Stück Arbeit 😉
    Im übrigen heißt es lagalopex! 🕶

    @LordJaxom: nette Idee 😃 (Aber die Korrektoren werden das wohl anders empfinden...)



  • @ *ggg*
    Andere fragen ist auch eine Form der Eigeninitiative.
    Und um ehrlich zu sein, oft garnicht die Schlechteste.



  • AlexXXx schrieb:

    @ *ggg*
    Andere fragen ist auch eine Form der Eigeninitiative.
    Und um ehrlich zu sein, oft garnicht die Schlechteste.

    Hier ist nicht oft. Programmieren lernen ist nicht oft. Konkrete Fragen ist oft.



  • Habt ihr mehr als 8 bzw. 9 Fehler gefunden?

    Man könnte auch noch i=i+1 ankreiden, aber das optimiert der Compiler ja eh weg ^^

    //1 falsches forum - ich seh hier nichts, was auch nur annähernd was mit C++ zu tun hat >.<
    //wenn nicht, dann falscher header und falscher aufruf bei den math-fkt
    
    #include     <math.h>
    #include     <conio.h> 
    #define        nmax   10    //    Maximalgrad des Polynoms in dieser Aufg.
    //3 da fehlt ein header für printf / scanf
    
    main() //2
    {
    	int     n, i;                //  n-te Dimension, Laufvariable 
        double  a[max],              //  Feld a[i], wobei i=0, 1, ..., nmax-1 
    			laenge;              //  Ergebnis 
        do
    	{
    		do 
            {
    			clrscr();
                gotoxy(15, 1);
    
                printf("Berechnung der Länge eines n-dimensionalen Vektors\n\n"); 
                printf("Eingaben:\n\n"); 
                printf("            Wie groß soll n sein (>0 und max. 10)? ") 
                scanf("%i", &n); 
    		} while ((n<=1  &&  (n>=10)); //4
    
    		printf("\nEingabe Vektorelemente\n"); 
            for (i=0; i<n; i=i+1)
    		{
    			printf("            Wert für a[%i]          ? ", i); 
                scanf("%lf",  a[i]); 
    		//5
    
            laenge=0;         //    Berechnen des Länge des Vektors 
            for (i=0; i<n; i++) 
    			laenge = laenge + a[i]*a[i];
    
    		laenge= sqr (laenge); //6
            clrscr();                    /*    Ergebnisanzeige 
    									 */ // 7
            gotoxy(15,1); 
            printf("Berechnung der Länge eines n-dimensionalen Vektors\n\n"); 
            printf("Elemente des Vektors a:\n\n");
    
    		for (i=0; i<n; i=i+1) 
                printf("a[%2i]=%-8.3lf", i, a[i]); //8
    
    		printf("\n\n\n"); 
    		printf("             Länge des Vektors = %12.4lf", laenge); 
            gotoxy(1,25); 
            printf("Programm wiederholen (j/n)? "); 
    	} while (getch()==”j”); //9
    
    	gotoxy(25,65); 
    	printf("Programmende"); 
    }
    

    bb



  • Ich glaub bei while noch die klammer zu.
    while((......(..))
    Gtuß



  • Man könnte aus Wie groß soll n sein (>0 und max. 10)?
    folgern dass
    while(...(n>10))
    sein muß.
    Gruß



  • Schau dir mal den die Definition von a , was ist max ?
    Und die C++ Kommentare hinter #defines können auch böse sein. (Soll ja ein C Programm sein und viele Präprozessoren haben mit C++ Kommentare Probleme...)
    Auch erst nmax definieren und dann plötzlich im Code wieder 10 schreiben ist dämlich... aber natürlich nicht falsch.
    bzgl int main und return 0; weiß ich nicht, was jetzt in welchem Standard steht. Aber "implicit int" wurde mal entfernt...


Anmelden zum Antworten