B
ByeBye 249714
Code:
#include <stdio.h>
char chareinlesen()
{
char erg;
char str[24];
fgets(str,24,stdin);
erg=strlen(str)-1;
if(erg>=0&&str[erg]=='\n')str[erg]='\0';
else{while(fgetc(stdin) != '\n');}
return erg;
}
void ersetze_zeichen(char *text, char alt, char neu){
int i,x;
x=strlen(text);
for(i=0; i<x; i++) if (text[i]==alt) text[i]=neu;
while(text[x]) putchar(text[x++]);
}
int main()
{
char alt, neu, text[80];
printf("Geben Sie einen Text ein: ");
gets(text);
printf("Geben Sie ein Zeichen ein, woraufhin der Text untersucht werden soll: ");
alt=chareinlesen();
printf("Geben Sie ein Zeichen ein,\nwelches an die Stelle des zuvor eingebenen Zeichens platziert werden soll: ");
neu=getchar();
ersetze_zeichen(text, alt, neu);
printf("\n\n");
system("PAUSE");
return 0;
}
Das Programm soll einen Text einlesen sowie 2 Zeichen, wobei das erste Zeichen im Text gesucht und dann durch das 2. ersetzt werden soll.
Mein Problem scheint bei der Funktion "void ersetze_zeichen(char *text, char alt, char neu)" zu liegen, aber ich sehe nicht was ich falsch gemacht habe.
EDIT: Ok, wo ich es so nochmal vor mir sehe... das "x" in " while(text[x]) putchar(text[x++]);" muss schonmal durch i ersetzt werden, und i=0 vor dieser while-Schleife gesetzt werden, aber der Text wird nicht verändert dargestellt
Zuletzt bearbeitet von einem Moderator: