#include #include struct UCET { char jmeno[10]; float castka; }; UCET ucty[10001]; float celkPenez = 0.f; int celkUctu = 0; UCET* najdi(char* jmeno) { //UCET* temp = hlava; int i = 0; for (i = 0; i < celkUctu; i++) { if (!strcmp(jmeno, ucty[i].jmeno)) { return &ucty[i]; } } return NULL; } void zaloz(char* jmeno) { if (najdi(jmeno)) { printf("Ucet %s uz existuje.\n\n", jmeno); return; } //UCET* temp = new UCET; strcpy(ucty[celkUctu].jmeno, jmeno); ucty[celkUctu].castka = 0.f; //temp->dalsi = NULL; //temp->pred = zadek; // if (zadek) zadek->dalsi = temp; // if (!hlava) hlava = temp; // else if (temp->pred == hlava) hlava->dalsi = temp; // zadek = temp; printf("Ucet %s vytvoren.\n\n", jmeno); celkUctu++; } void uloz(char* jmeno, float castka) { UCET *temp = najdi(jmeno); if (!temp) { printf("Ucet %s neexistuje.\n\n", jmeno); return; } temp->castka += castka; printf("Ulozeno %.2f na ucet %s.\n\n", castka, jmeno); celkPenez += castka; } void vyber(char *jmeno, float castka) { UCET *temp = najdi(jmeno); if (!temp) { printf("Ucet %s neexistuje.\n\n", jmeno); return; } if (temp->castka >= castka) { temp->castka -= castka; printf("Vybrano %.2f z uctu %s.\n\n", castka, jmeno); } else { printf("Nedostatek penez.\n\n"); return; } celkPenez -= castka; } void preved(char *jmeno1, char *jmeno2, float castka) { UCET *ucet1 = najdi(jmeno1); if (!ucet1) { printf("Ucet %s neexistuje.\n\n", jmeno1); return; } if (ucet1->castka < castka) { printf("Nedostatek penez.\n\n"); return; } UCET *ucet2 = najdi(jmeno2); if (!ucet2) { printf("Ucet %s neexistuje.\n\n", jmeno2); return; } ucet2->castka += castka; ucet1->castka -= castka; printf("Prevedeno %.2f z uctu %s na ucet %s.\n\n", castka, jmeno1, jmeno2); } void statistika(bool list) { printf("Pocet uctu: %d\n", celkUctu); if (list == true) { // UCET* temp = hlava; // while (temp) { // printf("%s %7.2f\n", temp->jmeno, temp->castka); // temp = temp->dalsi; // } for (int i = 0; i < celkUctu; i++) printf("%s %10.2f\n", ucty[i].jmeno, ucty[i].castka); } printf("Celkem: %10.2f\n\n", celkPenez); } void reset() { /* UCET* temp = hlava, *temp2; while (temp) { temp2 = temp; temp = temp->dalsi; delete temp2; } printf("Reset systemu.\n\n"); hlava = zadek = NULL; */ celkUctu = 0; celkPenez = 0.f; } int main() { // hlava = zadek = NULL; int quit = 1; char prikaz[10]; char jmeno1[10], jmeno2[10]; float castka; while (quit > 0) { quit = scanf("%s", prikaz); if (!strcmp(prikaz, "ZALOZ")) { scanf("%s", jmeno1); zaloz(jmeno1); } else if (!strcmp(prikaz, "ULOZ")) { scanf("%s %f", jmeno1, &castka); uloz(jmeno1, castka); } else if (!strcmp(prikaz, "VYBER")) { scanf("%s %f", jmeno1, &castka); vyber(jmeno1, castka); } else if (!strcmp(prikaz, "PREVED")) { scanf("%s %s %f", jmeno1, jmeno2, &castka); preved(jmeno1, jmeno2, castka); } else if (!strcmp(prikaz, "STATISTIKA")) { statistika(false); } else if (!strcmp(prikaz, "LIST")) { statistika(true); } else if (!strcmp(prikaz, "RESET")) { reset(); } // printf("\"%s\"\n", prikaz); prikaz[0] = 0; // quit = (!strcmp(prikaz,"")); // printf("QUIT = [%d]!!! \n", quit); } printf("Konec.\n"); return 0; }