#include <string.h>
#include <stdio.h>
#define CHANGE 13.7603

void atseur(void);      
int checkinput(char *input);
void eur_in_ats(void);
int checkchoice(char *sChoice);

char sChoice[100];
char sAts[100], sEuro[100];
float fAts, fEuro;

int main(void)         
{                                                       
    atseur();
}

void atseur(void)
{
    do 
    {
do
{
      printf("EURO-ATS (1) ATS-EURO (2) Beenden (3): ");
    scanf("%s",sChoice);
} while(checkchoice(sChoice));

if (sChoice[0]=='1')
        {
    eur_in_ats();
}
        else if (sChoice[0]=='2')
        { 
    // Funktion ats_in_eur() aufrufen 
        }
    } while (sChoice[0]!='3');
}

void eur_in_ats(void)
{
    memset(sAts,0x00,100);
    memset(sEuro,0x00,100);
    do
    {
       printf ("Bitte den Betrag in EURO eingeben: ");
       scanf ("%s", sEuro);
    }while(checkinput(sEuro));
    printf ("Betrag in EUR: %s\n", sEuro);
    sscanf(sEuro,"%f",&fEuro);
    fAts=fEuro*CHANGE;
    printf ("Betrag in ATS: %f\n", fAts);
}

int checkinput(char *sEingabe)
{
int i;
for (i=0;i<=strlen(sEingabe)-1;i++)
{
switch (sEingabe[i])
{
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
case '.':
continue;
break;
default:
                printf("Bitte geben Sie nur Zahlen ein !\n");
return 1; /* true */
   }
   }

   return 0; /* false */ 
}

int checkchoice(char *sChoice)
{
if (strlen(sChoice) != 1)
{
printf("Bitte geben Sie nur 1,2 oder 3 ein !\n");
return 1; /* true */
}

switch (sChoice[0])
{
case '1':
case '2':
case '3':
break;  
default:
printf("Bitte geben Sie nur 1,2 oder 3 ein !\n");
return 1; /* true */
}

   return 0; /* false */ 
}


/* Uebungsergaenzung
1.) Vorwaertsdeklaration der Funktion ats_in_eur() erzeugen.
2.) Definition der Funktion ats_in_eur().
3.) Aufruf der Funktion ats_in_eur().
4.) Programm so umbauen, dass der Benutzer Kommazahlen nur mit Beistrich eingeben kann. 
5.) Programm so umbauen, dass der Benutzer Kommazahlen mit Beistrich angezeigt bekommt. 
    Tipps:
    - um eine Kommazahl in einen String umzuwandeln verwende die Systemfunktion sprintf()
    - um in einem String ein Zeichen durch ein anderes Zeichen zu ersetzen verwende 
      folgende selbst zu definierende Funktion:
      void my_chr_replace(char *string,char old,char new); // Vorwaertdeklaration 
      In dieser Funktion analysiere den String mit einer Schleife. Wenn das "old"-Zeichen 
      vorhanden ist ersetze es durch das "new"-zeichen.
6.) Programm so umbauen, dass bei mehreren eingegebenen Beistrichen eine Fehlermeldung erscheint
    und der Benutzer die Eingabe wiederholen muss.
*/