Код: Выделить всё
struct firma{
char FIO[30];
int otdel;
float zarplata;
} ;
int i,j,k,g;
float s,average,otnowenie,min;
struct firma workers[n];
firma buffer;
void read();
void delet();
void m(){
g=1;
if(g==1){
for(i=0; i<n; i++)
{
printf("[%i] Enter FIO: ",i+1);fflush(stdin);
scanf("%s",&workers[i].FIO);
printf("ENter otdel: ");fflush(stdin);
scanf("%i",&workers[i].otdel);
printf(" Enter zarplata: ");fflush(stdin);
scanf("%f",&workers[i].zarplata);
}
for(i=0; i<n; i++)
for(i=0; i<n-1; i++)
for(j=i;j<n;j++)
if(workers[i].zarplata>workers[j].zarplata)
{
buffer=workers[i];
workers[i]=workers[j];
workers[j]=buffer;
}
s=0; for(i=0; i<n; i++){
if(workers[i].zarplata>25) {s+=workers[i].zarplata;k++;}
}
average=(float)s/k;
min=workers[0].zarplata;
otnowenie=(float)average/min;
}
_getch();
}
void read(){
FILE*fi;
if(!(fi=fopen("work.exe","rb")))
{printf(" Nevozmozno sozdat` file\n"); return;
}
for(i=0; i<n; i++)
fprintf(fi," %-20s %i %f\n",workers[i].FIO,workers[i].otdel,workers[i].zarplata);
for(i=0; i<n-1; i++)
for(j=i;j<n;j++)
if(workers[i].zarplata>workers[j].zarplata)
{
buffer=workers[i];
workers[i]=workers[j];
workers[j]=buffer;
}
s=0; for(i=0; i<n; i++){
if(workers[i].zarplata>25) {s+=workers[i].zarplata;k++;}
}
average=(float)s/k;
fprintf(fi,"\nAverage: %f",average);
min=workers[0].zarplata;
otnowenie=(float)average/min;
fprintf(fi,"\notnowenie sredney z/p k minimal`noy: %f",otnowenie);
fread(workers[i].FIO,sizeof(workers[i].FIO),1,fi);
fclose(fi);
}
void show(){
if( g==1) {
for(i=0; i<n; i++)
printf(" %-20s %i %f\n",workers[i].FIO,workers[i].otdel,workers[i].zarplata);
printf("\nAverage: %f",average);
printf("\notnowenie sredney z/p k minimal`noy: %f",otnowenie);}
else printf("Error!");
getch();
}
int menu()
{
int choise;
printf("***MAIN MENU***\n\n");
printf ( "1 - vvod dannyx\n");
printf( "2 - ydalenie\n");
printf("3 - show\n");
printf( "4 - add\n");
printf("5 - EXIT\n");
printf(":");
scanf("%i",&choise);
return choise;
}
void delet(){
char FIO[30] = {0};
printf(" who delete?!:\n");
scanf("%s",FIO);
int k=0;
for(j=0;j<n ;)
{
if( strcmp(workers[j].FIO, FIO) == 0)
{
for(k = j+1; k < i; k++)
{
workers[k-1]= workers[k];
}
break;
}
}
}
void add(){
char FIO[30];
printf("Enter name: ");
scanf("%s",&FIO);
for(i=0; i<n-1; i++)
strcpy(FIO,workers[n].FIO);
}
int main(){
for(; ;) {
int choice = menu();
switch(choice){
{
case (1):
m();
break;
case (2):
delet();
break;
case (3):
show();
break;
case (4):
add();
break;
case (5):
return 0;
break;
default: printf(" Please select again!\n");
break;
}
}
}
getch();}