/*
 * Lerneinheit C-Pointer
 * Einheit 4: Pointer & Funktionen
 * Aufgabe 4.2.1: Zahlentausch
 * 
 * Schreibe ein Programm, in dem 2 float Zahlen von der Tastatur eingelesen werden.
 * Diese sollen in einer tausche - Funktion miteinander vertauscht werden. Gib die
 * beiden Variablen vor und nach dem Tauschen zur Überprüfung auf dem Bildschirm
 * aus.
 */

#include<stdio.h>

/*Prototyp der Tausche Funktion$*/
void tausche(float *zahla, float *zahlb);

int main(void)
{
    float a,b;
    float *a_pt, *b_pt;
    
    /*2 Zahlen einlesen*/
    printf("Programm zum tauschen zweier float-Zahlen\n\n");
    printf("Bitte erste Zahl eingeben:\n");
    fflush(stdin);
    scanf("%f", &a);
    printf("Jetzt bitte die zweite Zahl eingeben:\n");
    fflush(stdin);
    scanf("%f", &b);
    
    /*Testausgabe*/
    printf("\na ist %.3f und b ist %.3f\n\n", a, b);
    printf("Die Variablen werden jetzt getauscht.\n\n");
    
    /*Pointer setzen*/
    a_pt=&a;
    b_pt=&b;
    
    /*Variablen tauschen*/    
    tausche(a_pt, b_pt);

    /*Testausgabe*/
    printf("a ist %.3f und b ist %.3f\n", a, b);
    
    /*Auf Enter warten*/
    fflush(stdin);
    getchar();
    return 0;
}

/* tausche - Funktion */
void tausche(float *zahla, float *zahlb)
{
    float temp = 0;
    
    temp=*zahla;
    *zahla=*zahlb;
    *zahlb=temp;    
}
