#include #define MAX_UCTU 10001 typedef struct { char jmeno[11]; float penize; } st_ucet; st_ucet ucty[MAX_UCTU]; int uctu; int hledej_ucet(char *s) { int i; for (i = 0; i < uctu; i++) if (strcmp(ucty[i].jmeno, s) == 0) break; if (i < uctu) return i; return -1; } void zaloz() { char s[11]; int i; scanf("%s", s); if (hledej_ucet(s) != -1) { printf("Ucet %s uz existuje.\n\n", s); return; } i = uctu++; ucty[i].penize = 0; strcpy(ucty[i].jmeno, s); printf("Ucet %s vytvoren.\n\n", s); } void reset(int write) { uctu = 0; if (write != 0) printf("Reset systemu.\n\n"); } void uloz() { char s[11]; float castka; int i; scanf("%s %f", s, &castka); if ((i = hledej_ucet(s)) == -1) { printf("Ucet %s neexistuje.\n\n", s); return; } ucty[i].penize += castka; printf("Ulozeno %.2f na ucet %s.\n\n", castka, s); } void vyber() { char s[11]; float castka; int i; scanf("%s %f", s, &castka); if ((i = hledej_ucet(s)) == -1) { printf("Ucet %s neexistuje.\n\n", s); return; } if (ucty[i].penize >= castka) { ucty[i].penize -= castka; printf("Vybrano %.2f z uctu %s.\n\n", castka, s); } else printf("Nedostatek penez.\n\n"); } void statistika() { int i; double m = 0; printf("Pocet uctu : %d\n", uctu); for (i = 0; i < uctu; i++) m += ucty[i].penize; printf("Celkem: %7.2f\n\n", m); } void list() { int i; double m = 0; printf("Pocet uctu : %d\n", uctu); for (i = 0; i < uctu; i++) { m += ucty[i].penize; printf("%s %7.2f\n", ucty[i].jmeno, ucty[i].penize); } printf("Celkem: %7.2f\n\n", m); } void preved() { char zs[20]; char nas[20]; float castka; int z, na; scanf("%s", zs); z = hledej_ucet(zs); scanf("%s", nas); na = hledej_ucet(nas); scanf("%f", &castka); if (z == -1) { printf("Ucet %s neexistuje.\n\n", zs); return; } if (na == -1) { printf("Ucet %s neexistuje.\n\n", nas); return; } if (ucty[z].penize < castka) { printf("Nedostatek penez.\n\n"); return; } ucty[z].penize -= castka; ucty[na].penize += castka; printf("Prevedeno %.2f z uctu %s na ucet %s.\n\n", castka, zs, nas); } int radek() { char s[20]; scanf("%s", s); if (strcmp(s, "RESET") == 0) { reset(1); return 1; } if (strcmp(s, "ZALOZ") == 0) { zaloz(); return 1; } if (strcmp(s, "ULOZ") == 0) { uloz(); return 1; } if (strcmp(s, "VYBER") == 0) { vyber(); return 1; } if (strcmp(s, "STATISTIKA") == 0) {statistika(); return 1; } if (strcmp(s, "LIST") == 0) { list(); return 1;} if (strcmp(s, "PREVED") == 0) { preved(); return 1; } return 0; } int main() { reset(0); while (radek()) scanf("\n"); return 0; }