Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Федеральное агентство железнодорожного транспор...docx
Скачиваний:
3
Добавлен:
21.11.2019
Размер:
55.11 Кб
Скачать

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

9

min,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;

}

}

}

}