Seite 3 von 3

Re: probleme mit codeblock

Verfasst: Fr Mai 30, 2014 1:10 am
von garf
Xin hat geschrieben:Dann würde mich der Quelltext des Langsamen interessieren.
steht auf seite 1

Code: Alles auswählen

#include <stdio.h>
main() {
    int x=0, y=0, p=0; //x bestanden, y nicht bestanden, p punkte
    printf("\nEingabe abbrechen mit -1");
    printf("\n------------------------\n\n");

    for(;p!=-1;){
        printf("Punkte im Test: ");
        scanf("%i", &p);
        if(p>=20)
            x++;
        else
            y++;
    }
    y--;   //fuer korrekte anzahl
    printf("\nbestandene Studenten: %i", x);
    printf("\nnicht bestandene Studenten: %i\n\n", y);
    //system("pause");
}

es ist anscheinend nur bei mir langsam.

Re: probleme mit codeblock

Verfasst: Fr Mai 30, 2014 10:55 am
von Xin
Bitte schreib ändere den Code mal wie folgt:

Code: Alles auswählen

    printf("Punkte im Test: ");
    fflush( stdout );         // <- einfügen
    scanf("%i", &p);
Unabhängig davon rate ich die For-Schleife zu ändern:

Code: Alles auswählen

    for(;;)
    {
        printf("Punkte im Test: ");
        scanf("%i", &p);

        if( p==-1 )
            break;

        if(p>=20)
            x++;
        else
            y++;
    }
// überflüssig ->    y--;   //fuer korrekte anzahl
...und den Variablen x und y verständlichere Namen zu geben: Das sind keine Laufvariablen, also sollten sie kurz, aber verständlich benannt werden: succeeded und failed zum Beispiel. p wäre mit points auch klarer zu verstehen.
Der Quelltext ist kurz, aber wenn Du ein Projekt mit 100kLOC hast und kommst nach 2 Jahren da wieder vorbei, musst Du Dir die Variablen merken, um den Quelltext zu verstehen.

Re: probleme mit codeblock

Verfasst: So Jun 01, 2014 6:00 pm
von garf
danke.

Re: probleme mit codeblock

Verfasst: So Jun 01, 2014 6:42 pm
von Xin
Bitte.

Heißt "danke", dass das Problem mit der Wartezeit damit gelöst ist? ^^

Re: probleme mit codeblock

Verfasst: Di Jun 03, 2014 10:04 am
von garf
Xin hat geschrieben:Bitte.

Heißt "danke", dass das Problem mit der Wartezeit damit gelöst ist? ^^
leider nicht. es ist nur so, dass alle danach programmierten diese wartezeit nicht aufweisen und ich resigniert bzw. eingesehen habe, dass das programm nicht schneller wird. keine ahnung wo der fehler steckt. da ich weitere programme mit for-schleifen habe, kann die nicht für die wartezeit verantwortlich sein.

es ist zum glück nur eine kleine aufgabe, macht also nichts ;)

danke für deine hilfsbereitschaft/mühe und für die vielen hinweise auch mit der namensgebung :P .

Re: probleme mit codeblock

Verfasst: Di Jun 03, 2014 10:17 am
von Xin
garf hat geschrieben:
Xin hat geschrieben:Bitte.

Heißt "danke", dass das Problem mit der Wartezeit damit gelöst ist? ^^
leider nicht. es ist nur so, dass alle danach programmierten diese wartezeit nicht aufweisen und ich resigniert bzw. eingesehen habe, dass das programm nicht schneller wird. keine ahnung wo der fehler steckt. da ich weitere programme mit for-schleifen habe, kann die nicht für die wartezeit verantwortlich sein.
Ich habe Dein Programm gerade hier kompiliert und mit Codeblocks ausgeführt und hatte keine Wartezeit.
Ich kann das also nicht reproduzieren.

Ich kann mir nur erklären, dass Deine Konfiguration von Codeblocks bei dem Projekt irgendwie hakt, aber deswegen bat ich Dich ja, den Quelltext in ein anderes Projekt zu kopieren, was keine Probleme hat.

Wenn Du mit Codeblocks debuggst, pack Dir doch einfach mal einen Breakpoint an den Anfang und Steppe durch das Programm, um herauszufinden, in welcher Zeile er eine Gedenkminute verbringt.

Re: probleme mit codeblock

Verfasst: Di Jun 03, 2014 10:36 am
von garf
Xin hat geschrieben:
garf hat geschrieben:
Xin hat geschrieben:Bitte.

Heißt "danke", dass das Problem mit der Wartezeit damit gelöst ist? ^^
leider nicht. es ist nur so, dass alle danach programmierten diese wartezeit nicht aufweisen und ich resigniert bzw. eingesehen habe, dass das programm nicht schneller wird. keine ahnung wo der fehler steckt. da ich weitere programme mit for-schleifen habe, kann die nicht für die wartezeit verantwortlich sein.
Ich habe Dein Programm gerade hier kompiliert und mit Codeblocks ausgeführt und hatte keine Wartezeit.
Ich kann das also nicht reproduzieren.

Ich kann mir nur erklären, dass Deine Konfiguration von Codeblocks bei dem Projekt irgendwie hakt, aber deswegen bat ich Dich ja, den Quelltext in ein anderes Projekt zu kopieren, was keine Probleme hat.

Wenn Du mit Codeblocks debuggst, pack Dir doch einfach mal einen Breakpoint an den Anfang und Steppe durch das Programm, um herauszufinden, in welcher Zeile er eine Gedenkminute verbringt.
vielen dank für den hinweis.