6
Sort(baza[0].Size,k)
baza[i].size=d
7 79нет
80 да
6
fname
size[j]=i
j++
i++
8
6
fi=fopen(fname,”wt”)
key=1
j=0
9
81
key
7
key=1
0нет
i<j
3
84 нет
scanf(“%d”,&d)
l=0
i=0
fclose(fi)
71 да 82
85 да
fprintf(fi,”%s%d%f\n”,baza[size[i]])
i++
83
fprintf(fi,”%d\n”,j)
i=0
4
8
3
sort(baza[0].price,k)
6
fname
6 98
8
fname2
7 99
return
88
fi=fopen(fname2,”wt”)
j=0
i=0
100
sort(int,int k)
101
8
i=k-1
9min,max
i>0
102 нет
9
i<k
0нет
103 да
j=0
91 да
baza[i].price>=min
5
j<i
нет 104нет
да
105
9
baza[i].price<=max
baza[j].size>baza[j+1].size
2 данет
нет
106 да
tmp=baza[j].size
baza[j].size=baza[j+1].size
baza[j+1].size=tmp
strcmp(ch,baza[j].marka)
strcpm(baza[j+1].marka,baza[j].marka
strcmp(baza[j+1].marka,ch)
tmpf=baza[j].price
baza[j].price=baza[j+1].price
baza[j+1].price=tmpf
да
9
price[j]=i
j++
3
5
9 4
i++
j++
107
95
fprintf(fi,”%d\n”,j)
i=0
108
i++
9
i<j
6
6 нет
109
return
97 да
fprintf(fi,”%s%d%f\n”,baza[prise[i]])
i++
110
sort(float,int k)
111
i=k-1
112
i>0
нет
да
113
j=0
j<i
114нет
да
1
baza[j].price>baza[j+1].price
15нет
да
1
tmp=baza[j].size
baza[j].size=baza[j+1].size
baza[j+1].size=tmp
strcmp(ch,baza[j].marka)
strcpm(baza[j+1].marka,baza[j].marka
strcmp(baza[j+1].marka,ch)
tmpf=baza[j].price
baza[j].price=baza[j+1].price
baza[j+1].price=tmpf
16
j++
117
i++
118
return
119
#include<string.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<ctype.h>
int menu();
void create();
void show();
void obr();
void sort(int,int k);
void sort(float,int k);
struct tovar{
char marka[15];
int size;
float price;
};
tovar baza[10];
int main()
{
clrscr();
while (menu()==1);
printf("EXIT");
getch();
return 0;
}
int menu()
{
clrscr();
int key;
printf("#-----------MENU--------------#\n");
printf("| 1. Sozdanie ishodnogo faila |\n");
printf("| 2. Prosmotr faila |\n");
printf("| 3. Obr |\n");
printf("| 4. Vihod |\n");
printf("#-----------------------------#\n");
key = getch();
clrscr();
switch (key)
{
case '1': create(); break;
case '2': show(); break;
case '3': obr();break;
case '4': return 0;
default: printf("Nevernaya komanda");
}
getch();
return 1;
}
void create()
{
char fname[20];
int k,i;
clrscr();
printf("Vvedite nazvanie faila:");
gets(fname);
FILE *fo=fopen(fname,"wt");
printf("Vvedite kolichestvo tovarov:");
scanf("%d",&k);
fprintf(fo," %d\n",k);
for (i=0; i<k; i++)
{
printf("Vvedite marka:");
scanf("%s",baza[i].marka);
printf("Vvedite size:");
scanf("%d",&baza[i].size);
printf("Vvedite cenu:");
scanf("%f",&baza[i].price);
clrscr();
}
for (i=0; i<k; i++)
{
fprintf(fo," %s %d %f\n",baza[i].marka,baza[i].size,baza[i].price);
}
fclose(fo);
printf("Vvod zakonchen, rezultat sohranen v file %s", fname);
gets(fname);
return;
}
void show()
{
clrscr();
FILE *fi;
int k,i,j,d;
char fname[20],str[10];
printf("Vvedite nazvanie faila:");
gets(fname);
if ((fi=fopen(fname,"rt"))==0) {printf("File not found"); getch(); return;}
printf("Soderjimoe faila:\n");
printf("#---Marka----#---Size---#-----Cena------#\n");
printf("| | | |\n");
fscanf(fi,"%d",&k);
for(i=0;i<k;i++)
{
fscanf(fi,"%s %d %f",baza[i].marka,&baza[i].size,&baza[i].price);
printf("|");
for(j=0;j<(12-strlen(baza[i].marka));j++)
printf(" ");
printf("%s|",baza[i].marka);
itoa(baza[i].size,str,10);
d=strlen(str);
for(j=0;j<(10-d);j++)
printf(" ");
printf("%d|",baza[i].size);
sprintf(str,"%f",baza[i].price);
d=strlen(str);
for(j=0;j<(15-d);j++)
printf(" ");
printf("%f|\n",baza[i].price);
}
printf("| | | |\n");
printf("#------------#----------#---------------#\n");
fclose(fi);
gets(fname);
return;
}
void obr()
{
clrscr();
FILE *fi;
int d,k,i,j,l;
float min,max;
int key=1;
int size[20],price[20];
char fname[20],fname2[20];
printf("Vvedite nazvanie faila:");
gets(fname);
if ((fi=fopen(fname,"rt"))==0) {printf("File not found"); getch(); return;}
fscanf(fi,"%d",&k);
for(i=0;i<k;i++)
{
fscanf(fi,"%s %d %f",baza[i].marka,&baza[i].size,&baza[i].price);
}
fclose(fi);
sort(baza[0].size,k);
printf("Vvedute name file for save list size:");
gets(fname);
fi=fopen(fname,"wt");
j=0;
for(;key==1;)
{
clrscr();
printf("Vvedute size:");
scanf("%d",&d);
l=0;
for(i=0;i<k;i++)
if (baza[i].size==d)
{
l=1;
break;
}
if (l==0)
printf("net takoro size");
for(;i<k;i++)
{
if (baza[i].size==d)
{
size[j]=i;
j++;
}
else
break;
}
printf("\nVvestu eshe size?yes(1)/no(2):");
scanf("%d",&key);
}
fprintf(fi,"%d\n",j);
for(i=0;i<j;i++)
fprintf(fi," %s %d %f\n",baza[size[i]].marka,baza[size[i]].size,baza[size[i]].price);
fclose(fi);
clrscr();
sort(baza[0].price,k);
printf("Vvedute name file for save list price:");
scanf("%s",fname2);
fi=fopen(fname2,"wt");
printf("Vvedute diapozon price min=");
scanf("%f",&min);
printf("\nmax=");
scanf("%f",&max);
j=0;
for(i=0;i<k;i++)
{
if (baza[i].price>=min)
if (baza[i].price<=max)
{
price[j]=i;
j++;
}
else
break;
}
fprintf(fi,"%d\n",j);
for(i=0;i<j;i++)
fprintf(fi," %s %d %f\n",baza[price[i]].marka,baza[price[i]].size,baza[price[i]].price);
fclose(fi);
printf("all list save");
gets(fname);
return;
}
void sort(int,int k)
{
int tmp,i,j;
float tmpf;
char ch[15];
for (i=k-1;i>0;i--)
{
for (j=0;j<i;j++)
{
if(baza[j].size>baza[j+1].size)
{
tmp=baza[j].size;
baza[j].size=baza[j+1].size;
baza[j+1].size=tmp;
strcmp(ch,baza[j].marka);
strcmp(baza[j].marka,baza[j+1].marka);
strcmp(baza[j+1].marka,ch);
tmpf=baza[j].price;
baza[j].price=baza[j+1].price;
baza[j+1].price=tmpf;
}
}
}
}
void sort(float,int k)
{
int tmp,i,j;
float tmpf;
char ch[15];
for (i=k-1;i>0;i--)
{
for (j=0;j<i;j++)
{
if(baza[j].price>baza[j+1].price)
{
tmpf=baza[j].price;
baza[j].price=baza[j+1].price;
baza[j+1].price=tmpf;
strcmp(ch,baza[j].marka);
strcmp(baza[j].marka,baza[j+1].marka);
strcmp(baza[j+1].marka,ch);
tmp=baza[j].size;
baza[j].size=baza[j+1].size;
baza[j+1].size=tmp;}}}}
#include<string.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<ctype.h>
struct tovar{
float price;
int size;
char marka[15];};
int menu();
class list
{
private:
void sort(int,int k);
void sort(float,int k);
tovar baza[15];
public:
void create();
void show();
void obr();
};
//===================MENU========================
int menu()
{
list Q;
clrscr();
int key;
printf("#-----------MENU--------------#\n");
printf("| 1. Sozdanie ishodnogo faila |\n");
printf("| 2. Prosmotr faila |\n");
printf("| 3. Obr |\n");
printf("| 4. Vihod |\n");
printf("#-----------------------------#\n");
key = getch();
clrscr();
switch (key)
{
case '1': Q.create(); break;
case '2': Q.show(); break;
case '3': Q.obr();break;
case '4': return 0;
default: printf("Nevernaya komanda");
}
getch();
return 1;
}
//====================CREATE=====================
void list::create()
{
char fname[20];
int k,i;
clrscr();
printf("Vvedite nazvanie faila:");
gets(fname);
FILE *fo=fopen(fname,"wt");
printf("Vvedite kolichestvo tovarov:");
scanf("%d",&k);
fprintf(fo," %d\n",k);
for (i=0; i<k; i++)
{
printf("Vvedite marka:");
scanf("%s",baza[i].marka);
printf("Vvedite size:");
scanf("%d",&baza[i].size);
printf("Vvedite cenu:");
scanf("%f",&baza[i].price);
clrscr();
}
for (i=0; i<k; i++)
{
fprintf(fo," %s %d %f\n",baza[i].marka,baza[i].size,baza[i].price);
}
fclose(fo);
printf("Vvod zakonchen, rezultat sohranen v file %s", fname);
gets(fname);
return;
}
//=====================SHOW======================
void list::show()
{
FILE *fi;
int k,i,j,d;
char fname[20],str[10];
printf("Vvedite nazvanie faila:");
gets(fname);
if ((fi=fopen(fname,"rt"))==0) {printf("File not found"); getch(); return;}
printf("Soderjimoe faila:\n");
printf("#---Marka----#---Size---#-----Cena------#\n");
printf("| | | |\n");
fscanf(fi,"%d",&k);
for(i=0;i<k;i++)
{
fscanf(fi,"%s %d %f",baza[i].marka,&baza[i].size,&baza[i].price);
printf("|");
for(j=0;j<(12-strlen(baza[i].marka));j++)
printf(" ");
printf("%s|",baza[i].marka);
itoa(baza[i].size,str,10);
d=strlen(str);
for(j=0;j<(10-d);j++)
printf(" ");
printf("%d|",baza[i].size);
sprintf(str,"%f",baza[i].price);
d=strlen(str);
for(j=0;j<(15-d);j++)
printf(" ");
printf("%f|\n",baza[i].price);
}
printf("| | | |\n");
printf("#------------#----------#---------------#\n");
fclose(fi);
gets(fname);
return;
}
//======================OBR=======================
void list::obr()
{
clrscr();
FILE *fi;
int d,k,i,j,l;
char c;
float min,max;
int key=1;
int size[20],price[20];
char fname[20],fname2[20],ch[15];
printf("Vvedite nazvanie faila:");
gets(fname);
if ((fi=fopen(fname,"rt"))==0) {printf("File not found"); getch(); return;}
fscanf(fi,"%d",&k);
for(i=0;i<k;i++)
{
fscanf(fi,"%s %d %f",baza[i].marka,&baza[i].size,&baza[i].price);
}
fclose(fi);
sort(baza[0].size,k);
printf("Vvedute name file for save list size:");
gets(fname);
fi=fopen(fname,"wt");
j=0;
for(;key==1;)
{
clrscr();
printf("Vvedute size:");
scanf("%d",&d);
l=0;
for(i=0;i<k;i++)
if (baza[i].size==d)
{
l=1;
break;
}
if (l==0)
printf("net takoro size");
for(;i<k;i++)
{
if (baza[i].size==d)
{
size[j]=i;
j++;
}
else
break;
}
printf("\nVvestu eshe size?yes(1)/no(2):");
scanf("%d",&key);
}
fprintf(fi,"%d\n",j);
for(i=0;i<j;i++)
fprintf(fi," %s %d %f\n",baza[size[i]].marka,baza[size[i]].size,baza[size[i]].price);
fclose(fi);
clrscr();
sort(baza[0].price,k);
printf("Vvedute name file for save list price:");
scanf("%s",fname2);
fi=fopen(fname2,"wt");
printf("Vvedute diapozon price min=");
scanf("%f",&min);
printf("\nmax=");
scanf("%f",&max);
j=0;
for(i=0;i<k;i++)
{
if (baza[i].price>=min)
if (baza[i].price<=max)
{
price[j]=i;
j++;
}
else
break;
}
fprintf(fi,"%d\n",j);
for(i=0;i<j;i++)
fprintf(fi," %s %d %f\n",baza[price[i]].marka,baza[price[i]].size,baza[price[i]].price);
fclose(fi);
printf("all list save");
gets(fname);
return;
}
//================MENU=====================
int main()
{
clrscr();
while(menu()==1);
printf("EXIT");
getch();
return 0;
}
//=============SORT========================
void list::sort(int,int k)
{
int tmp,i,j;
float tmpf;
char ch[15];
for (i=k-1;i>0;i--){
for (j=0;j<i;j++){
if(baza[j].size>baza[j+1].size){
tmp=baza[j].size;
baza[j].size=baza[j+1].size;
baza[j+1].size=tmp;
strcmp(ch,baza[j].marka);
strcmp(baza[j].marka,baza[j+1].marka);
strcmp(baza[j+1].marka,ch);
tmpf=baza[j].price;
baza[j].price=baza[j+1].price;
baza[j+1].price=tmpf;}} }}
void list::sort(float,int k)
{
int tmp,i,j;
float tmpf;
char ch[15];
for (i=k-1;i>0;i--)
{
for (j=0;j<i;j++)
{
if(baza[j].price>baza[j+1].price)
{
tmpf=baza[j].price;
baza[j].price=baza[j+1].price;
baza[j+1].price=tmpf;
strcmp(ch,baza[j].marka);
strcmp(baza[j].marka,baza[j+1].marka);
strcmp(baza[j+1].marka,ch);
tmp=baza[j].size;
baza[j].size=baza[j+1].size;
baza[j+1].size=tmp;}} }
}
#include<string.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<ctype.h>
int menu();
void create();
void show();
void obr();
void sort(int,int k);
void sort(float,int k);
struct tovar{
char marka[15];
int size;
float price;
};
tovar baza[10];
int main()
{
clrscr();
while (menu()==1);
printf("EXIT");
getch();
return 0;
}
int menu()
{
clrscr();
int key;
printf("#-----------MENU--------------#\n");
printf("| 1. Sozdanie ishodnogo faila |\n");
printf("| 2. Prosmotr faila |\n");
printf("| 3. Obr |\n");
printf("| 4. Vihod |\n");
printf("#-----------------------------#\n");
key = getch();
clrscr();
switch (key)
{
case '1': create(); break;
case '2': show(); break;
case '3': obr();break;
case '4': return 0;
default: printf("Nevernaya komanda");
}
getch();
return 1;
}
void create()
{
char fname[20];
int k,i;
clrscr();
printf("Vvedite nazvanie faila:");
gets(fname);
FILE *fo=fopen(fname,"wb");
printf("Vvedite kolichestvo tovarov:");
scanf("%d",&k);
fwrite(&k,sizeof(k),1,fo);
for (i=0; i<k; i++)
{
printf("Vvedite marka:");
scanf("%s",baza[i].marka);
printf("Vvedite size:");
scanf("%d",&baza[i].size);
printf("Vvedite cenu:");
scanf("%f",&baza[i].price);
clrscr();
}
for (i=0; i<k; i++)
{
fwrite(&baza[i],sizeof(tovar),1,fo);
}
fclose(fo);
printf("Vvod zakonchen, rezultat sohranen v file %s", fname);
gets(fname);
return;
}
void show()
{
clrscr();
FILE *fi;
int k,i,j,d;
char fname[20],str[10];
printf("Vvedite nazvanie faila:");
gets(fname);
if ((fi=fopen(fname,"rb"))==0) {printf("File not found"); getch(); return;}
printf("Soderjimoe faila:\n");
printf("#---Marka----#---Size---#-----Cena------#\n");
printf("| | | |\n");
fread(&k,sizeof(k),1,fi);
for(i=0;i<k;i++)
{
fread(&baza[i],sizeof(tovar),1,fi);
printf("|");
for(j=0;j<(12-strlen(baza[i].marka));j++)
printf(" ");
printf("%s|",baza[i].marka);
itoa(baza[i].size,str,10);
d=strlen(str);
for(j=0;j<(10-d);j++)
printf(" ");
printf("%d|",baza[i].size);
sprintf(str,"%f",baza[i].price);
d=strlen(str);
for(j=0;j<(15-d);j++)
printf(" ");
printf("%f|\n",baza[i].price);
}
printf("| | | |\n");
printf("#------------#----------#---------------#\n");
fclose(fi);
gets(fname);
return;
}
void obr()
{
clrscr();
FILE *fi;
int d,k,i,j,l;
float min,max;
int key=1;
int size[20],price[20];
char fname[20],fname2[20];
printf("Vvedite nazvanie faila:");
gets(fname);
if ((fi=fopen(fname,"rb"))==0) {printf("File not found"); getch(); return;}
fread(&k,sizeof(k),1,fi);
for(i=0;i<k;i++)
{
fread(&baza[i],sizeof(tovar),1,fi);
}
fclose(fi);
sort(baza[0].size,k);
printf("Vvedute name file for save list size:");
gets(fname);
fi=fopen(fname,"wb");
j=0;
for(;key==1;)
{
clrscr();
printf("Vvedute size:");
scanf("%d",&d);
l=0;
for(i=0;i<k;i++)
if (baza[i].size==d)
{
l=1;
break;
}
if (l==0)
printf("net takoro size");
for(;i<k;i++)
{
if (baza[i].size==d)
{
size[j]=i;
j++;
}
else
break;
}
printf("\nVvestu eshe size?yes(1)/no(2):");
scanf("%d",&key);
}
fwrite(&j,sizeof(j),1,fi);
for(i=0;i<j;i++)
{
fwrite(&baza[size[i]],sizeof(tovar),1,fi);
}
fclose(fi);
clrscr();
sort(baza[0].price,k);
printf("Vvedute name file for save list price:");
scanf("%s",fname2);
fi=fopen(fname2,"wb");
printf("Vvedute diapozon price min=");
scanf("%f",&min);
printf("\nmax=");
scanf("%f",&max);
j=0;
for(i=0;i<k;i++)
{
if (baza[i].price>=min)
if (baza[i].price<=max)
{
price[j]=i;
j++;
}
else
break;
}
fwrite(&j,sizeof(j),1,fi);
for(i=0;i<j;i++)
{
fwrite(&baza[price[i]],sizeof(tovar),1,fi);
}
fclose(fi);
printf("all list save");
gets(fname);
return;
}
void sort(int,int k)
{
int tmp,i,j;
float tmpf;
char ch[15];
for (i=k-1;i>0;i--)
{
for (j=0;j<i;j++)
{
if(baza[j].size>baza[j+1].size){
tmp=baza[j].size;
baza[j].size=baza[j+1].size;
baza[j+1].size=tmp;
strcmp(ch,baza[j].marka);
strcmp(baza[j].marka,baza[j+1].marka);
strcmp(baza[j+1].marka,ch);
tmpf=baza[j].price;
baza[j].price=baza[j+1].price;
baza[j+1].price=tmpf;} }}}
void sort(float,int k)
{
int tmp,i,j;
float tmpf;
char ch[15];
for (i=k-1;i>0;i--){
for (j=0;j<i;j++){
if(baza[j].price>baza[j+1].price){
tmpf=baza[j].price;
baza[j].price=baza[j+1].price;
baza[j+1].price=tmpf;
strcmp(ch,baza[j].marka);
strcmp(baza[j].marka,baza[j+1].marka);
strcmp(baza[j+1].marka,ch);
tmp=baza[j].size;
baza[j].size=baza[j+1].size;
baza[j+1].size=tmp;
}
}
}
}