Премини към съдържанието

lullabies

Потребител
  • Публикации

    3
  • Регистрация

  • Последно онлайн

Харесвания

0 Неутрална репутация

Всичко за lullabies

  • Титла
    Новобранец
  1. #include <iostream> #include <fstream> #include <string> #include <stdlib.h> #include <stdio.h> using namespace std; const int N = 50; const char Name[] = "vlojiteli.dat"; fstream fp; int v; //broi vlojiteli struct vlojiteli { char imena [30]; double Vlog_BLV; double Vlog_USD; double Vlog_EURO; }; void suzdavane(vlojiteli st[]); void izvejdane(vlojiteli st[]); void search(vlojiteli st[]); void spravka(vlojiteli st[]); int main() { struct vlojiteli st[N]; int izbor; do { do { cout << endl << "************MENU**************" << endl; cout << "1. Suzdavane na fail za grupa ot vlojiteli." << endl; cout << "2. Izvejdane na dannite za vlojiteli." << endl; cout << "3. Spravka za vlojitelite po imena." << endl; cout << "4. Spravka za vlojitelite s obshta suma nad zadadenata spored valutniq kurs." << endl; cout << "5. Exit" << endl; cout << "Izbor: "; cin >> izbor; } while (izbor < 1 || izbor> 5); switch (izbor) { case 1:suzdavane(st); break; case 2:izvejdane(st); break; case 3:search(st); break; default: cout << endl << "*********Krai**********" << endl; } } while (izbor != 5); return 0; } void suzdavane(vlojiteli st[]) { int i; while (true) { cout << "Broi vlojiteli (max broi e 50): "; cin >> v; if ((v > N) || (v < 1)) cout << endl << "Vavedete chislo ot 1 do 50!" << endl; else break; } fp.open(Name, ios::binary | ios::out); if (!fp) { cout << endl << "Ne moje da se raboti s faila!"; exit(1); } for (i = 0; i < v; i++) { fflush(stdin); cout << "\n Ime na vlojitel: "; cin >> st[i].imena; cout << "\n Vlog v BLV: "; cin >> st[i].Vlog_BLV; cout << "\n Vlog v USD: "; cin >> st[i].Vlog_USD; cout << "\ Vlog v EURO: "; cin >> st[i].Vlog_EURO; } fp.write((char*)st, v * sizeof(vlojiteli)); fp.close(); } void izvejdane(vlojiteli st[]) { long pos; int i; vlojiteli s; cout << "\n Izvejdane na vuvedenite vlojiteli\n"; fp.open(Name, ios::binary | ios::in); if (!fp) { cout << endl << "Ne moje da se raboti s faila!"; exit(1); } fp.seekg(0L, ios::end); pos = fp.tellg(); fp.close(); fp.open(Name, ios::binary | ios::in); if (!fp) { cout << endl << "Error"; exit(1); } for (i = 0; i < pos / (sizeof(vlojiteli)); i++) { fp.read((char*)&s, sizeof(vlojiteli)); st[i] = s; cout << "\n Ime na vlojitel: "; cin >> st[i].imena; cout << "\n Vlog v BLV: "; cin >> st[i].Vlog_BLV; cout << "\n Vlog v USD: "; cin >> st[i].Vlog_USD; cout << "\n Vlog v EURO: "; cin >> st[i].Vlog_EURO; } fp.close(); } void search(vlojiteli st[]) { char imena[30]; long pos; int i; int k = 0; vlojiteli s; cout << "\n Spravka po ime na vlojitelq:"; cin >> imena; fp.open(Name, ios::binary | ios::in); if (!fp) { cout << endl << "Ne moje da se raboti s faila!"; exit(1); } fp.seekg(0L, ios::end); //premestva ukazatelq na faila v kraq na poziciqta pos = fp.tellg(); // opredelq duljinata na faila v baitove fp.close(); fp.open(Name, ios::binary | ios::in); if (!fp) { cout << endl << "Ne moje da se raboti s faila!"; exit(1); } for (i = 0; i < pos / (sizeof(vlojiteli)); i++) { fp.read((char*)&s, sizeof(vlojiteli)); st[i] = s; if (strcmp(st[i].imena, imena) == 0) { cout << "\n Ime na vlojitel: "; cin >> st[i].imena; cout << "\n Vlog v BLV "; cin >> st[i].Vlog_BLV; cout << "\n Vlog v USD"; cin >> st[i].Vlog_USD; cout << "\ Vlog v EURO"; cin >> st[i].Vlog_EURO; k++; } } if (k == 0) { cout << "\n Ne e nameren vlojitel. \n"; exit(1); } fp.close(); void spravka(vlojiteli st[]); { int num = 0; if (num) { vlojiteli temp; for (int i = 0; i < num; i++) { for (int j = 0; j < num - i - 1; j++) { if (st[j].Vlog_USD > st[j + 1].Vlog_BLV) { temp = st[j]; st[j] = st[j + 1]; st[j + 1] = temp; } } } cout << "\n Spisuk na vlojiteli vuv vuzhodqsht red sprqmo vloga im: " << endl << endl; for (int i = 0; i < num; i++) { cout << " Ime: " << st[i].imena << endl; cout << " Vlog v BLV " << st[i].Vlog_BLV << endl; } } else cout << "\n Nqma vuvedeni studenti!" << endl; } } Имам нещо направено, но не работи както трябва.
  2. Съставете програма с меню за избор на функция за: a) Въвеждане от клавиатурата в масив и файл /чрез допълване/ данните за К вложители в банка /К<=50/: име BLV USD EURO. Извеждане текущото съдържание на масива /файла/ на екран b) Извеждане на справки за - Вложител по въведено име /със запитване на нова справка – диалогова процедура/ - Всичко вложители с обща сума на влогове /в лева/ над зададена и според текущите курсове на валутата c) Пренареждане на данните за вложители във възходящ ред според влоговете в USB /или EURO или BLV – по избор/ и извеждането им на екрана Главната функция main – с меню за избор на функция задължително да се използва. Използване на главни променливи или функции с предаване на параметри – по избор.
  • Разглеждащи това в момента   0 потребители

    Няма регистрирани потребители разглеждащи тази страница.

×
×
  • Добави ново...

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.