Регистрация не е нужна, освен при създаване на тема в "Задача на седмицата".

моля помогнете

моля помогнете

Мнениеот Гост » 18 Дек 2017, 17:56

Съставете програма за картотекиране на футболисти с функции за:
а) Създаване на файл (чрез добавяне на определен брой записи и презаписване на данните от файла в масив) с данни за футболисти, участници в световно първенство, с полета: име, фамилия, отбор-държава, номер на футболиста, отбелязани голове. Вход от клавиатура, с проверка за коректност на данните по: номер, отбелязани голове. Извеждане текущото съдържание на масива (файла) на екран.
б) Извеждане на справки за:
- всички футболисти по зададен от клавиатурата състезателен номер;
- футболистите от зададен отбор (със запитване за продължение);
в) Актуализация на данните във файла чрез промяна на полето - отбелязани голове за футболист по зададени отбор и фамилия.
Главна функция main() - с меню за избор на функции и проверка за състоянието на данните. Използване на глобални променливи или функции с предаване на параметри - по избор.

Имам следният код: #include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
using namespace std;
const int N = 5;
struct player
{
string ime;
string familia;
string otbor;
int nomer;
int vk_golove;


}igrachi[N], podredba;
void add_player(player a[]);
void search_by_number(player a[], int &nomer_na_igracha);
void search_by_team(player a[],string &ime_na_otbora);
void klasirane(player a[]);
void aktualizcia(player a[],int &nomer_na_igracha, string &ime_na_otbora);
fstream igrachi_file;

void add_player(player a[])
{
int br;
igrachi_file.open("igrachi.txt", ios::app);
do {
cout << "\n Broi igrachi:";
cin >> br;
} while (br <= 0 || br > N);
if (igrachi_file.fail())
{
cout << "Error. The file is missing.";
exit(1);
}
for (int i = 0; i < br; i++)
{
cout << "Vuvedi ime na igrach:";
cin >> a[i].ime;
igrachi_file << a[i].ime << endl;
cout << "Vuvedi familia na igrach:";
cin >> a[i].familia;
igrachi_file << a[i].familia << endl;
cout << "Vuvedi otbor na igracha:";
cin >> a[i].otbor;
igrachi_file << a[i].otbor << endl;
cout << "Vuvedi nomer na igracha:";
cin >> a[i].nomer;
if (a[i].nomer > 99 || a[i].nomer < 1)
{
do{
cout << "Vuvedete nomer ot 1 do 99. \n";
cin >> a[i].nomer;
} while (a[i].nomer > 99 || a[i].nomer < 1);
}
igrachi_file << a[i].nomer << endl;
cout<<"Vuvedi vkarani golove na igracha:";
cin>>a[i].vk_golove;
if (a[i].vk_golove < 0)
{
do{
cout << "Vuvedete golove >= 0 \n";
cin >> a[i].vk_golove;
} while (a[i].vk_golove <0 );
}
igrachi_file<<a[i].vk_golove<<endl;

}
igrachi_file.close();
}
void search_by_number(player a[],int &nomer_na_igracha)
{
int flag = 0;
igrachi_file.open("igrachi.txt", ios::in);
igrachi_file.seekg(0);
if (igrachi_file.fail())
{
cout << "Fail to open the file";
exit(1);
}
for (int i = 0; i < N; i++)
{
igrachi_file >> a[i].ime;
igrachi_file >> a[i].familia;
igrachi_file >> a[i].otbor;
igrachi_file >> a[i].nomer;
igrachi_file >> a[i].vk_golove;

if (nomer_na_igracha == a[i].nomer)
{
cout << "Igrach: " << a[i].ime <<" "<<a[i].familia
<< "\nOtbor: "<< a[i].otbor << "\nNomer: " << a[i].nomer << "\nVkarani golove: " << a[i].vk_golove <<endl;
flag++;
}
}
if (!flag)
cout << endl << "Nqma takuv igrach!" << endl;
igrachi_file.close();
}
void search_by_team(player a[],string &ime_na_otbora)
{
int flag = 0;
igrachi_file.open("igrachi.txt", ios::in);
igrachi_file.seekg(0);
if (igrachi_file.fail())
{
cout << "Fail to open the file";
exit(1);
}
for (int i = 0; i < N; i++)
{
igrachi_file >> a[i].ime;
igrachi_file >> a[i].familia;
igrachi_file >> a[i].otbor;
igrachi_file >> a[i].nomer;
igrachi_file >> a[i].vk_golove;

if (ime_na_otbora == a[i].otbor)
{
cout << "Igrach: " << a[i].ime <<" "<<a[i].familia
<< "\nOtbor: "<< a[i].otbor << "\nNomer: " << a[i].nomer << "\nVkarani golove: " << a[i].vk_golove <<endl<<endl;
flag++;
}
}
if (!flag)
cout << endl << "Nqma takuv otbor!" << endl;
igrachi_file.close();
}
void klasirane(player a[])
{
igrachi_file.open("igrachi.txt", ios::in);
igrachi_file.seekg(0);
for (int i = 0; i < N; i++)
{ igrachi_file >> a[i].ime;
igrachi_file >> a[i].familia;
igrachi_file >> a[i].otbor;
igrachi_file >> a[i].nomer;
igrachi_file >> a[i].vk_golove;

}
cout <<"ime" << setw(15) <<"familia" << setw(15) << "otbor" << setw(15) << "nomer"<< setw(15) << "vkarani golove"<< endl;
for (int i = 0; i<N; i++)
{

cout <<a[i].ime << right << setw(15) << a[i].familia << right << setw(15) << a[i].otbor << right << setw(15) << a[i].nomer<< right << setw(15) << a[i].vk_golove<< endl;
}
igrachi_file.close();
}

void main()
{

int choice; int nomer_na_igracha;
string ime_na_otbora, familia_na_igracha;

player a[N];
do
{
cout << "================================================================================" << endl;
cout << "\t\tMenu\n\n";
cout << "= Izberete:\n";
cout << "= 1.Dobavqne na igrachi\n";
cout << "= 2.Spisuk s igrachite\n";
cout << "= 3.Spravka za igrach po nomer\n";
cout << "= 4.Spravka za igrach po otbor\n";
cout << "= 5.Aktualizirane\n";
cout << "= 6.Krai\n";
cout << "\n================================================================================" << endl;
cin >> choice;
switch (choice)
{
case 1: {add_player(a);
break; }
case 2: {klasirane(a); break; }
case 3:{cout << "Tursene po nomer: ";
cin >> nomer_na_igracha;
search_by_number(a, nomer_na_igracha); break; }
case 4: {cout << "Tursene po otbor: ";
cin >> ime_na_otbora;
search_by_team(a, ime_na_otbora); break; }
case 5: ;
}


} while (choice != 6);
}

Трябва ми частта с актуализирането..моля някой да помогне спешно.. Много ще съм му благодарен :)
Гост
 

Назад към C, C++



Кой е на линия

Регистрирани потребители: Google [Bot]

Форум за математика(архив)
cron