Zweites Schulprog



  • jop thx.

    das hat mir sehr geholfen.
    Jetzt functioniert es.

    windows.h is richtig gewesen.

    hatte es schon mal mit <time.h> und <unistd.h> versucht.
    war dann natürlich falsch.
    ich denke mal unistd is dann für linux...

    Welche frage jetzt noch offen ist.

    Wo ist der unterschied zwichen cout und printf() ?

    MFG und nen riesen thx an 123456789
    Marian



  • Welche frage jetzt noch offen ist.

    Wo ist der unterschied zwichen cout und printf() ?

    printf: C
    cout: C++

    2 verschiedene Sprachen, cout ist C++ und printf C.
    Wenn man einen Compiler hat, der C und C++ compilieren kann, kann man auch beides schreiben, aber am besten man einigt sich auf nur eine Sprache um Konflikten auszuweichen.

    MFG
    DarkShadow



  • Also cih ahbe schon mal meinen lehrer gefragt und der sagte er könne mir das zwar nicht erklären aber cout würde es auch bei c geben.
    Das habe etwas mit strings und streams zutuhen.

    Allerdings haben schon bei meinem ersten thema welche festgestellt das mein lehrer nicht ganz sauber codet.

    Vieleicht kann da nochmal einer was zu sagen.
    Damit ich mal die aussage meines lehrers vergleichen kann.
    Sonst nehme ich das einfach mal so hin dass das verschiedene sprachen sind.



  • hattest du nicht noch gefragt ob man den hintergrund komplett färben kann?
    würd mich auch mal interessieren wie das geht
    aber falls du textfarben brauchst:^^ kannst du die mal ausprobieren

    void textcolor(WORD color)
    {
    SetConsoleTextAttribute(::GetStdHandle(STD_OUTPUT_HANDLE), color);
    }

    int main()
    {
    for(int n=0; n <= 17; n++)
    {
    textcolor(n);
    cout<<n;
    }
    cin.get(); // weiß nicht welchen compiler du hast...
    return 0;
    }

    vllt wird irgendwann ja noch bei 400 oder so die schrift farblich hinterlegt aber das ist glaub auch nicht ganz das was du suchst^^



  • meine textfarbe habe ich ja schon geändert.
    Und hinterlegen kann ich sie auch.

    Mir passt es nur nicht so ganz das ich 80*25 Lehzeichen weiß hinterlegen muss damit ich den ersten teil der console weis färben kann.

    Hier mal mein bsp wie text farbig gemacht und hinterlegt wird:

    #include <stdafx.h> 
    #include <stdio.h>
    #include "CONIOEX.h"
    #include <conio.h> //Je nach beliebn alle anderen header.
    
    void main(void) // Keinen plan ob man das noch darf
    {
         textcolor(FARBE);
         textbackground(FARBE);
    
         //Jeglicher folgende text ist farblich Formatiert
    
         getch();
    
         //Jetzt stehen noch gotoxy(x,y) und clrscr() zur verfügung
         //gotoxy(x,y) <-- Setzt den kurser an die stelle {x|Y}
         //clrscr() <-- reinigt den bildschirm von jeglichem text
    }
    

    Leider braucht man dann aber auch die conio.c im selben ordner.
    Denke mal das sind Vorkompilierte Header.
    habe ich leider keine ahnung von. haben wir noch nicht besprochen.
    Nur das die mit in den ordner muss.
    Und das man den compiler auf vorkompiliere header stellen muss...

    MFG Marian



  • Sqwan schrieb:

    Also cih ahbe schon mal meinen lehrer gefragt und der sagte er könne mir das zwar nicht erklären aber cout würde es auch bei c geben.
    Das habe etwas mit strings und streams zutuhen.

    Hau ihm den Standard um die Ohren.
    cout ist ein Objekt. C hat keine Objekte. q.e.d. 😉
    printf gibt es natürlich auch in C++, da die C++ Standardbibliothek die von C vollständig enthält. Da printf aber typunsicher ist (lass Dir das am besten erklären wenn Du ne Spur weiter bist), wird cout bevorzugt. Um nicht zu sagen printf ist in C++ ziemlich verpönt.

    Wenn Du allerdings Otto-Normal-Schul-Informatikunterricht bei einem alten Physiker (Mathematiker, ... [beliebig austauschbar]) hast, der das Fach bekommen hat weil er "mit Computern umgehen" kann wundert mich garnichts. Die sehen ihren Unterricht meist als "C/C++-Unterricht" und haben keinen Schimmer was diese beiden Sprachen ausmacht und unterscheidet. Leider.



  • KP was mein lehrer noch alles macht.
    Der hat gesagt der unterschied is das c++ teilweise Objektorientiert ist und c garnicht. Nur Java ist komplett objektorientiert und erzwingt dies auch... sagt er.

    Der unterschied ist dann das C einfach von oben nach unten abgearbeitet wird und c++ nicht.

    Ist das so richtig?



  • Sqwan schrieb:

    Der hat gesagt der unterschied is das c++ teilweise Objektorientiert ist und c garnicht. Nur Java ist komplett objektorientiert und erzwingt dies auch... sagt er.

    Soweit imho richtig. C++ bezeichnet man als Multiparadigmensprache, weil man neben der Objektorientierung auch die prozeduralen Eigenschaften von C nutzen kann, und nebenbei öffnet C++ noch einige andere Türen, sie erlaubt z.B. funktionale Ansätze und Metaprogrammierung mit den allseits beliebten Templates.

    Der unterschied ist dann das C einfach von oben nach unten abgearbeitet wird und c++ nicht.

    Ziemlich platt gesagt. Letztendlich erlauben beide Sprachen viele Modelle. Wenn man in C eine Funktion aufruft wird ja auch gesprungen und nicht nur "von oben nach unten" abgearbeitet.



  • Und nochmal eine frage.

    Ich kann jetzt mit textcolor(WHITE) die textfarbe weis machen.
    Geht das auch für einzelnde textstücke?
    ich will ja nicht immer den ganzen tet farbig machen.

    für WHITE kann man natürlich viele Farben einsetzen...



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum DOS und Win32-Konsole verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Klar:

    textcolor(WHITE);
    cout << "Weißer Text";
    
    textcolor(RED);
    cout << "Wieder rot";
    

    Den Hintergrund komplett in einer Farbe färben ist auch möglich - allerdings nicht direkt mit der conioex soviel ich weiß. Kannst aber die conioex durch die Improved Console (http://ic.c-plusplus.net) ersetzen. Dann ist das kein Problem.

    MfG SideWinder



  • joa. cout ist aber ein objekt.
    objekte gibts in c aber nicht.
    Das heist für mich sind sie gut.
    wenn ich mein prog abgebe aber trotzdem ein fehler.
    Denn objekte dürfen wir nicht benutzen...
    sonst hätte cih das gemacht.

    allerdings kann ich an die stelle ja auch printf() setzen.
    muss die schrift danach halt nur wieder auf den standart setzen sonst wird alles bund.

    Meinen code werde icha ber auch noch mal im c++ bereich posten.
    Da kann man mir vieleicht helfen ihn objekt orientiert zu machen.
    Habe sowas nämlich noch nie gemacht. und kaum ahnung.
    nur gelesen ahbe ich davon mal.
    Da kann mir bestimmt dann nochmal einer bei helfen.

    Gehört dann nur nicht mehr in den C bereich...


Anmelden zum Antworten