#include #include #include typedef struct { long long cislo; double castka; } TUcet; TUcet ucet[10010]; int pocet = 0; void prevod(long long u1, long long u2, double c) { int i; int ua = -1, ub = -1; for (i = 0; i < pocet; i++) { if (ucet[i].cislo == u1) ua = i; if (ucet[i].cislo == u2) ub = i; } if (ua >= 0) { if (ucet[ua].castka >= c) { if (ub >= 0) { ucet[ua].castka -= c; ucet[ub].castka += c; printf("Prevedeno %.2f z uctu %010lld na ucet %010lld.\n", c, u1, u2); } else printf("Ucet %010lld neexistuje.\n", u2); } else { printf("Nedostatek penez.\n"); if (ub < 0) printf("Ucet %010lld neexistuje.\n", u2); } } else { printf("Ucet %010lld neexistuje.\n", u1); if (ub < 0) printf("Ucet %010lld neexistuje.\n", u2); } } void status(int verb) { int i; double c = 0; printf("Pocet uctu: %d\n", pocet); for (i = 0; i < pocet; i++) { if (verb) { printf("%010lld %10.2f\n", ucet[i].cislo, ucet[i].castka); } c += ucet[i].castka; } printf("Celkem: %10.2f\n", c); } int hledej(long long u) { int i; for (i = 0; i < pocet; i++) if (ucet[i].cislo == u) return(i); return(-1); } int main(void) { char prikaz[12]; long long u, i; double c; do { if (scanf("%s", prikaz) == EOF) { printf("Konec.\n"); return(0); } switch (prikaz[0]) { case 'Z' : scanf("%Ld", &u); if (hledej(u) >= 0) printf("Ucet %010lld uz existuje.\n", u); else { ucet[pocet].cislo = u; ucet[pocet].castka = 0; pocet++; printf("Ucet %010lld vytvoren.\n", u); } break; case 'U' : scanf("%Ld %lf", &u, &c); if (c < 0) return(1); i = hledej(u); if (i >= 0) { ucet[i].castka += c; printf("Ulozeno %.2f na ucet %010lld.\n", c, u); } else printf("Ucet %010lld neexistuje.\n", u); break; case 'V' : scanf("%Ld %lf", &u, &c); if (c < 0) return(1); i = hledej(u); if (i >= 0) { if (ucet[i].castka >= c) { ucet[i].castka -= c; printf("Vybrano %.2f z uctu %010lld.\n", c, u); } else printf("Nedostatek penez.\n"); } else printf("Ucet %010lld neexistuje.\n", u); break; case 'P' : scanf("%Ld %Ld %lf", &u, &i, &c); if (c < 0) return(1); prevod(u, i, c); break; case 'S' : status(0); break; case 'L' : status(1); break; case 'R' : pocet = 0; printf("Reset systemu.\n"); break; } printf("\n"); } while (1); }