String handling



  • int main()
    {
         char s1[1000], s2[1000];
         int j=0;
    
         cout << "Bitte Satz eingeben (bis 1000 Zeichen)\n\t Bsp: Alles M\"ueller oder wa\"s? : "; cin >> s1;
    
         for (int i=0; i< strlen(s1); i++)  // strlen(s1)-1;
         {
             if ( s1[i]!='"' )   // wenn alles iO
             {
                if (i!=0) j++;
                s2[j]=s1[i];
    
                cout << "\ns1["<< i << "]=" << s1[i] << " s2[" << j << "]=" << s2[j] << "\t" << s2;
             } else {
                 j++;
                 cout << "\n\n\tAbweichung bei " << i << endl;
                 switch (s1[++i]){ // nächstes Zeichen checken 
                     case 'u': cout << "u gefunden "; s2[j]='*'; break;
                     case 's': s2[j]='ß'; break; }
                 i++;     // gleich noch ein Zeichen weiterspringen
             }
         }
    
         cout << endl << s2 << " " << s1 << endl;
         system("pause");
    }
    

    Was ist denn daran falsch?



  • #include <iostream> // fuer cout, cin, endl, ...
    using namespace std;     // spart std:: 
    
    int main()
    {
      //...
    }
    

  • Mod

    endl wird in <ostream> definiert. das einbinden von <iostream> allein genügt nicht.



  • camper schrieb:

    endl wird in <ostream> definiert. das einbinden von <iostream> allein genügt nicht.

    Gibts da tatsächlich Compiler bei denen <iostream> nicht irgendwie <ostream> includiert?

    MfG SideWinder



  • endl wird in <ostream> definiert. das einbinden von <iostream> allein genügt nicht.

    Da bleibt einem doch echt die Luft weg?! ... und das bei der Hitze. 😃



  • Ja ja also das hab ich so, aber der s2 wird mir immer mit anhaengsel von 5 oder so sonderzeichen zurückgegeben....

    Hat mal jemand das Programm testen können? Wenn man Müller z.Bsp eingibt....



  • es sollen praktisch sonderzeichen aus dem ersten string, wie M"uller in
    Müller umgewandelt werden

    switch (s1[++i]){
    case 'u': s2[j]='ü'; break;
    case 'U': s2[j]='Ü'; break;
    case 'a': s2[j]='ä'; break;
    case 'A': s2[j]='Ä'; break;
    case 'o': s2[j]='ö'; break;
    case 'O': s2[j]='Ö'; break;
    case 's': s2[j]='ß'; break; }

    ...


Anmelden zum Antworten