Zeichen in string zählen und die Anzahl ausgeben lassen
-
Das Problem ist diese Zeile: char str [] = n;
Das Programm soll die Anzahl der Zeichnen ausgeben.[code]
#include <stdio.h>
#include <string.h>int main ()
char n;
char str [] = n;
cout << "Geben Sie was ein:"<<endl;
cin>> wort;
int anz;
anz = strlen (str);printf ("%d Zeichen\n", anz);
return 0;
}
-
Was soll diese Zeile mit dem
char str [] = n;überhaupt machen?
Was soll die deiner Meinung nach machen?Die Zeile
cin>> wort;macht dann auch noch Probleme.Und wenn du den Code in cpp-Tags packst (Code markieren und dann den C/C++ Button unter den
anklicken) gibt es sogar Zeilennummern.
-
Möchtest du C oder C++ progammieren?
-
Frühaufsteher schrieb:
Das Problem ist diese Zeile: char str [] = n;
Nein, das Problem ist, dass du nicht weißt, was du tust.
Ein mögliche Lösung:- lies die Benutzereingabe in einen std::string ein
- durchlaufe die einzelnen Zeichen des Eingabestrings und benutze eine std::map, um die Anzahl der einzelnen Zeichen zu speichern
- gib die Einträge der std::map aus
-
DirkB schrieb:
Die Zeile
cin>> wort;macht dann auch noch Probleme.Was ist überrhaupt
wort? Das ist nirgens deklariert.Frühaufsteher schrieb:
Das Problem ist diese Zeile: char str [] = n;
Das Programm soll die Anzahl der Zeichnen ausgeben.Das Problem ist, dass du einfach so Dinge hinschreibst, ohne im geringsten zu wissen, was du tust. Schnapp Dir ein gutes Lehrbuch.
-
Dir fehlt neben der öffnenden geschweifen Klammer zur Einleitung der main-Funktion die Deklaration von wort.
Geht mit std::string viel einfacher als mit char-Arrays:#include <iostream> #include <string> int main() { std::string eingabe; std::cout << "Geben sie irgendwas ein...: "; std::cin >> eingabe; std::cout << "\"irgendwas\" hat " << eingabe.size() << " Zeichen."; }Ach und das heißt <string> nicht <string.h>.
return 0; kannst du dir auch sparen, das macht der Compiler implizit da hin.
printf als Anfänger ist meist ein Indiz für ein schlechtes/gar kein Lehrbuch bzw. nur InternettutorialsAlso: Kauf dir ein anständiges Buch, hier im C++-Forum gibts einen Thread, da stehen verschiedene Buchempfehlungen drin.
-
Danke schön für Beiträge. Ich habe schon längst einige Bücher in C++ aber das hilft mir leider nicht wirklich.
-
Frühaufsteher schrieb:
Danke schön für Beiträge. Ich habe schon längst einige Bücher in C++ aber das hilft mir leider nicht wirklich.
Ja, man muss sie auch lesen
Nur Spaß. Was hast du denn so? Quantität ist da unwichtig, denn du solltest dich für ein gutes Buch entscheiden und es konsequent durcharbeiten.
-
Jürgen Wolf "C++ von A bis Z", Andre Willms "C++ rung lernen", Oiver Böhm " C++ echt einfach" und andere.
-
Wie um alles auf der Welt schafft er es, Anfänger dazu zu bewegen, sein Buch zu kaufen. Der muss teuflische Kräfte besitzen, der Mister W. Ist der Wahnsinn. Frühaufsteher, tu' dir einen riesengroßen Gefallen: versteck die Bücher im Keller/Feuer, schenk sie einem Obdachlosen oder finde eine andere nicht zweckmäßige Verwendung für sie und lies dir die Buchempfehlungen in unserem Forum durch. Kein Wunder, dass du damit lerntechnisch nicht weitergekommen bist. Falls du keine Probleme mit englischen Texten hast, wird dir der C++ Primer seehr gut tun.
Und noch ein Tipp: lass dich bitte von Titeln wie "C++ ganz einfach" oder "C++ in 10 Tagen" nicht täuschen, denn C++ kann man vernünftig nicht so schnell und einfach lernen. Das ist genau wie mit einer echten Sprache.