Hirdetés

Új hozzászólás Aktív témák

  • sghc_toma
    senior tag

    Hali!

    Gyorsan megcsináltam(több megoldás is létezik persze), mielött ellépek itthonról. Ha valami nem tiszta írj. Késő este vagy holnap leszek majd.
    (mivel ez csak példa, nem foglalkoztam azzal hogy kitudja mekkora számot lehessen beírni, ezért 2 gigánál nagyobbat ne írj be, mert hibásan fog működni. Bár kipróbálhatod :DDD )

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>

    #define C_Y 14

    int cimlet[C_Y] = {20000,10000,5000,2000,1000,500,200,100,50,20,10,5,2,1};
    int hanyszor[C_Y] = {0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0,0,0};

    int main()
    {
    long int i, cash;
    char money[255];

    printf("Enter money: ");

    if (!strlen(gets(money))) {
    printf("\n\nMoney not found...EXIT");
    return -1;
    }
    printf("\n\n");
    for (i=0;i<strlen(money);i++)
    if(money[i]<'0' || money[i]>'9') {
    printf("Is NAN [Not A Number]...\nEXIT");
    return -1;
    }

    cash=atoi(money);

    for (i=0;i<C_Y;i++) {
    hanyszor[i]=cash / cimlet[i];
    cash-=hanyszor[i]*cimlet[i];
    if (hanyszor[i]) printf("%5d db\t %d\n",hanyszor[i],cimlet[i]);
    }

    return 0;
    }

    Fire.

    egy tanács: a gets függvényt érdemes elásni.. jó mélyre.. olyan gyönyörű buffer overflow-t lehet vele gyártni, hogy ihaj.. ott van helyette pl. az fgets: harmadik paraméter stdin, és ugyanazt csinálja, mint a gets, csak kultúráltabban..

Új hozzászólás Aktív témák