#include char ucty[10000][11]; float stav[10000]; int index[10000], pu; float total,j; char cu[11],cu2[11],command[64]; int i,k; int hashni(char *cu) { unsigned int i,j; j = 1; for (i=0;i<10;i++) { j *= *(cu+i)+1; j += *(cu+i); } /* printf("Hashol som %s na %d.\n",cu,j % 10000); */ return j % 10000; } int find(char *cu) { int i,j; i = hashni(cu); for (j=i;j<10000;j++) { if (ucty[j][0] == 0) return -j-1; else if (strcmp(cu,ucty[j]) == 0) return j; } for (j=1;j= j) { stav[i] -= j; total -= j; printf("Vybrano %.2f z uctu %s.\n",j,cu); } else { printf("Nedostatek penez.\n"); } } break; case 'P': sscanf(command+7,"%s %s %f",cu,cu2,&j); i = find(cu); if (i < 0) { printf("Ucet %s neexistuje.\n",cu); } else { if (stav[i] >= j) { k = find(cu2); if (k < 0) { printf("Ucet %s neexistuje.\n",cu2); } else { stav[i] -= j; stav[k] += j; printf("Prevedeno %.2f z uctu %s na ucet %s.\n",j,cu,cu2); } } else { printf("Nedostatek penez.\n"); } } break; case 'S': printf("Pocet uctu: %d\n",pu); printf("Celkem: %10.2f\n",total); break; case 'L': printf("Pocet uctu: %d\n",pu); for (i=0;i