wahr / falsch ausgabe --- echt sehr wichtig !!!



  • hallo leute,

    ich bin ein dummy in C++ (habe erst angefangen) und muss ein programm schreiben, in dem ich ausgeben soll ob in einem Text aus detuschen buchstaben besteht oder nicht. ich habe schon was geschrieben, weiss jetzt aber nicht weiter. er gibt mir einen fehler aus.

    hier mein script, was ich bisher geschrieben habe:

    #include <stdio.h>

    int main()
    {
    char text[1000] = "Dies ist ein Text.";
    for (int i=0; text[i]!=0; i++) {
    if (deutscher_Buchstabe(text[i])) {
    printf("ist ein deutscher Buchstabe \n", deutscher_Buchstabe(text[i]));
    }

    else {
    printf("ist kein deutscher Buchstabe \n", deutscher_Buchstabe(text[i]));
    }
    }

    return 0;
    }

    ausserdem die frage, wo bekomme ich ein Buch her, dass mir alles verstaendlich und ausfuehrlich erklaert, am besten mit guten beispieln? oder ein tutorial, was ich mir downloaden kann (damit ich nicht immer online machen muss).

    vielen dank, grosse programmier-freaks.
    😕



  • Du solltest noch den Code der Funktion 'deutscher_Buchstabe(...)' posten.

    Ausserdem würde ich dir empfehlen statt printf(...) lieber cout zu verwenden. Dazu einfach 'iostream' #includen und in der nächsten Zeile 'using namespace std;' schreiben.

    EDIT: Wenn du doch printf verwenden möchtest kannst du die Zeile

    printf("ist ein deutscher Buchstabe \n", deutscher_Buchstabe(text[i]));
    

    in

    printf("%s ist ein deutscher Buchstabe \n", text[i]);
    

    ändern. Die andere Zeile natürlich auch 😉



  • wenn ich ehrlich hatte ich gehofft, jemand wuerde mir das programm zu ende schreiben, so dass es laeuft 😃

    was meinst du denn mit "Du solltest noch den Code der Funktion 'deutscher_Buchstabe(...)' posten." ? es gibt nur dieses programm. sollte da noch mehr sein?



  • Zauberlehrling! schrieb:

    wenn ich ehrlich hatte ich gehofft, jemand wuerde mir das programm zu ende schreiben, so dass es laeuft 😃

    sowas machen wir nicht

    was meinst du denn mit "Du solltest noch den Code der Funktion 'deutscher_Buchstabe(...)' posten." ? es gibt nur dieses programm. sollte da noch mehr sein?

    jo, sollte
    deutscher_Buchstabe(text[i])
    was macht dieser Code?



  • wenn ich ehrlich hatte ich gehofft, jemand wuerde mir das programm zu ende schreiben, so dass es laeuft

    Ja sicher, und wo wäre dann für dich der Spaß ?? 🙂



  • Naja, dann muss ich da wohl durch 🙄 ... als Lurch, wenn ich'n Frosch werden will, was?

    ich habe aber keine andere datei, die "deutscher_Buchstabe" erklaert oder so. bei

    char text[1000] = "Dies ist ein Text.";

    steht doch schon was text ist. ich habe wirklich keine ahnung von C++, aber ich muss diese aufgabe bis montag 12 uhr abgegeben haben. es gibt zwar viele buecher, aber es wird irgendwie nicht wirklich gut erklaert.

    der compiler sagt mir, dass in der 3 zeile in main der deutsche_Buchstabe nicht definiert ist. so wie ihr auch sagt, aber was heisst das. ich fuehle mich sehr dumm... 😡



  • So wie es in deinem Programm aussieht, soll 'deutscher_Buchstabe' eine Funktion sein, die ein char als Parameter erhält und ein bool zurückgibt. Wie diese Funktion im Detail aussieht, musst du logischerweise dem Compiler noch sagen; Hellsehen kann er noch nicht ;). Ein möglicher Ansatz wäre:

    bool deutscher_Buchstabe(char eingabe)
    {
        if ((eingabe>='a' && eingabe<='z') ||
            (eingabe>='A' && eingabe<='Z'))
            return true;
    
        return false;
    }
    

    Was diese Funktion nicht berücksichtigt sind die 'ä', 'ö' u.s.w. die bekanntermaßen ebenfalls zu den deutschen Buchstaben zählen. Die Abfrage hierzu darfst du selber noch in die Funktion mit einbauen.



  • Übrigens kannst du dir das if einsparen, die Klammern auch, da && einen höheren Rang als || hat.

    bool deutscher_Buchstabe(char eingabe)
    {
        return eingabe>='a' && eingabe<='z' || eingabe>='A' && eingabe<='Z';
    }
    

    MfG Eisflamme



  • es klappt nicht. ich weiss nicht, wo ich das alles reinschreiben soll. ich bekomme von mal zu mal mehr errors angezeigt und weiss nicht, wie ich sie wegkriegen soll.

    das hier war mein original:

    #include <stdio.h> 
    
    int main() 
    { 
    char text[1000] = "Dies ist ein Text."; 
    for (int i=0; text[i]!=0; i++) { 
    if (deutscher_Buchstabe(text[i])) { 
    printf("ist ein deutscher Buchstabe \n", deutscher_Buchstabe(text[i])); 
    } 
    
    else { 
    printf("ist kein deutscher Buchstabe \n", deutscher_Buchstabe(text[i])); 
    } 
    } 
    
    return 0; 
    }
    

    der compiler gab mir einen error aus:

    Error E2268 tokenize.cpp 7: Call to undefined function 'deutscher_Buchstabe' in function main()

    aendere ich meine datei ab mit euren vorschlaegen (die sicher richtig sind), dann bekomme ich niemals weniger als 3 errors angezeigt.
    koennt ihr nicht mal eine ausnahme machen und mir das script schreiben? dann kann ich es vielleicht nachvollziehen. ausserdem ist der spass auch weg, wenn man nie ein erfolgserlebnis hat, und ich habe keins...

    danke.



  • Füge den Code der Funktion 'deutscher_Buchstabe()' zwischen der Zeile '#include <stdio.h>' und 'int main()' ein. Wenns dann nicht klappt, sag mal welche Fehlermeldungen du bekommst.



  • #include <iostream> 
    using namespace std;
    
    bool deutscher_Buchstabe(char );
    
    int main()
    {
    	char text[19] = "Dies ist ein Text.";
    	for (int i = 0; text[i] != 0; i++)
    	{
    		if (deutscher_Buchstabe(text[i]))
    			cout << "\"" << text[i] << "\" ist ein deutscher Buchstabe" << endl;
    		else
    			cout << "\"" << text[i] << "\" ist kein deutscher Buchstabe" << endl;
    	}
    
    	return 0;
    }
    
    bool deutscher_Buchstabe(char eingabe) 
    { 
        return eingabe >= 'a' && eingabe <= 'z' || eingabe >= 'A' && eingabe <= 'Z';
    }
    

    Ich habe mal alles zusammengefasst, was bisher gesagt wurde.
    So sollte es dann auch bei dir gehen.


Anmelden zum Antworten