C++ Programm in C umschreiben,Hilfe



  • Hallo kann mir bitte jemand helfen und folgendes Programm in C Standard umzuschreiben!Hab es einige Male selber probiert aber es klappt dann nicht mehr!

    #include <stdio.h>
    #include <conio.h>
    #include <string.h>
    #include <iostream>
    using std::cin;
    using std::cout;
    using std::endl;
    
    int replace(char txt[],char from,char to)
    {
    	int i=0;
    	char s[5];
    	int count=0;
    
    	for(i;i<5;i++)
    	{
    
    		if(from==txt[i])
    		{
    			txt[i]=to;//es wird immer von rechts nach links zugewiesen!! l<--->r
    			count++;
    		}
    
    	}
    for(i=0;i<5;i++)
    {
    	cout<<txt[i]<<",";
    }
    return(count);
    }
    
    void main()
    {
    char txt[5];
    char new_letter,old_letter;
    int i=0,count;
    
    for(i;i<5;i++)
    {
    	cout<<"Bitte geben Sie  Buchstaben ein:"<<endl;
    	cin>>txt[i];//Wieso als String einlesen?
    }
    
    for(i=0;i<5;i++)
    {
    	cout<<txt[i]<<",";
    }
    cout<<endl;
    
    cout<<"Welchen Buchstaben wollen Sie ersetzen?:"<<endl;
    cin>>old_letter;
    
    cout<<"Durch welchen Buchstaben?:";
    cin>>new_letter;
    
    count=replace(txt,old_letter,new_letter);
    
    cout<<"Ersetzungen: "<<count;
    	fflush(stdin);
    	getchar();
    }
    


  • #include <stdio.h>
    #include <conio.h>
    
    int replace(char txt[],char from,char to)
    {
        int i=0,count=0;
    
        for(i=0;i<5;i++)
        {
            if(from==txt[i])
            {
                txt[i]=to;//es wird immer von rechts nach links zugewiesen!! l<--->r
                count++;
            }
        }
    	for(i=0;i<5;i++)
    	{
    		printf("%c,",txt[i]);
    	}
    
    	printf("\n");
    	return count;
    }
    
    int main(){
    
    	char txt[5];
    	char new_letter,old_letter;
    	int i,count;
    
    	for(i=0;i<5;i++)
    	{
    		printf("Bitte geben Sie  Buchstaben ein:");
    		txt[i]=getch();
    		printf("%c\n",txt[i]);
    	}
    	for(i=0;i<5;i++)
    	{
    		printf("%c,",txt[i]);
    	}
    	printf("\n");
    
    	printf("Welchen Buchstaben wollen Sie ersetzen?:");
    	old_letter=getch();
    	printf("%c\n",old_letter);
    
    	printf("Durch welchen Buchstaben?:");
    	new_letter=getch();
    	printf("%c\n",new_letter);
    
    	count=replace(txt,old_letter,new_letter);
    
    	printf("Ersetzungen: %i",count);
      //  fflush(stdin);
        getchar();
    	return 0;
    }
    


  • Aber warum verwende ich getch() bei diesem Programm?
    Trotzdem Dankeschön an BorisDieKlinge! 🙂



  • getch(); wartet auf tastatureingabe und gibt das (ein) zeichen der grdrücken taste zurück.
    getchar liefert ein string, aber du willst ja nur einzelne zeichen



  • BorisDieKlinge schrieb:

    getch(); wartet auf tastatureingabe und gibt das (ein) zeichen der grdrücken taste zurück.
    getchar liefert ein string, aber du willst ja nur einzelne zeichen

    das ist totaler Schwachsinn. getch/conio.h gibt es nicht im C Standard! Und getchar tut was der Name sagt und liefert nur ein einzelnes Zeichen 👎. man: getchar



  • sorry... nehm alles zurück;) schon lang nich mehr in C gearbeitet



  • rüdiger schrieb:

    Und getchar tut was der Name sagt und liefert nur ein einzelnes Zeichen

    dem namen nach müsste getchar() aber eine putzfrau herbeizaubern.
    🙂


Anmelden zum Antworten