Problem mit C programm



  • Ich glaube eher, dass er nur im falschen Unterforum gelandet ist. 😉



  • Das kann auch sein... 😃
    Falls er allerdings doch bewusst hier ist, wäre folgender Code angesagt 😉 :

    #include <iostream>
    
    using namespace std;
    
    int main ()
    {
        cout << "Geben sie eine Zahl zwischen 1 und 7 ein: " << endl;
        int tag;
        cin >> tag;
    
        if( tag<1 || tag>7 )
        {
            cout << "Falsche Eingabe" << endl;
        }
        else
        {
            switch( tag )
            {
            case 1:
                cout << "Sonntag" << endl;
                break;
            case 2:
                    cout << "Montag" << endl;
                    break;
            case 3:
                   cout << "Dienstag" << endl;
                    break;
            case 4:
                    cout << "Mittwoch" << endl;
                    break;
            case 5:
                    cout << "Donnerstag" << endl;
                    break;
            case 6:
                    cout << "Freitag" << endl;
                    break;
            case 7:
                    cout << "Samstag" << endl;
                    break;
            default:
                break;
            }
        }
    }
    

    Lg freeG



  • In C ist dein Programm nicht übersetzbar, da die Variablen am Anfang der Funktion definiert werden müssen. Für scanf musst du die Adresse der Variablen angeben. So müsste es gehen:

    #include <stdio.h>
    int main (){
        int tag;
        printf("Geben sie eine Zahl zwischen 1 und 7");
        scanf("%d",&tag);
        if(tag<1||tag>7){
            printf("Falsche Eingabe");
        }
        else{
            switch(tag){
            case 1:
                printf("Sonntag");
                break;
            case 2:
                        printf("Montag");
                        break;
            case 3:
                        printf("Dienstag");
                        break;
            case 4:
                        printf("Mittwoch");
                        break;
            case 5:
                        printf("Donnerstag");
                        break;
            case 6:
                        printf("Freitag");
                        break;
            case 7:
                        printf("Samstag");
                        break;
            default:
                break;
            }
        }
        }
    


  • 314159265358979 schrieb:

    Ich glaube eher, dass er nur im falschen Unterforum gelandet ist. 😉

    Ups jetzt habe ich nochmal den Threadtitel gelesen, ist wohl wirklich ausversehen im falschen Unterforum.

    Kann ja jemand mal verschieben.

    Lg freeG



  • Das Programm war für C und nicht C++ 🙂 sorry aber habe gesucht und kein Forum für C gefunden deswegen habe ich mir gedacht,das passt doch.
    nur diese Fehler von Void am Anfang oder später wenn ich das (& ) vergessen habe,die habe ich korrigiert,und gerade habe ich das Programm mit dem normalen Editor Kompiliert und es hat geklappt aber mit Eclipse oder Wascana ist alles durcheinander :S
    könnte jemand mir andere IDE empfehlen! weil ich damals Eclipse für Java brauchte
    Danke



  • Du benutzt vermutlich Windows: dann würde ich Visual Studio empfehlen.



  • manni66 schrieb:

    Du benutzt vermutlich Windows: dann würde ich Visual Studio empfehlen.

    Ja stimmt.Danke:)



  • Das C-Forum ist übrigens hier: http://www.c-plusplus.net/forum/f10



  • if...else würde ich weg machen und 'Falsche Eingabe' in den default-Zweig packen.



  • Dieser Thread wurde von Moderator/in CStoll aus dem Forum C++ (auch C++0x) in das Forum C (C89 und C99) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Mach doch mal ein Zeilenvorschub in deine printf (mit \n) mit an. Dann solltest du auch was sehen.



  • #include <stdio.h>
    int main (){
        int tag;
        printf("Geben sie eine Zahl zwischen 1 und 7");
        scanf("%d",&tag);
            switch(tag){
            case 1:
                printf("Sonntag");
                break;
            case 2:
                        printf("Montag");
                        break;
            case 3:
                        printf("Dienstag");
                        break;
            case 4:
                        printf("Mittwoch");
                        break;
            case 5:
                        printf("Donnerstag");
                        break;
            case 6:
                        printf("Freitag");
                        break;
            case 7:
                        printf("Samstag");
                        break;
            default:    printf("Falsche Eingabe");
                break;
            }
        return 0;
        }
    


  • #include <stdio.h>
    #include <string.h>
    
    const char *Weekdays[] = {"Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"};
    
    int main()
    {
    	int day;
    
    	printf("Geben Sie eine Zahl zwischen 1 und 7 ein: ");
    	scanf("%d", &day);
    
    	if (day >= 1 && day <= 7)
    	{
    		printf("%s\n", Weekdays[day - 1]);
    	}
    	else
    	{
    		printf("Fehlerhafte Eingabe!\n");
    	}
    
    	return 0;
    }
    

Anmelden zum Antworten