Gdp 03 Funktionen und Arrays

Funktionen

/*    funktionen.c
Das Hauptprogramm wird mit Funktionen ausgestattet, die mit globalen und
lokalen Variablen umgehen. Eine Überdeckung versteckt eine globale vor einer
lokalen Variablen.
 
*/
#include <stdio.h>
 
int GLOBAL_C = 4224; // Definition einer globalen Variablen
 
void funktion1();
void funktion2();
int funktion3();
int funktion4();
 
int main() {
    int a = 89; // Definition lokaler Variablen für main()
    int b = 98;
 
    funktion1(); // Aufruf der Unterfunktionen
    funktion2();
 
    printf("Main:\n");
    printf("a = %i\nb = %i\nGLOBAL_C = %i\n\n", a, b, GLOBAL_C);
 
    printf("Funktion 3:\n");
    printf("Rückgabe der globalen Variable: %i\n\n", funktion3());
 
    printf("Funktion 4:\n");
    printf("a^2 + b^2 = %i\n\n", funktion4(a, b));
}
 
void funktion1() {
    int a = 42; // Definition lokaler Variable für funktion1()
    printf("Funktion 1:\n");
    printf("a = %i\nGLOBAL_C = %i\n\n", a, GLOBAL_C);
}
 
void funktion2() {
    int b = 24; // Definition lokaler Variable für funktion2()
    int GLOBAL_C = 0; // lokale Variable überdeckt globale Variable
    printf("Funktion 2:\n");
    printf("b = %i\nGLOBAL_C = %i\n\n", b, GLOBAL_C);
}
 
int funktion3() {
    return(GLOBAL_C); // gibt globale Variable zurück
}
 
// Funktion addiert zwei Integer und gibt die Summe als Integer zurück
int funktion4(int alpha, int beta) {
    int gamma;
    gamma = alpha + beta;
    return(gamma);
}

Arrays

/* array_umsatz.c
In einem Array werden 7 Tagesumsatze gespeichert. Es wird die Summe ermittelt
und der höchste wie niedrigste Umsatz ausgegeben.
 
*/
 
#include <stdio.h>
 
int main() {
    float umsatz[7]; // Deklaration eines Arrays der Größe 7 (0...6)
    float summe = 0;
    int i; // Definition von i in for-Schleifen bei C nicht möglich 
    float hoechsterWert, niedrigsterWert;
 
    printf("Bitte geben Sie die Tagesumsaetze der letzten 7 Tage ein");
    for(i = 0; i < 7; ++i) {
        printf("\nWochentag %i: ", i + 1);
        // scanf benötigt die Adresse der Variable und nicht Variable selbst,
        // es würde zu einem Fehler kommen.
        scanf("%f", &umsatz[i]); 
    }
 
    // Beide Variablen müssen mit einem Startwert belegt werden, sonst ist
    // niedrigster Wert z.B. immer 0
    hoechsterWert = umsatz[0];
    niedrigsterWert = umsatz[0];
 
    for(i = 0; i < 7; ++i) {
        summe += umsatz[i];
 
        if(hoechsterWert < umsatz[i])
            hoechsterWert = umsatz[i];
        if(niedrigsterWert > umsatz[i])
            niedrigsterWert = umsatz[i];
    }
 
    printf("\nDer Wochenumsatz betraegt %.2f,\n", summe);
    printf("der niedrigste Umsatz war %.2f,\n", niedrigsterWert);
    printf("der höchste Umsatz war %.2f.\n\n", hoechsterWert);
}
Sofern nicht anders angegeben ist der Inhalt dieser Seite unter Lizenz Creative Commons Attribution-ShareAlike 3.0 License