ОАиП 2 Семестр / mobil / образец
.doc#include<stdio.h> #include<string.h> #include <stdio.h> #include <conio.h> #include <windows.h>
main()
{
int i,n,kol,j;
char s[80],fn[10];
char proizv[20];
FILE *f,*f1;
struct Mob
{
char proizv[20];
char tip_korpus[20];
int sim;
float kamera;
};
Mob z[20];
puts("Enter file name");
gets(fn);
if((f=fopen(fn,"r"))==NULL)
puts("oshibka \n");
else
{
printf("File %s opened \n", fn);
puts("ishodn file");
puts("____________________________________________");
puts("! ! ! ! !");
puts("____________________________________________");
i=0;
while(!feof(f))
{
fscanf(f,"%s%s%d%f",&z[i].proizv,&z[i].tip_korpus,&z[i].sim,&z[i].kamera);
printf("!%-10s!%-10s!%-10d!%-10f !\n",z[i].proizv,z[i].tip_korpus,z[i].sim,z[i].kamera);
i++;
}
puts("____________________________________________");
n=i;
printf("v file %d zapisi \n", n);
fclose(f);
/* ******************************************/
puts("ENter file rezult");
gets(fn);
f1=fopen(fn,"w");
printf("FILE REZULTAT\n");
puts("____________________________________________");
puts("! ! ! ! !");
puts("____________________________________________");
for (i=0;i<n;i++)
{
printf("%-10s%-10s%-10d%-10f \n",z[i].proizv,z[i].tip_korpus,z[i].sim,z[i].kamera);
fprintf(f1,"!%-10s!%-10s!%-10d!%-10f \n",z[i].proizv,z[i].tip_korpus,z[i].sim,z[i].kamera);
}
puts("____________________________________________");
n=i;
printf("v file %d zapisi \n", n);
fclose(f1); // close the files
}
printf("Press any key...");
getch();
return(0);
}
ЗАМЕНА
/*******************************************************************
kol=0;
puts("proizv\n");
scanf("%s",&proizv);
for(i=0;i<n;i++)
{
if(strcmp(z[i].proizv,proizv)==0)
{
kol++;
printf("vv. new kamera %s \n",z[i].proizv);
scanf("%f",&z[i].kamera);
printf("new kamera proizv %s - %f\n",z[i].proizv,z[i].kamera);
}
}
if(kol!=0)
{
fflush(stdin);
puts("ENter file rezult");
gets(fn);
f1=fopen(fn,"w");
printf("FILE REZULTAT\n");
puts("____________________________________________");
puts("! ! ! ! !");
puts("____________________________________________");
for (i=0;i<n;i++)
{
printf("%-10s%-10s%-10d%-10f \n",z[i].proizv,z[i].tip_korpus,z[i].sim,z[i].kamera);
fprintf(f1,"!%-10s!%-10s!%-10d!%-10f \n",z[i].proizv,z[i].tip_korpus,z[i].sim,z[i].kamera);
}
puts("____________________________________________");
n=i;
printf("v fail %d zapisi \n", n);
// close the files
fclose(f1);
}
else puts("net takogo proizv\n");
}
printf("Press any key...");
fflush(stdin);
getch();
return(0);
}
САМАЯ МАЛАЯ КАМЕРА
/* ******************************************/
m_k=z[0].kamera;
nom=0;
for (i=1;i<n;i++)
if (z[i].kamera<m_k)
{
m_k=z[i].kamera;
nom=i;
}
////////
fflush(stdin);
puts("ENter file rezult");
gets(fn);
f1=fopen(fn,"w");
printf("FILE REZULTAT\n");
puts("____________________________________________");
puts("! ! ! ! !");
puts("____________________________________________");
printf("%-10s%-10s%-10d%-10f \n",z[nom].proizv,z[nom].tip_korpus,z[nom].sim,z[nom].kamera);
fprintf(f1,"!%-10s!%-10s!%-10d!%-10f \n",z[nom].proizv,z[nom].tip_korpus,z[nom].sim,z[nom].kamera);
puts("____________________________________________");
// close the files
fclose(f);
fclose(f1);
}
printf("Press any key...");
/* ******************************************/
SIM > 2
fflush(stdin);
puts("ENter file rezult");
gets(fn);
f1=fopen(fn,"w");
printf("FILE REZULTAT\n");
puts("____________________________________________");
puts("! ! ! ! !");
puts("____________________________________________");
for (i=0;i<n;i++)
{
if (z[i].sim < 2)
{
printf("%-10s%-10s%-10d%-10f \n",z[i].proizv,z[i].tip_korpus,z[i].sim,z[i].kamera);
fprintf(f1,"!%-10s!%-10s!%-10d!%-10f \n",z[i].proizv,z[i].tip_korpus,z[i].sim,z[i].kamera);
}
}
puts("____________________________________________");
fclose(f1); // close the files
}
printf("Press any key...");
/* удалить 2 запись*/
/************************************************/
if(n>2)
{
j=1;
while(j<n)
{
z[j]=z[j+1];
j++;
}
n--;//уменьшанм количество записей
}
else puts("net 2 zapisi\n");
/************************************************/
/* удалить 2 запись*/
if(n>2)
{
j=1;
while(j<n)
{
z[j]=z[j+1];
j++;
}
n--;//уменьшанм количество записей
}
else puts("net 2 zapisi\n");
/************************************************/
/* удалить запись с указ.номером*/
puts("vv nomer zapisi na udal\n");
scanf("%d",&n_u);
if(n>n_u)
{
j=n_u-1;
while(j<n)
{
z[j]=z[j+1];
j++;
}
n--;//уменьшанм количество записей
}
else
printf("zapisi %d net\n",n_u);