ein kleines c++ Programm



  • Nach der Ausgabe sollte man ein kleines Programm schreiben das die einegegebenen Zeichen zählen und die Zahl auf den Bildschrirm ausgeben würde.

    ich habe diesen Code geschrieben, aber ich bin mir nicht sicher ob alles richtig ist. Würdet ihr bitte überprüfen ob alles korrekt ist?:
    #include<iostream.h>
    #include<graph.h>
    #include<conio.h>
    #include<ctype.h>

    int main()
    {
    signed char zeichen;
    int zaehler = 0;

    while( (zeichen = cin.get()) != EOF)
    {
    if(!isspace(zeichen))
    {
    ++zaehler;
    }

    //cout.put(zeichen);

    }

    cout << "\n\tDie Zeile enthaelt "
    << zaehler
    << " Zeichen" ;
    getch();
    return 0;

    }



  • Warum machst du das nicht selbst? 😕



  • Bei mir lauft alles richtig. Aber es könnte sein, dass ich etwas vergessen habe.



  • Bis auf ein paar Kleinigkeiten ist das so ok, was mir auffällt, ist, dass du die alten non-standard-header und C-Header benutzt - beides sollte man eigentlich nicht tun. Besser wärs so:

    #include<iostream>
    #include<cctype>
    
    using namespace std; //Ansonsten halt std::cin, std::cout und std::isspace benutzen
    
    int main() {
      char zeichen; // Im Interesse der Plattformunabhängigkeit - in aller Regel ist es sinnvoller, immer char statt signed char oder unsigned char zu benutzen.
      unsigned int zaehler = 0; // Das wird wohl kaum kleiner als 0...
    
      while((zeichen = cin.get()) != EOF) {
        if(!isspace(zeichen)) {
          ++zaehler;
        }
      }
    
      cout << "\n\tDie Zeile enthaelt " << zaehler << " Zeichen" << std::flush;
    
      cin.clear(); 
      cin.get(); //getch ist nicht Standard-C++, sondern ne DOS-API-Funktion - und das hat nun mal nicht jeder.
    
      return 0;
    }
    


  • Ich danke dir. Genau solche Sachen wollte ich wissen. Danke noch Mal.


Anmelden zum Antworten