Платежная ведомость предприятияРефераты >> Программирование и компьютеры >> Платежная ведомость предприятия
{ cout << "Tacaia familia nenaidena\n";
remove("vsp"); }
}
else
{
cout << "NEVOZMOGNO OTKRIT FAIL!\n"
<< "NAVERNO NEPRAVILNO VVELI IM'YA FAILA!\n";
break; }
cout << "PRODOLGIT UDALENIE?(Y/N) ";
cin >> otv;
} while ((otv!='N')&&(otv!='n'));
}
///////////////////////////////////////////////////////////////////////////
- заголовочный модуль s1.h :
// s1.h
struct predpry
{
char nazva[15];
float valprod;
int kolrab;
float proizv;
predpry* next;
};
predpry buf;
predpry* nach;
predpry* tek;
void sozd(predpry* );
void prints(predpry* );
void vstavka(predpry* );
void udalen(predpry*);
void korekt(predpry*);
void soxran (predpry*);
void ochistka(predpry*);
void vossosdanie(predpry* );
void pause();
///////////////////////////////////////////////////////////////////////////////
void spisok()
{
nach=new predpry;
nach->next=0;
strcpy(nach->nazva,"fik");
nach->valprod =0;
nach->kolrab =0;
do
{
clrscr();
cout << "VID RABOT S ODNOSV'AZNIM SPISKOM:\n";
cout << "1) SOZDANIE SPISKA\n";
cout << "2) DOPOLNENIE SPISKA\n";
cout << "3) KORREKTIROVKA ZAPISEY\n";
cout << "4) UDALENIE ZAPISEY\n";
cout << "5) PECHAT' SPISKA\n";
cout << "6) SOHRANENIE SPISKA\n";
cout << "7) OCHISTKA SPISKA\n";
cout << "8) VOSSOZDANIE SPISKA\n";
cout << "9) VOZVRAT V OSNOVNOE MENU\n";
cout << "VASH VIBOR: ";
cin >> vibor;
clrscr();
switch (vibor)
{
case '1':
clrscr();
sozd(nach);
pause();
break;
case '2':
clrscr();
vstavka(nach);
pause();
break;
case '3':
clrscr();
korekt(nach);
pause();
break;
case '4':
clrscr();
udalen(nach);
pause();
break;
case '5':
clrscr();
prints(nach);
pause();
break;
case '6':
clrscr();
soxran(nach);
pause();
break;
case '7':
clrscr();
ochistka(nach);
pause();
break;
case '8':
clrscr();
vossosdanie(nach);
pause();
break;
}
} while (vibor!='9');
}
////////////////////////////////////////////////////////////////////
void sozd(predpry* nach)
{
clrscr();
do
{
//clrscr();
vstavka(nach);
cout<<"\nPRODOLGIT' VVOD ?(Y/N) ";
cin>>otv;
} while ((otv!='N')&&(otv!='n'));
}
//////////////////////////////////////////////////////////////////////////////
void vstavka(predpry* nach)
{
predpry* nov; predpry* tek1;
int b;
tek=nach->next;
tek1=nach;
b=1;
nov=new predpry;
cout<<"\nVVEDITE NOVIE DANNYE PO Familiam?\n";
cout << "\nFamilia (NE BOLEE 15 SIMVOLOV)- ";
cin >> nov->nazva;
while ((tek!=0) && b)
{
if ( !strcmp(tek->nazva,nov->nazva))
{
cout<< "Tacaia familia uje sozdano\n";
b=0;
return;
}
else
{
tek1=tek;
tek=tek->next;
}
}
cout << "Razmer zarabotnoy plati - ";
cin >> nov->valprod;
cout << "Uderjano - ";
cin >> nov->kolrab;
nov->proizv=nov->valprod/nov->kolrab;
cout << "Vidano: ";
cout << nov->proizv;
nov->next=tek1->next;
tek1->next=nov;
}
////////////////////////////////////////////////////////////////////////////
void korekt(predpry* nach)
{
clrscr();
char k[15];
int b=1;
cout<<"\nVvedite corectiruemuy familiu ";
cin>>k;
tek=nach->next;
while ((tek!=0) && b )
{
if(!strcmp(tek->nazva,k))
b=0;
else
tek=tek->next;
}
if (b==0)
{
if (!strcmp(tek->nazva,k) )
{
cout<<"\nVVEDITE NOVIE DANNYE PO FAMILIAM?)\n";
cout << "Familia (NE BOLEE 15 SIMVOLOV) - ";
cin >> tek->nazva;
cout << "\nRazmer zarobotnoy plati - ";
cout << tek->valprod;
cout << "\nIZMENIT' (Y/N) ";
cin >> otv;
if ((otv!='N')&&(otv!='n'))
{
cout << "\nNOVIY razmer zarabotnoy plati - ";
cin >> tek->valprod;
}
cout << "\nUderjano - ";
cout << tek->kolrab;
cout << "\nIZMENIT' (Y/N) ";
cin >> otv;
if ((otv!='N')&&(otv!='n'))
{
cout << "\nNOVIY razmer zarabotnoy plati - ";
cin >> tek->kolrab;
}
tek->proizv=tek->valprod/tek->kolrab;
cout << "\nVsego vidano: ";
cout << tek->proizv;
cout << "\n";
}
}
else
{
cout<<"Familia " << k << " NE NAIDENO!\n";
return;
}
}
//////////////////////////////////////////////////////////////////////////////////
void udalen(predpry* nach)
{
predpry* tek1;
clrscr();
int b=1;
char isk[15];
cout<<"\nVVEDITE NAZVANIE ISKLUCHAEMOGY Familii\n";
cin>>isk;
tek=nach->next;
tek1=nach;
if(tek==0)
{
cout << "\nSPISOK PUST, UDALAT' NECHEGO!";
return;
}
while ((tek!=0) && b )
{
if(!strcmp(tek->nazva,isk))
{
tek1=tek;
b=0;
}
else tek=tek->next;
}
if (b==0)
{if (!strcmp(tek->nazva,isk) )
{
tek1->next=tek->next;
delete tek;
}
}
else
cout<<"\nFamilia NE NAIDENA!\n";
return;
}
///////////////////////////////////////////////////////////////////////////////////
void prints(predpry* nach)
{
float svalprod=0;
int skolrab=0;
float sproizv=0;
int i=1;
tek=nach->next;
if (tek==0)
{
cout << "\nSPISOK PUST!\n";
return;
}
cout<<"-----------------------------------------------------------------------\n";
cout<<"| N | Familia | Zarplata | Uderjano | Vidano |\n";
cout<<"|p/p| | | | |\n";
cout<<"-----------------------------------------------------------------------\n";
while (tek!=0)
{
cout<<"|";
cout<<setw(3)<<(i++)<<"|";