RSS    

   Ðåôåðàò: Îò÷åò ïî ó÷åáíîé ïðàêòèêå ÎÀèÏ áàçà äàííûõ ñòóäåíòîâ (ñîçäàíèå, ïîèñê, óäàëåíèå, ñîðòèðîâêà, âñå, ÷òî íàäî íàïèñàííàÿ íà Ñ++)

                        return;

                }

                if (pr) {

                        textcolor(11);

                        gotoxy(4,25);

                cprintf("\r   Îøèáêà. Íåò çàïèñè ñ òàêèì íîìåðîì          ");

                        getch();

                        textcolor(WHITE);

                }

        }

        clrscr();

}

void edit(char *fn)

{

        FILE *fp;

        data st;

        int pr=1;

        int number,size=sizeof(data);

        fpos_t filepos;

        gotoxy(4,25);

        textcolor(11);

        cprintf("Ââåäèòå ¹ çàïèñè äëÿ ðåäàêòèðîâàíèÿ   :       ");

        textcolor(YELLOW);

        gotoxy(44,25);

        int key = 0;

        cscanf("%d",&number);

        textcolor(WHITE);

        while( kbhit())

                if( !(key = getch()))

                        key << 8;

                if( key == '\r' )

                {

                        if ((fp = fopen(fn,"rb+")) == NULL)

                        {

                               printf("File could not be opened.\n");

                               return;

                        }

                        while(fread(&st,size,1,fp))

                        {

                               if (feof(fp))

                                       break;

                               if (st.num == number)

                               {

                                       fseek(fp,-1*size,1);

                                       fgetpos(fp,&filepos);

                                       pr=1;

                                       break;

                               }

                               else

                                       pr=0;

                        }

                        if (pr)

                        {

                               while (1)

                               {

                               clrscr();

                               _setcursortype(_SOLIDCURSOR);

                               gotoxy(20,6);cout<<"Ôàìèëèÿ :                ";

                               cin>>st.lastName;

                               gotoxy(20,8);cout<<"Èìÿ :                    ";

                               cin>>st.firstName;

                               gotoxy(20,10);cout<<"Îò÷åñòâî :               ";

                               cin>>st.midName;

                               gotoxy(20,12);cout<<"¹ ãðóïïû :               ";

                               cin>>st.groupNumber;

                               gotoxy(20,14);cout<<"Ñðåäíèé áàëë ñòóäåíòà :  ";

                               scanf("%f",&st.mark);

                               if (!check(fn, st))

                               {

                                       fsetpos(fp,&filepos);

                                       fwrite(&st, sizeof(data),1,fp);

                                       break;

                                       }

                                       else {

                                               gotoxy(20,18);

                                               cout<<"Òàêàÿ çàïèñü óæå ñóùåñòâóåò";

                                               getch();

                                       }

                               }

                        }

                        else {

                               textcolor(11);

                               gotoxy(4,25);

cprintf("\r   Îøèáêà... Íåò çàïèñè ñ òàêèì íîìåðîì          ");

                               getch();

                               textcolor(WHITE);

                        }

                fclose(fp);

                }

}

void view(char *fn,int n)

{

        void ramka();

        FILE *fp;

        data st;

        char c;

        int counter=0;

        if ((fp = fopen(fn,"rb")) == NULL)  {

                printf("File could not be opened.\n");

                return;

        }

        ramka();

        window(1,6,80,23);

        fseek(fp,(n-1)*sizeof(data),SEEK_SET);

        while (counter != 18)

        {

                fread(&st,sizeof(data),1,fp);

                if (feof(fp))

                        break;

                else

                {

                               printf(" %4d   %-16s %-12s %-17s %8s     "

                               "%7.2f\n",st.num,st.lastName,st.firstName,

                               st.midName,st.groupNumber,st.mark);

                               counter++;

                }

        }

        window(1,24,80,25);

        cprintf("-----------------------------------"

        "---------------------------------------------");

        cprintf("   %c - ââåðõ, %c - âíèç , %c - âëåâî,"

        " %c - âïðàâî,  ESC - îòìåíà ",0x018,0x019,0x01B,0x01A);

        textcolor(10);     textbackground(1); cprintf("%14s",fn);

        window(1,1,80,25);  textcolor(15);

        fclose(fp);

}

void sort(char *fn)

{

        FILE *fp;

        data s1,s2;

        int num=1,size=sizeof(data),counter=0,key=0;

        int oldfs,newfs,color[]={0,4,4,4,4};

        while(1)

        {

                        _setcursortype(_NOCURSOR);  textcolor(10);

        cprintf("::::::::::::::::::::::::: Ì å í þ  ñ î ð ò è ð î â ê è "

                ":::::::::::::::::::::::::");

                switch(key)

                {

                        case LEFT: if (counter>0) {

                                       color[counter]=4;

                                       color[--counter]=0;

                               }

                               break;

                        case RIGHT: if (counter<4) {

                                       color[counter]=4;

                                       color[++counter]=0;

                               }

                               break;

                }

                textbackground(4); cprintf("        "); textcolor(WHITE);

                textbackground(color[0]);cprintf("  ïî ¹ çàïèñè  ");

                textbackground(color[1]);cprintf("  ïî Ô.È.Π ");

                textbackground(color[2]);cprintf("  ïî ¹ ãðóïïû ");

                textbackground(color[3]);cprintf("  ïî ñð.áàëó  ");

                textbackground(color[4]);cprintf("  Íàçàä  ");

                textbackground(4);cprintf("        "); textbackground(1);

                view(fn,num);

                key=bioskey(0);

                switch(key)

                {

                        case UP:    num--;if (num==0)

                               num=1;

                               view(fn,num); break;

                        case DOWN: num++;if (num+16>=get_number(fn))

                               num--;

                               view(fn,num); break;

                }

                if (key==283)

                        return;

                if (key == ENTER)

                {

                        if ((fp=fopen(fn,"rb+")) == NULL)

                        {

                               cout<<"error.file does not exist.";

                               return;

                        }

                switch(counter)  {

                case 1:  /*-----------ïî Ô.È.Î--------------------*/

                               oldfs=1;  newfs=0;

                               fread(&s1,size,1,fp);

                               while(oldfs) {

                                       fread(&s2,size,1,fp);

                                       if(feof(fp)) {

                                       if(!newfs)

                                               break;

                                       oldfs=1; newfs=0;

                                       rewind(fp); 

                                       fread(&s1,size,1,fp);

                                       continue;  

                               }

                               if (strcmp(s1.lastName,s2.lastName) > 0) {

                                       fseek(fp,-2*size,1);

                                       fwrite(&s2,size,1,fp);

                                       fwrite(&s1,size,1,fp);

                                       newfs=1;

                               }

                               if (strcmp(s1.lastName,s2.lastName) == 0)

Ñòðàíèöû: 1, 2, 3, 4


Íîâîñòè


Áûñòðûé ïîèñê

Ãðóïïà âÊîíòàêòå: íîâîñòè

Ïîêà íåò

Íîâîñòè â Twitter è Facebook

                   

Íîâîñòè

© 2010.