Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- struct pt {
- int code;
- char date[11];
- char code_buyer[20];
- char artikul[20];
- int cnt;
- };
- void input(pt*&,FILE*,int&);
- void display(pt*,int,int);
- int main() {
- FILE *h; int count=0,z1=0;
- int z;
- h=fopen("bd.txt","r");
- pt *zakazi;
- if(h) while(!feof(h)) input(zakazi,h,count);
- else {
- printf("BD not Found...\n Created new BD...\n");
- h=fopen("bd.txt","w");
- }
- fclose(h);
- printf("ZAKAZI.\nVi mozhete prosmotret zakazi ili dobavit svoi");
- while(true) {
- printf("\n1: Prosmotret zakazi\n2: Dobavit zakaz\n0: Exit\n\n\tVashi deystviya: ");
- scanf("%d",&z);
- switch(z) {
- case 0: return 0;
- case 2: input(zakazi,NULL,count); break;
- case 1: {
- if(!count) {
- printf("Zakazov net");
- break;
- }
- printf("Viberite Kod Zakaza dlya prosmotra. \n(0: Vivesti vsu tablicy\n-1: ne vivodit ni4ego)\nZakaz N: ");
- scanf("%d",&z1);
- display(zakazi,count,z1);
- } break;
- default: break;
- }
- }
- }
- void input(pt*& zakazi, FILE *h, int &count) {
- bool found=false;
- if(count) zakazi=(pt*)realloc(zakazi,(count+1)*sizeof(pt));
- else zakazi=(pt*)calloc(1,sizeof(pt));
- if(h) {
- fscanf(h,"%d %s %s %s %d\n",&zakazi[count].code,&zakazi[count].date,&zakazi[count].code_buyer,&zakazi[count].artikul,&zakazi[count].cnt);
- } else {
- printf("\nDobavlenie novogo elementa:\n");
- printf("Vvedite kod zakaza: ");
- scanf("%d",&zakazi[count].code);
- for(int i=0;i<count;i++)
- if(zakazi[count].code==zakazi[i].code) {found=true; break;}
- if((found)||(zakazi[count].code<1)) {
- if(found) printf("Takoi zakaz yzhe est!!!\n"); else printf("Nelzya vvodit takoi kod!!!\n");
- zakazi=(pt*)realloc(zakazi,count*sizeof(pt));
- return;
- }
- printf("Vvedite daty zakaza(dd.mm.yyyy)):");
- scanf("%s",&zakazi[count].date);
- printf("Vvedite kod pokypatelya: ");
- scanf("%s",&zakazi[count].code_buyer);
- printf("Vvedite artikul: ");
- scanf("%s",&zakazi[count].artikul);
- printf("Vvedite koli4estvo: ");
- scanf("%d",&zakazi[count].cnt);
- h=fopen("bd.txt","a");
- fprintf(h,"%d %s %s %s %d\n",zakazi[count].code,zakazi[count].date,zakazi[count].code_buyer,zakazi[count].artikul,zakazi[count].cnt);
- fclose(h);
- printf("Zakaz dobavlen!\n");
- }
- count++;
- }
- void display(pt* zakazi,int count,int num) {
- bool found;
- if(num==-1) return;
- if(num==0)
- for(int i=0;i<count;i++)
- printf("=== Zakaz: %5d ===\nData: %30s\nKod Pokupatelya: %19s\nArtikul: %27s\nKoli4estvo: %24d\n====================\n",zakazi[i].code,zakazi[i].date,zakazi[i].code_buyer,zakazi[i].artikul,zakazi[i].cnt);
- else {
- found=false;
- for(int i=0;i<count;i++)
- if(zakazi[i].code==num) {
- printf("=== Zakaz: %5d ===\nData: %30s\nKod Pokupatelya: %19s\nArtikul: %27s\nKoli4estvo: %24d\n====================\n",zakazi[i].code,zakazi[i].date,zakazi[i].code_buyer,zakazi[i].artikul,zakazi[i].cnt);
- found=true;
- break;
- }
- if(!found) printf("Zakaz %3d ne naiden!\n",num);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment