Temperaturprogramm fast fertig



  • Hi Leute,
    Mein tolles Temperaturprogramm ist jetzt schon fast fertig... ich habe nurnoch ein Problem. Und zwar fragt der PC ja anfangs ob man die Temperatur eingeben, lesen oder die Durschnittstemperatur sehen möchte.
    Nun nehmen wir mal an der User hat bereits alle 31 werte eingetippt... nun muss das Programm ja irgendwie wieder zurück ganz an den Anfang springen. Wie ist das zu bewerkstelliegen?
    Per schleife sähe das wohl ein bisschen unübersichtlich aus... aber hier ist erst mal noch der fertige funktonierende Code. Ihr könnt ihr ja mal durch euren Compiler jagen 🙂

    #include <conio.h>
    #include <stdio.h>
    void main(void)
    {
    int entscheid;
    int janein=0,tag=0,tagestemperatur[31]={0},tagesanzahl=0,tagzwei=0,tagt=0,vorschnitt=0,schnitt=0;
    textbackground(RED);textcolor(GREEN);clrscr();
    
    printf("Programm zum Einlesen, Ausgeben der Durschnittstemperatur eines Monats.\n\n\n");
    printf("Menue:\n\n");
    printf("1: Temperatur einlesen\n2: Tagestemperatur ausgeben\n3: Durchschnittstemperatur berechnen\n\n\n                      <Esc> Ende\n\n\n");
    scanf("%i",&entscheid);
    
    if (entscheid==1)
    {
    do{
    printf("\nFr welchen Tag m”chten Sie die Temperatur einlesen?\n");
    scanf("%i",&tag);
    if (tag>31||tag<1)
    {
    printf("FEHLER!!!\nSIE HABEN EINE UNZULŽSSIGE MONATSANZAHL EINGEGEBEN");getch();exit();}
    else
    printf("Und wie soll die Temperatur an Tag %i dann sein?\n",tag);
    scanf("%i",&tagestemperatur[tag]);
    
    printf("Okay, an Tag %i betrug die Temperatur %iøC\nIhr Computer hat dies nun gespeichert!\n\n",tag,tagestemperatur[tag]);
    printf("Wollen Sie noch weitere Temperaturen einlesen? n/j\n");
    tagesanzahl++;
    janein=getch();
    //Asciicode fr n=110
    //Asciicode fr j=106
    }while(janein==106);
    }
    
    if (entscheid==2)
    {
    if (tagesanzahl==0){printf("ES WURDEN NOCH KEINE TAGE EINGEGEBEN!!!! DU ZONK!!!!");
    }
    else
    do{
    printf("\nFr welchen Tag wollen Sie gerne die Temperatur wissen?");
    scanf("%i",&tagzwei);
    if (tagzwei>31||tagzwei<1)
    {
    printf("DU HAST EINEN UNZULŽSSIGEN WERT EINGEGEBEN!!!");exit();}
    else
    printf("\nDie Temperatur fr Tag %i betrug %iøC\n",tagzwei,tagestemperatur[tagzwei]);
    printf("Wollen Sie fr noch einen Tag die Temperatur auslesen? j/n");
    janein=getch();
    }while (janein==106);
    
    if (entscheid==3)
    {
    for(tagt=0;tagt<=31;tagt++)
    {
    tagestemperatur[tagt];
    vorschnitt=vorschnitt+tagestemperatur[tagt];
    }
    schnitt=(vorschnitt/tagesanzahl);
    
    printf("\nDie Durschnittstemperatur der bisher eingegebenen Tage betr„gt %iøC",schnitt);
    }
    
    getch();
    }}
    

    bye
    David

    PS: 😋 😋 😋 😋 😋



  • Du solltest Dich so langsam mal mit Funktionen beschäftigen... oder einfach mal ein C/C++ Tutorial durchmachen...



  • Wie mach ich ne Funktion auf?



  • // Prototypen für Funktionen müssen vor dem Aufruf passiert sein
    int beispielFunktion1 ();
    void beispielFunktion2 (int parameter);
    
    int main ()
    {
        // Aufruf einer Funktion mit Rückgabewert
        int i = beispielFunktion1();
        // Aufruf einer Funktion ohne Rückgabewert - dafür aber mit einem Paramter
        beispielFunktion2(i);
    
        return 0;
    }
    
    int beispielFunktion1 ()
    {
        // Ganz noraml Befehle wie in main() ausführen
    }
    
    void beispielFunktion2 (int parameter)
    {
        // dito
    }
    

    Mit Funktionen kannst du etwas mehr Ordnung schaffen, außerdem kannst du sie an versciedenen Stellen aufrufen (Copy&Paste für Code entfällt).

    MfG SideWinder


Anmelden zum Antworten