Einige Fragen zu notepad++



  • Servus zusammen,

    wie der Theardname schon verrät habe ich ein paar kleine Einstiegsfragen zum Compiler " Notepad++ ".

    Vorab, ich beschäftige mich mit dem "Programmieren" erst seid einer kurzen Zeit( etwa 2-3 Monate)zudem möchte ich sagen das ich von 0 angefangen habe sprich, erst jetzt beginne, mich wirklich in das Thema zu stürzen!
    Meine Anfangssprache mit der ich mich zurzeit beschäftige und weiter beschäftigen werde ist C.
    Obwohl C nicht gerade für einsteiger gedacht ist habe ich diese Sprache bewusst gewählt da C verhältnismäßig zu VB viel Freiraum bietet.

    Genug geredet jetzt zu meiner Frage.
    Ich habe bis vor kurzem noch zum programmieren VB 10 genutzt, aber es dann auch bleiben lassen, da mir Freunde und bekannte davon abrieten!
    Daraufhin fand ich notepad++.
    Ich fand es direkt von anfang an, wie soll ich sagen ... Geil!
    Es unterstützte viele Sprachen, war leicht zu Handhaben etc.
    Aber, jetzt kommt das große aber!
    Ich weis nicht wie ich damit C Programme öffne! Ich habe schon so ziemlich alles versucht, dutzende von youtube tutorials angeschaut und unmengen an seiten gelesen.
    Überwiegend der Videos beschränkten sich auf HTML.

    Ich hoffe ihr könntet mir bei dem kleinen Problem helfen und/oder gar eure eigenen Tipps und tricks übermitteln, beispielsweise welche compiler ihr so nutzt.

    Als beispiel kann man ja diesen Popeligen "hello world" code nutzen

    /* hello *\
    
    #include <stdio.h>
    
    int main (void)
    {
    printf("Hello und so"\n)
    }
    {
    return 0
    }
    

    Ich freue mich über jede Antwort und bedanke mich schon im vorraus

    Grüße
    Slawa



  • Das Notepad++ ein Compiler ist wäre mir neu...
    Das unterstützt zwar viele Sprachen, aber das bezieht sich erstmal nur auf Syntax-Highlighting. Kein Compilieren und keine Autovervollständigung bzw Fehlererkennung. Das geht wenn überhaupt nur über Plugins, ist glaube ich aber nicht so bequem.

    Auch wenn du C schreiben willst, kannst du theoretisch jede beliebige C++-IDE nehmen, weil die in der Regel auch C compilieren können (so konkret fällt mir da gerade keine Ausnahme ein).

    - Codeblocks
    - Visual Studio
    - Eclipse
    - tbc



  • Rotkiv schrieb:

    Das Notepad++ ein Compiler ist wäre mir neu...

    Ouh, alles klar das erklärt einiges.
    Welches von dennen würdest du mir denn empfehlen?/ für einen anfänger?



  • Visual C++ 2010 Express



  • Unter Windows machst du mit Visual Studio Express sicher nichts verkehrt. Nutzen sehr viele. Unter Linux ist Code Blocks glaube ich recht beliebt (kannst du auch unter Windows nutzen).

    Dauert bei beiden ein wenig, bis man sich dort überall zurecht gefunden hat.



  • Super!
    Dann bedanke ich mich erstmal für die gute und schnelle Hilfe 😉 ich werde mich dann mal bei code blocks ein bisschen umschauen 🙂

    Gruß
    Slawa



  • Hab mir gerade visual 2010 Express und es gleich ausprobiert.
    Leider muss ich festellen das ich auch hier probleme mit dem Starten eines Programms habe.
    BZW ich weis nicht wie ich es über die DOS box öffne.

    Der code ist

    /* hello */ 
    
    #include <stdio.h>
    
    int main ( void )
    {
    	int x;
    	int y;
    
    	printf("Bitte geben sie eine Zahl für x ein!\n",x);
    		scanf( %d, &x );
    	printf("Bitte geben sie eine Zahl für y ein!\n",y);
    		scanf( %d ,&y );
    }
    {
    	while (x!=y);
    		if(x>y);
    			printf(" Jo X ist größer du sack\n");
    		else
    			printf(" Jo Y ist größer du sack\n");
    
    		}
    
    {
    	return 0;
    }
    

    und scheint in mom ganz richtig zu sein da kein fehlercode angegeben wird.
    doch leider kommt, wenn ich das debugging starte die Dosbox ganz schnell und ist sofort wieder weg bevor ich überhaupt was erkennen kann.

    Kleine stap bei stap instruktion wäre schon nice für w7

    ( ich kann ja mal sagen wie ich es versucht habe . also ich habe die Datei auf desktop gespeichert. also öffne ich die dos box und gebe DIR ein, dann stehen mir viele sachen zur auswahl daraufhin wähle ich "Desktop" durch den befehl "cd Desktop" dann wieder dir und dann den dazugehörigen ordner. Und danach die datei ebenfalls mit "cd" aber dann kommt immer , " Das System kan den angegeben Pfad nicht finden."
    bitte um hilfe 😃



  • Link, nächstes mal selber suchen...



  • Rotkiv schrieb:

    Link, nächstes mal selber suchen...

    Danke, hat aber leider nicht wirklich viel geholfen.
    Aber gut ich werden dann heute die Nacht nutzen google auszubeuten 🙂



  • /* hello */
    
    #include <stdio.h>
    
    int main ( void )
    {
        int x;
        int y;
    
        printf("Bitte geben sie eine Zahl für x ein!\n",x);
            scanf( %d, &x );
        printf("Bitte geben sie eine Zahl für y ein!\n",y);
            scanf( %d ,&y );
    }  // warum hier Klammer zu? soll hier main enden?
    {  // diese Klammer soll was bewirken?
        while (x!=y);  // was möchtest du mit dieser Zeile erreichen?
            if(x>y);   // in dieser Zeile ist ein Zeichen zu viel?
                printf(" Jo X ist größer du sack\n");
            else
                printf(" Jo Y ist größer du sack\n");
    
            }  // ?
    
    {  // was soll die Klammer hier?
        return 0;
    }
    

    Ich hoffe mal das ich noch wach genug für die Kommentare war 🙄

    MfG f.-th.



  • f.-th. schrieb:

    /* hello */
    
    #include <stdio.h>
    
    int main ( void )
    {
        int x;
        int y;
       
        printf("Bitte geben sie eine Zahl für x ein!\n",x);
            scanf( %d, &x );
        printf("Bitte geben sie eine Zahl für y ein!\n",y);
            scanf( %d ,&y );
    }  // warum hier Klammer zu? soll hier main enden?
    {  // diese Klammer soll was bewirken?
        while (x!=y);  // was möchtest du mit dieser Zeile erreichen?
            if(x>y);   // in dieser Zeile ist ein Zeichen zu viel?
                printf(" Jo X ist größer du sack\n");
            else
                printf(" Jo Y ist größer du sack\n");
       
            }  // ?
    
    {  // was soll die Klammer hier?
        return 0;
    }
    

    Ich hoffe mal das ich noch wach genug für die Kommentare war 🙄

    MfG f.-th.

    Die Kommentare waren mal nice danke 🙂 wie schon gesagt mache ich das seit kurzem und nach einer 9 Wöchigen Sommerferien pause und ohne iwas zu lernen etc fällt ein bisschen weg 😃 das war noch der rest der mir noch im hinterkopf hing und wollte das sofort testen 😃

    /* hello */ 
    
    #include <stdio.h>
    
    int main ( void )
    {
    	int x;
    	int y;
    
    	printf("Bitte geben sie eine Zahl für x ein!\n",x);
    		scanf(" %d", &x );
    	printf("Bitte geben sie eine Zahl für y ein!\n",y);
    		scanf(" %d" ,&y );
    
    	while (x!=y)
    		if(x>y);
    			printf(" Jo X ist größer du sack\n");
    		else
    			printf(" Jo Y ist größer du sack\n");
    }	
    
    {
    
    	return 0;
    }
    

    so richtig? Meines wissens dachte ich das die Return funktion in einem eigenem BLock stehen muss.

    PS: mein Problem ist immernoch bestehend das dass Programm immer sofort nach dem start geschlossen wird.

    Gruß
    Slawa



  • Nein, du hast nicht alle Kommentare von f.-th. beachtet, folgendes stimmt noch nicht:

    /* hello */
    
    #include <stdio.h>
    
    int main ( void )
    {
        int x;
        int y;
    
        printf("Bitte geben sie eine Zahl für x ein!\n",x);	// Das x hier ist überflüssig
            scanf(" %d", &x );
        printf("Bitte geben sie eine Zahl für y ein!\n",y);	// Das y hier ist überflüssig
            scanf(" %d" ,&y );
    
        while (x!=y)	// Wozu soll der Schleifenkopf hier gut sein?
            if(x>y);	// Das Semikolon hier ist zwar syntaktisch in Ordnung, aber sicher nicht gewollt
                printf(" Jo X ist größer du sack\n");
            else
                printf(" Jo Y ist größer du sack\n");
    }   
    
    {	// Das return muss im Block der Funktion stehen, zu der es gehört
    
        return 0;
    }
    

    Richtig wäre so:

    #include <stdio.h>
    
    int main ()
    {
    	int x;
    	int y;
    
    	printf("Bitte geben Sie eine Zahl für x ein!\n");
    	scanf(" %d", &x );
    
    	printf("Bitte geben Sie eine Zahl für y ein!\n");
    	scanf(" %d" , &y );
    
    	if (x > y)
    		printf(" Jo X ist größer du Sack\n");
    	else
    		printf(" Jo Y ist größer du Sack\n");
    
    	return 0;
    }
    


  • Jawoll, super vielen dank läuft optimal 🙂

    Die Dos box wird geöffnet und bleibt offen bis ich meine Eingaben getätigt habe, oder einfach schließe.

    Doch eine sache bleibt trotzdem.
    Kann ich das vielleicht irgendwie so einstellen das die box sich nicht selber automatisch schließt. Weil bei mir ist das in Moment so das wenn ich meine zwei eingaben für die Variablen x und y betätig habe, die Box sich sofort schließt, sodass man den Effekt der "If-schleife" nicht erkennen kann.



  • Auch wenn ich vorhin total gepennt habe und mir deinen Quellcode zugegebener Maßen nicht angeschaut habe - weil das "Problem" bzgl der schließenden Console recht bekannt ist, so kannst du genau dies Vorhaben mit den unter meinem Link geposteten Mitteln lösen:
    fflush(stdin);
    getchar();



  • Noobkiller16 schrieb:

    Jawoll, super vielen dank läuft optimal 🙂

    Die Dos box wird geöffnet und bleibt offen bis ich meine Eingaben getätigt habe, oder einfach schließe.

    Doch eine sache bleibt trotzdem.
    Kann ich das vielleicht irgendwie so einstellen das die box sich nicht selber automatisch schließt. Weil bei mir ist das in Moment so das wenn ich meine zwei eingaben für die Variablen x und y betätig habe, die Box sich sofort schließt, sodass man den Effekt der "If-schleife" nicht erkennen kann.

    Die DOS Box schließt sich, weil dein Programm zu ende ist. Das ist völlig normal, richtig und wäre anders falsch. Warum? Wenn jedes Programm, das sich beendet, ein Fenster offen lässt, dann viel Spaß, wenn man sowas in einem Batch laufen lassen würde.

    Das MSVS hat da zwei Tasten:

    F5: Debugger startet, und das Fenster wird geschlossen, weil man davon ausgeht, das man beim Debuggen einen Breakpoint setzt (welcer das Programm pausiert).

    STRG+F5: Das Fenster wird NICHT geschlossen, sondern offen gelassen. Weil das Programm nicht durch einen Breakpoint pausiert werden kann.

    Also, starte deine Programme mit STRG+F5, wenn du die letzten Ausgaben sehen willst.



  • Rotkiv schrieb:

    Auch wenn ich vorhin total gepennt habe und mir deinen Quellcode zugegebener Maßen nicht angeschaut habe - weil das "Problem" bzgl der schließenden Console recht bekannt ist, so kannst du genau dies Vorhaben mit den unter meinem Link geposteten Mitteln lösen:
    fflush(stdin);
    getchar();

    Ouh tut mir Leid dann war der Link ja wirklich mehr als Hilfrei *schäm*
    ich muss mehr an meiner Auffassungsgabe arbeiten!
    Danke nochmal für die nette Hilfe ihr habt mir sehr geholfen.

    Gruß
    Slawa



  • Artchi schrieb:

    Die DOS Box schließt sich, weil dein Programm zu ende ist. Das ist völlig normal, richtig und wäre anders falsch. Warum? Wenn jedes Programm, das sich beendet, ein Fenster offen lässt, dann viel Spaß, wenn man sowas in einem Batch laufen lassen würde.

    Das MSVS hat da zwei Tasten:

    F5: Debugger startet, und das Fenster wird geschlossen, weil man davon ausgeht, das man beim Debuggen einen Breakpoint setzt (welcer das Programm pausiert).

    STRG+F5: Das Fenster wird NICHT geschlossen, sondern offen gelassen. Weil das Programm nicht durch einen Breakpoint pausiert werden kann.

    Also, starte deine Programme mit STRG+F5, wenn du die letzten Ausgaben sehen willst.

    Hay Super habe deine Variante erst n tick später gelesen 🙂
    Trozdem danke, ich werde mir beides merken 🙂

    Gruß
    Slawa



  • Noobkiller16 schrieb:

    Trozdem danke, ich werde mir beides merken 🙂

    Nicht nötig.
    Konsoleanwendungen sollen am Ende nicht pausieren.
    Und fflush(stdin); ist nicht ganz unumstritten, fürchte ich.



  • volkard schrieb:

    Und fflush(stdin); ist nicht ganz unumstritten, fürchte ich.

    wieso?
    Oder besser gesagt was ist genau der befehl von fflush(stdin)? Muss ja sicherlich einen ungewollten nebeneffekt haben wenn es so umstritten ist.
    (Bin in moment nicht dazu gekommen im Internet nachzuschauen weil ich die ganze Zeit am rumspielen bin mit open source müll suchen 😛 )



  • Dann warte ich mal ab, bis Du Zeit hast.


Anmelden zum Antworten