index.c

来自「C语言编写的仿视窗多程序演示系统」· C语言 代码 · 共 774 行 · 第 1/3 页

C
774
字号
                                        putimage(200,150,buffertemp,COPY_PUT);
                                        fclose(fp);
                                        free(buffertemp);


                                        Draw_go_Up();
                                        if ((fp=fopen("old.dat","rb"))==NULL) return;
                                        bufferold=malloc(imagesize(0,135,170,435));
                                        fread(bufferold,imagesize(0,135,170,435),1,fp);
                                        fclose(fp);
                                        putimage(0,135,bufferold,COPY_PUT);
                                        free(bufferold);

                                        clrkey();
                                        while(1)
                                        {
                                            c=Contrkey();
                                            switch(c)
                                            {
                                                case ESC:
                                                case ENTER:
                                                    if ((fp=fopen("backbak.dat","rb"))==NULL) return;
                                                    buffertemp1=malloc(imagesize(0,0,288,245));
                                                    fread(buffertemp1,imagesize(0,0,288,245),1,fp);
                                                    putimage(200,150,buffertemp1,COPY_PUT);
                                                    fclose(fp);
                                                    free(buffertemp1);
                                                goto menu1;
                                                default:
                                                continue;
                                            }
                                        }

                                    break;
                                    case 3:
                                        if ((fp=fopen("backbak.dat","wb"))==NULL) return;
                                        buffertemp1=malloc(imagesize(0,0,288,245));
                                        getimage(0+200,0+150,288+200,245+150,buffertemp1);
                                        fwrite(buffertemp1,imagesize(0,0,288,245),1,fp);
                                        fclose(fp);
                                        free(buffertemp1);

                                        if ((fp=fopen("help.dat","rb"))==NULL) return;
                                        buffertemp=malloc(imagesize(0,0,288,245));
                                        fread(buffertemp,imagesize(0,0,288,245),1,fp);
                                        putimage(200,150,buffertemp,COPY_PUT);
                                        fclose(fp);
                                        free(buffertemp);


                                        Draw_go_Up();
                                        if ((fp=fopen("old.dat","rb"))==NULL) return;
                                        bufferold=malloc(imagesize(0,135,170,435));
                                        fread(bufferold,imagesize(0,135,170,435),1,fp);
                                        fclose(fp);
                                        putimage(0,135,bufferold,COPY_PUT);
                                        free(bufferold);

                                        clrkey();
                                        while(1)
                                        {
                                            c=Contrkey();
                                            switch(c)
                                            {
                                                case ESC:
                                                case ENTER:
                                                    if ((fp=fopen("backbak.dat","rb"))==NULL) return;
                                                    buffertemp1=malloc(imagesize(0,0,288,245));
                                                    fread(buffertemp1,imagesize(0,0,288,245),1,fp);
                                                    putimage(200,150,buffertemp1,COPY_PUT);
                                                    fclose(fp);
                                                    free(buffertemp1);
                                                goto menu1;
                                                default:
                                                continue;
                                            }
                                        }

                                    break;
                                    case 4:
                                         if ((fp=fopen("backbak.dat","wb"))==NULL) return;
                                        buffertemp1=malloc(imagesize(0,0,288,245));
                                        getimage(0+200,0+150,288+200,245+150,buffertemp1);
                                        fwrite(buffertemp1,imagesize(0,0,288,245),1,fp);
                                        fclose(fp);
                                        free(buffertemp1);

                                        if ((fp=fopen("illu.dat","rb"))==NULL) return;
                                        buffertemp=malloc(imagesize(0,0,288,245));
                                        fread(buffertemp,imagesize(0,0,288,245),1,fp);
                                        putimage(200,150,buffertemp,COPY_PUT);
                                        fclose(fp);
                                        free(buffertemp);


                                        Draw_go_Up();
                                        if ((fp=fopen("old.dat","rb"))==NULL) return;
                                        bufferold=malloc(imagesize(0,135,170,435));
                                        fread(bufferold,imagesize(0,135,170,435),1,fp);
                                        fclose(fp);
                                        putimage(0,135,bufferold,COPY_PUT);
                                        free(bufferold);

                                        clrkey();
                                        while(1)
                                        {
                                            c=Contrkey();
                                            switch(c)
                                            {
                                                case ESC:
                                                case ENTER:
                                                    if ((fp=fopen("backbak.dat","rb"))==NULL) return;
                                                    buffertemp1=malloc(imagesize(0,0,288,245));
                                                    fread(buffertemp1,imagesize(0,0,288,245),1,fp);
                                                    putimage(200,150,buffertemp1,COPY_PUT);
                                                    fclose(fp);
                                                    free(buffertemp1);
                                                goto menu1;
                                                default:
                                                continue;
                                            }
                                        }

                                    break;
                                    case 5:

                                        if ((fp=fopen("old2.dat","wb"))==NULL) return;
                                        bufferold2=malloc(imagesize(0+150,50,150+190,50+255));
                                        getimage(0+150,50,150+190,50+255,bufferold2);
                                        fwrite(bufferold2,imagesize(0+150,50,150+190,50+255),1,fp);
                                        fclose(fp);
                                        free(bufferold2);

                                        if ((fp=fopen("promenu.dat","rb"))==NULL) return;
                                        bufferpromenu=malloc(imagesize(0+1,0+1,190-1,255-1));
                                        fread(bufferpromenu,imagesize(0+1,0+1,190-1,255-1),1,fp);
                                        fclose(fp);
                                        putimage(0+150,50,bufferpromenu,COPY_PUT);
                                        free(bufferpromenu);
                                        xorbar(bufferbarl,6);
                                        while(1)
                                        {
                                            c=Contrkey();
                                            switch(c)
                                            {
                                                case LEFT:
                                                case ESC:
                                                    clrkey();
                                                    if ((fp=fopen("old2.dat","rb"))==NULL) return;
                                                    bufferold2=malloc(imagesize(0+1,0+1,190-1,255-1));
                                                    fread(bufferold2,imagesize(0+1,0+1,190-1,255-1),1,fp);
                                                    putimage(0+150,50,bufferold2,COPY_PUT);
                                                    fclose(fp);
                                                    free(bufferold2);

                                                break;
                                                case UP:
                                                    nold=n1;
                                                    n1++;
                                                    if(n1>=7)n1=1;
                                                    xorbar(bufferbarl,nold);
                                                    xorbar(bufferbarl,n1);
                                                continue;
                                                case DOWN:
                                                    nold=n1;
                                                    n1--;
                                                    if(n1<=0)n1=6;
                                                    xorbar(bufferbarl,nold);
                                                    xorbar(bufferbarl,n1);
                                                continue;
                                                case ENTER: /*调用小组各个程序!!!!!*/
                                                    switch(n1)
                                                    {
                                                        case 6:
                                                            closegr();
                                                            main1(); /*飞机订票系统子程序调用*/
                                                        break;
                                                        case 5:
                                                            closegr();
                                                            /*main2();此处为加入的相应的成员程序*/
                                                            printf("Sorry,No such programme loaded...\n");
                                                            printf("Press any key to return to the platform...");
                                                            getch();
                                                            /*此处为加入的相应的成员程序*/
                                                        break;
                                                        case 4:
                                                            closegr();
                                                            /*main3();*/
                                                            printf("Sorry,No such programme loaded...\n");
                                                            printf("Press any key to return to the platform...");
                                                            getch();
                                                            /*此处为加入的相应的成员程序*/
                                                        break;
                                                        case 3:
                                                            closegr();
                                                            /*main4();此处为加入的相应的成员程序*/
                                                            printf("Sorry,No such programme loaded...\n");
                                                            printf("Press any key to return to the platform...");
                                                            getch();
                                                            /*此处为加入的相应的成员程序*/
                                                        break;
                                                        case 2:
                                                            closegr();
                                                            /*main5();此处为加入的相应的成员程序*/
                                                            printf("Sorry,No such programme loaded...\n");
                                                            printf("Press any key to return to the platform...");
                                                            getch();
                                                            /*此处为加入的相应的成员程序*/
                                                        break;
                                                        case 1:
                                                            closegr();
                                                            /*main6();此处为加入的相应的成员程序*/
                                                            printf("Sorry,No such programme loaded...\n");
                                                            printf("Press any key to return to the platform...");
                                                            getch();
                                                            /*此处为加入的相应的成员程序*/
                                                        break;
                                                        default:
                                                        break;

                                                    }

                                                goto loop;

                                                default:
                                                continue;
                                            }
                                            break;

                                        }
                                    break;


                                }
                            continue;
                            default:
                                clrkey();
                            continue;

                        }
                    break;
                 }
            break;
            case QUIT:
                loadBmp("byebye.bmp");
                clrkey();
            return;
            default:
                clrkey();
            continue;

        }
    }

    getch(); /* 暂停一下,看看前面绘图代码的运行结果 */
    closegr(); /* 恢复TEXT屏幕模式 */
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?