Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Zeichen in Vokale umwandeln !!!

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
07.12.2003, 23:16 Uhr
~holdrio
Gast


Kann mir jemand einen Tipp geben:

Ich muss ein C-Programm schreiben, dass eine Zeichenkette (ohne Blanks) von der Tastatur anfordert und diese Zeichenkette dann 5 mal wieder ausgibt, und zwar jeweils ausschliesslich mit nur einem Vokal: alle anderen Vokale sollen in diesen umgewandelt werden. Gross-/Kleinschreibung soll auch beachtet werden.
Beispieleingabe: "Ahoi!_Studies!!" wird zu
"Ahaa!!_Stadaas!!"
"Ehee!!_Stedees!!"
"Ihii!!_Stidiis!!"
"Ohoo!!_Stodoos!!"
"Uhuu!!_Studuus!!"

Wie wandel` ich die Zeichen in die jeweils 5 Vokale um ??? Ich komm da nicht weiter !!!

MfG

holdrio
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
07.12.2003, 23:17 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


wo kommst du denn genaus nicht weiter.
ist eigentlich ein easyproblem. was geht denn nicht?
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
07.12.2003, 23:17 Uhr
~holdrio
Gast


achja, ich Programmiere in C auf Linux...

MfG

holdrio
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
07.12.2003, 23:18 Uhr
~holdrio
Gast


naja, mir fehlt komplett der Ansatz.... Ich bin noch ziemlich neu in dem Gebiet...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
07.12.2003, 23:31 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


angenommen in buffer steht dein satz
dann musst du nur alle zeichen durchlaufen und diese gegebenenfalls ersetzen

C++:
void replace_vocals(char vocal, char* buffer){
for(char *p=buffer;*p;++p) if(*p=='a' || *p=='A' || *p=='e' || *p=='E' || *p=='i' || *p=='I' || *p=='o' || *p=='O' || *p=='u' || *p=='U')  isupper(*p)?*p=toupper(vocal):*p=tolower(vocal);
}

int main(){
char buffer[] ="Ich geh nach Hause";
replace_vocals('a',buffer);
printf("%s\n",buffer);
}


--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 07.12.2003 um 23:32 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
07.12.2003, 23:38 Uhr
~holdrio
Gast


hey danke schon mal, muss ich denn nun für jeden weiteren Vokal eine ähnliche Funtion schreiben ??? und wie gebe ich das fünf mal hintereinnder aus ???

Vielleicht hast ja noch Zeit...

MfG

holdrio
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
07.12.2003, 23:43 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


na die funktion 5 mal aufrufen

C++:
int main(){
char buffer[] ="Ich geh nach Hause";
replace_vocals('a',buffer);
printf("%s\n",buffer);
replace_vocals('e',buffer);
printf("%s\n",buffer);
replace_vocals('i',buffer);
printf("%s\n",buffer);
replace_vocals('o',buffer);
printf("%s\n",buffer);
replace_vocals('u',buffer);
printf("%s\n",buffer);
}


--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
07.12.2003, 23:47 Uhr
~holdrio
Gast


jo danke, das hab ich auch grad geblickt :-) endlich mal was :-)

wollte ich Dir grad schreiben...

C++:
   replace_vocals('a',buffer);
   printf("%s\n",buffer);

   replace_vocals('e',buffer);
   printf("%s\n",buffer);

   replace_vocals('i',buffer);
   printf("%s\n",buffer);

   replace_vocals('o',buffer);
   printf("%s\n",buffer);
  
   replace_vocals('u',buffer);
   printf("%s\n",buffer);



Jetzt fehlt mir nur noch die Eingabeaufforderung... aber ich probier schon mal nen bißchen :-)

Dieser Post wurde am 08.12.2003 um 00:00 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
07.12.2003, 23:51 Uhr
~holdrio
Gast


Ich habs jetzt so gemacht :-)

C++:
char buffer[80];
   printf("\n Bitte eine Zeichenkette (ohne Blanks)\n");
   scanf("%s",buffer);
   printf("\n Eingabe war : %s\n",buffer);


Irgendwelche anderen Tipps :-)

Dieser Post wurde am 08.12.2003 um 00:02 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
07.12.2003, 23:53 Uhr
~holdrio
Gast


eine Frage noch, was wird hier genau gemacht ??? hast Lust die Zeilen mal zu kommentieren ??? Was heißt das || ??

C++:
for(char *p=buffer;*p;++p)
if(*p=='a' || *p=='A' || *p=='e' || *p=='E' || *p=='i' || *p=='I' || *p=='o' || *p=='O' || *p=='u' || *p=='U')  
          isupper(*p)?*p=toupper(vocal):*p=tolower(vocal);



Dieser Post wurde am 08.12.2003 um 00:02 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: