pizza timer?! aber wie?!



  • hallo.

    hab da mal ne frage. undzwa..ihr kennt das wahrscheinlich bestimmt alle 😉 wenn ihr ne pizza reintut und ihr am pc sitzt...dann komms schonmal vor das die was schwarz wird *g*..und da wollt ich nen simplen pizza timer schreiben..also der mir nach z.b 16minuten ne meldung ausgibt..so..alles schön und gut...jmd hat mir gestan gesagt ich solle das so machen:

    {
    	for (i = 16; i >= 0; -i);
    
    	printf("noch %d minuten\n", i);
    	Sleep(60*1000);
    }
    

    aber nach 16minuten kommt keine meldung? hm und was meinte er mit sleep(60*1000); <<? 60sekunden mal 1000sekunden?
    habta ne idee wie ich das machen soll?

    dankeschön 🙂



  • c0d0r2k schrieb:

    hm und was meinte er mit sleep(60*1000); <<? 60sekunden mal 1000sekunden?

    sleep(1); schläft eine milli sec ( also 1/1000 sec)
    sleep(1000); schläft eine sekunde.
    sleep(1000*60) schläft eine Minute.

    c0d0r2k schrieb:

    {
    	for (i = 16; i >= 0; -i);
    	
    	printf("noch %d minuten\n", i);
    	Sleep(60*1000);
    }
    

    mach da in den for am ende mal ein --i hin.



  • Wobei man dann die for-schleife ganz weglassen kann, vorher hatte sie wenigstens noch den Effekt der Endlosschleife 😉

    Das Programm müsste wohl so aussehen:

    Sleep(16000);
    printf("Pizza fertig\n");
    


  • { 
        for (i = 16; i > 0; i--)
        {
            printf("noch %d minuten\n", i); 
            Sleep(60*1000);
        } 
    }
    


  • habs jezz so gemacht:

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    #include <YYY.h>
    #include <ZZZ.h>
    
    int main()
    
    {	
    	int i;
    
    	setcolor (FG_YELLOW);
    	printf("***PIZZA TIMER***\n\n");
    	printf("*****************\n\n");
    
    	setcolor (FG_WHITE);
    	printf("Bitte geben sie die in Minuten an!\n\n");
    
    	setcolor (FG_GREEN);
    	scanf("%d", &i);
    
    	for (i ; -i >= 0; -i);
    	setcolor (FG_YELLOW);
    
    	printf("noch %d minute(n)\n\n\n", i);
    	Sleep(60*1000);
    
    	setcolor(FG_WHITE);
    	printf("FERTIG!!!\n\a");
    	printf("\a");
    	printf("\a");
    
    	setcolor (FG_YELLOW);
    	printf("Das Programm wird beendet...\n\n");
    	exit (1);
    }
    

    setcolor is dafür das der text in farbe ausgegeben wird 🙂
    is so viel schöner 😃

    dankeschön für die liebe hilfe 👍



  • Was erwartest du dir von "for (i ; -i >= 0; -i); " für einen Effekt?



  • c0d0r2k schrieb:

    is so viel schöner 😃

    Und völliger Nonsense ...



  • so wird er jedenfalls niemals eine pizza verkohlen lassen. und gefroren sind die doch viel knuspriger 😃



  • Naja, wahrscheinlich doch, da er das FERTIG nicht zu Gesicht bekommen wird, bzw nur für nen Sekudnenbruchteil, wenn er Glück hat und in dem Moment auf das Programm schaut ...



  • hmmm...und was ich noch nicht ganz verstehe...er lässt die sekunden eintippen,
    aber macht statisch Sleep(60*1000);
    egal was man fürne minutenzahl eintippt sagt er nach einer minute die pizza is fertig.
    Und wenn du aus irgendeinem Grund die for-schleife dochmal so hinbekommst dass sie was nützt, dann hör auf xroads42 und mach --i oder i--
    oder modde sie am besten gleich ganz um 😉



  • Alternativ könnte er auch einfach C lernen. Bisher sieht mir das eher nach einer Mischung aus Copy&Paste und Trial&Error aus.



  • jaja is klar bashar....naja...ich lerne c...und wennes mir net glaubst...
    danke trotzdem...



  • ... schrieb:

    ich lerne c...

    Bist du der Fragesteller? Ich seh da nur Anmeldedatum 20. Januar, also vor ca. 10 Monaten. Und du hast nichtmal rudimentär nen Plan was for macht. Naja, ist deine Sache.



  • ich machs aba net seit 10monaten...naja...dann frage ich halt nicht mehr...
    tschüss



  • Du hast dich also mal auf Vorrat vor 10 Monaten angemeldet und vor einer Woche erst angefangen? Dann entschuldige ich mich für meine anmaßende Unterstellung :p



  • Bashar schrieb:

    Was erwartest du dir von "for (i ; -i >= 0; -i); " für einen Effekt?

    Um Gottes Willen (bezogen auf die for()-Schleife)...

    Hat er Deine Frage gar überlesen, Bashar?



  • Die for-schleife ist echt Quatsch.
    Da ich aber selbst noch Anfänger bin, fand ich die Idee des Programms
    recht interessant und will das Ganze mal nicht weiter kritisieren.
    Hier also meine Version.
    Eine sinnvolle for-schleife habe ich auch eingebaut.
    Sie zeigt dem Benutzer wie lange die Pizza schon im Ofen ist.
    Ich möchte aber noch eine Abfrage, von mir aus auch in der
    while(tempbedingung), die einen alphabetischen Eingabefehler
    z.B. 'sechs' oder 'zehn' oder 'w' ... abfängt, einbauen.
    Vielleicht kann mir da jemand helfen.

    #include <stdio.h>
    
    int main()
    {
        int g = 0;
    
        printf("----------------------------\n");
        printf("Pizza_Uhr Version(Tonno 1.3)\n");
        printf("----------------------------\n");
        printf("Start: 'any Key'\n");
        printf("Ende:  'x'\n\n");
    
        g = getch();
    
        //am Beginn die Möglichkeit mit x zu beenden
        if(g == 'x')
        {
            return 0;
        }
        else
        {
            do
            {
                int t = 0;
                int i = 0;
    
                printf("Zeit eingeben. (in min) + 'Enter'\n\n");
                scanf("%d", &t);
    
                while(((t >= 0) && (t < 5)) || (t > 15))//Temperaturbedingung
                {
                    printf("\nDas wird nix.\n");
                    printf("Minimum: 5 min Maximum: 15 min.\n");
                    printf("Zeit nochmal eingeben. (in min)\n\n");
                    scanf("%d", &t);
                }
    
                printf("\nPizza wird in %d min zubereitet.\n\n", t);
    
                //Counter
                //i bekommt den Wert von t (Startbedingung dynamisch)
                //i solange abwärts zählen wie i > 0
                //erste Ausgabe und dann durch sleep verzögern
                for(i = t; i > 0; i--)
                {
                    printf("noch %2d min,\n", i);
                    sleep(60000 / 10);//Zeitraffer 10fach, um den Effekt besser zu sehen
                }
    
                printf("\n-----------------------\n");
                printf("Deine Pizza ist fertig.\n");
                printf("-----------------------\n");
    
                printf("Noch eine Pizza?\n");
                printf("Neustart: 'any Key'\n");
                printf("Ende:     'x'\n\n");
    
                g = getch();
            }//end do
    
            while(g != 'x');//zum beenden x drücken
        }//end else
    
        return 0;
    }//end main
    

Anmelden zum Antworten