Ausgabe von Buchstaben



  • Hallo,
    ich komme mit folgender Aufgabe nicht zurecht.

    Nach Eingabe von 2 Buchstaben soll das Programm alle Buchstaben ausgeben, die dazwischen liegen.

    Könnt ihr mir helfen?



  • hi,

    ich geb dir mal den hinweis, das jedem Buchstaben in C++ eine Zahl zugewiesen ist( ASCII) und du folgendes schreiben kannst:

    char a='a';
    a++;
    cout<<a<<endl;
    

    dies wird b ausgeben. vergleiche sind auch möglich



  • void PrintInterimResult(const char *buffer)
    {
    	if(buffer[0] < buffer[1])
    		for(unsigned int i = (int) buffer[0]; i != (int) buffer[1]; ++i)
    		{
    			std::cout<< (char) i <<std::endl;
    		}
    
    	else
    		for(unsigned int i = (int) buffer[1]; i != (int) buffer[0]; ++i)
    		{
    			std::cout<< (char) i <<std::endl;
    		}
    }
    


  • @ Kóyaánasqatsi
    Ich verstehe deinen Quelltext nicht.

    Hier mal mein Vorschlag. Das Programm soll aber a nicht mit ausgeben.

    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        char a,b;
        cin >> a;
        cout << endl;
        cin >> b;
    
        for (a; a!=b; a++)
        {
            cout << a;    
        }
        system("PAUSE");
        return 0;
    }
    


  • Kóyaánasqatsi schrieb:

    void PrintInterimResult(const char *buffer)
    {
    	if(buffer[0] < buffer[1])
    		for(unsigned int i = (int) buffer[0]; i != (int) buffer[1]; ++i)
    		{
    			std::cout<< (char) i <<std::endl;
    		}
    
    	else
    		for(unsigned int i = (int) buffer[1]; i != (int) buffer[0]; ++i)
    		{
    			std::cout<< (char) i <<std::endl;
    		}
    }
    

    Wenn du schon hausaufgaben machst, dann nicht so schlecht.



  • turb000 schrieb:

    for (a; a=b; a++) //a=b problem
        {
            cout << a;    
        }
    


  • eyeyey schrieb:

    Wenn du schon hausaufgaben machst, dann nicht so schlecht.

    Was'n lous?



  • Kóyaánasqatsi schrieb:

    eyeyey schrieb:

    Wenn du schon hausaufgaben machst, dann nicht so schlecht.

    Was'n lous?

    Funktionsparameter schlecht. Code duplication. Unsinnige casts.



  • ich wollt eigtl mal so aus dummdiedelei nen einzeiler draus machen, aber nur mit standard-lib-bordmitteln geht das wohl gar nicht!? 😞

    accumulate und copy würden von der sache her zwar beide gehen aber man kann imho nicht so einfach iteratoren aus den chars machen, richtig...

    damit mein beitrag nicht ganz um sonst für dich war:
    (fencer hat schon alles gesagt, was wichtig sein könnte und nicht gleich alles verrät>.<) aber ich würd das, was fencer gesagt hat noch mit ner for-schleife kombinieren

    bb



  • Hajo, hab's ja nichtmal getestet.

    void PrintInterimResult(const char *buffer)
    {
    	if(buffer[0] < buffer[1]) fnc(buffer[0], buffer[1]);
    	else                      fnc(buffer[1], buffer[0]);
    }
    
    void fnc(unsigned int a, unsigned int b)
    {
    	for(unsigned int i = a; i != b; ++i)
    	{
    		std::cout<< (char) i <<std::endl;
    	}
    }
    

Log in to reply