Arrays
-
Das ganze Programm sieht bisher so aus:
#include "stdafx.h" #include "string.h" int _tmain(int argc, _TCHAR* argv[]) { char StringOne[50+1]; char StringTwo[50+1]; int A = 0, B = 0; printf ("\nBitte geben Sie einen Satz ein: "); fgets (StringOne, 50+1, stdin); strcpy (StringTwo, StringOne); StringTwo[1] = '\0'; while (A<= 50) { { if (StringOne[A] == ' ') B++; } A++; } printf ("\nStatistik:"); printf ("\nEingegebene Zeichen : %i", strlen (StringOne)); printf ("\nAnzahl Leerzeichen : %d", B); printf ("\nErstes Zeichen : %s", StringTwo); printf ("\nLetztes Zeichen : %s.", ); printf ("\n"); return 0; }
mfg anonymer
-
Anonymer schrieb:
StringTwo[1] = '\0'; printf ("\nErstes Zeichen : %s", StringTwo); printf ("\nLetztes Zeichen : %s.", ); }
Ist das dein Ernst? Troll?
-
Ja, es wäre einfacher gegangen, aber ich kenne mich damit noch nicht allzu gut aus und deshalb unterlaufen mir noch Fehler....
-
^^ausgeben des letzten zeichens ist echt doof, wenn die zeile mit 'fgets' eingelesen wurde. fgets hängt meistens ein \n mit dran. nur dann nicht, wenn der speicherplatz kürzer ist, als die eingabe.
-
Anonymer schrieb:
Ja, es wäre einfacher gegangen, aber ich kenne mich damit noch nicht allzu gut aus und deshalb unterlaufen mir noch Fehler....
Ja aber der Code, den du gepostet hast, ist doch mit Sicherheit gar nicht kompilierbar. Du sagst, printf soll für das letzte Zeichen einen String (%s, übrigens ist ein Zeichen ein char, %s steht für ein char*, also einen String) ausgeben, übergibst dann aber gar keine Variable! So hast du das doch nicht ausgeführt, oder?
-
So hast du das doch nicht ausgeführt, oder?
Nein, habe ich nicht. Ich habe da bloss keine Variable eingegeben weil ich nicht wusst was da für ein reinkommt....
mfg anonymer
-
Probier das mal:
#include <iostream> int main() { char TheOnlyString[50]; //du brauchst nur einen String! int iBlanks=0; //Zählvariable für Leerzeichen //User-Eingabe printf("\nBitte geben Sie einen Satz ein: "); fgets(TheOnlyString,50,stdin); //Leerzeichen zählen for(int i=0;i<51;i++) { if(TheOnlyString[i]==' ') { iBlanks++; } } //Statistik-Ausgabe printf ("\nStatistik:"); printf ("\nEingegebene Zeichen : %i", (int)strlen(TheOnlyString)-1); printf ("\nAnzahl Leerzeichen : %i", iBlanks); printf ("\nErstes Zeichen : %c", TheOnlyString[0]); //erstes Element des char-Arrays ist ja dein erstes Zeichen printf ("\nLetztes Zeichen : %c", TheOnlyString[strlen(TheOnlyString)-2]); printf ("\n"); //Eingabepuffer leeren char c; do { c = fgetc(stdin); } while (c != EOF && c != '\n'); //Schließen der Konsole unter Windows verhindern std::cin.get(); //raus hier! return 0; }
Ist auch nicht perfekt, aber naja...
EDIT: Du hast ja auch den string-Header eingebunden. Hast du dir die Klasse std::string denn mal angesehen? Könnte einen Blick wert sein und dir das Leben vereinfachen!
-
_matze schrieb:
Probier das mal:
#include <iostream> //...
-
Tachyon schrieb:
_matze schrieb:
Probier das mal:
#include <iostream> //...
Upps...
-
Danke für die Hilfe...
mfg anonymer