/*
 * Soubor:  20110415-Fri-smenarna.c
 * Datum:   15.04.2011 08:16
 * Autor:   Marek Nožka, nozka <@t> spseol <d.t> cz
 * Licence: GNU/GPL 
 * Úloha: 
 * Popis:   
 ****************************************************/
#define _ISOC99_SOURCE
#define _GNU_SOURCE
#include <stdio.h>
#include <string.h>
#include <stdbool.h>

/* ***************    Makra    ******************** */
#define DELKA 92

/* ***************   Funkce    ******************** */

typedef struct {
    char mena[4];
    float nakup;
    float prodej;
    float nasobek;
} Mena;

Mena listek[40];
int pListek = 0;

void pocitej(char mena[], char akce[], float castka)
{
    /* hledám měnu */
    int index;
    for (index=0; index< pListek; index++) {
        if ( strcmp(listek[index].mena, mena) == 0) {
            break;  // opustí cyklus
        }
    }
    
    /* počítám částku */
    if ( akce[0] == 'p') {
        printf("   %f,- Kč\n", castka * listek[index].prodej);
    } else {
        printf("   %f,- Kč\n", castka * listek[index].nakup);
    }
}

/****************************************************
 *               Hlavní program.
 ****************************************************/
int main(int argc, char *argv[])
{
/*    struct {          */
/*        char mena[4]; */
/*        float nakup;  */
/*        float prodej; */
/*        float nasobek;*/
/*    } listek[40];     */
/*                                      */
/*    listek[0].nakup = 29.80;           */
/*    printf("  %.0f\n",listek[0].nakup);*/
/*    strcpy(listek[0].mena,"USD");      */
/*    printf("  %s\n",listek[0].mena);   */


    char radek[DELKA];

    FILE *soubor;
    if ( ( soubor = fopen("kurzovni-listek.txt", "r") ) == NULL  ) {
        perror("Nastala chyba");
        return 1;
    }

    while ( fgets(radek, DELKA, soubor) != NULL ) {
        if ( sscanf(radek,"%s%f%f%f",
                listek[pListek].mena,
                &listek[pListek].nasobek,
                &listek[pListek].nakup,
                &listek[pListek].prodej) == 4 ) 
          {
            pListek++;
          }
    }
    fclose(soubor);

    for (int i=0; i<pListek; i++) {
         printf("%s %4.0f %8.3f %8.3f\n",
                listek[i].mena,
                listek[i].nasobek,
                listek[i].nakup,
                listek[i].prodej);
    }

    char mena[4];
    char akce[4];
    float castka;
    while ( fgets(radek, DELKA, stdin) != NULL ) {
        if ( sscanf(radek,"%s%s%f",mena,akce, &castka) == 3) {
            pocitej(mena,akce,castka);
        } else {
            puts(">>> Neplatný vstup");
        }
    }
    return 0;
}

