⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main1.c

📁 C语言编写的仿视窗多程序演示系统
💻 C
📖 第 1 页 / 共 4 页
字号:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<graphics.h>
#include<dos.h>
#include<string.h>

#include "myinclu\Mychars.h"
#include "myinclu\Myprchar.h"
#include "myinclu\Mydefine.h"

#define AB 10


FILE *fp;


int MaxX,MaxY,Ctr_val,Ctr_old;

/********************************************/
/*                                          */
/*          屏幕图像函数列表                */
/*                                          */
/********************************************/
void Init_graph(void); /* BGI初始化 */
void Main_window(void);/*主窗口*/
void Draw_window(int sx,int sy,int ww,int hh,char *str);/*窗口外沿*/
void Draw_swindow(int sx,int sy,int ww,int hh,char *str);/*小窗口*/
void Draw_menu(int x_start,int y_start,int ww,int hh);/*矩形*/
void Down_menu(int x_start,int y_start,int ww,int hh,int deep);/*凹*/
void Up_menu(int x_start,int y_start,int ww,int hh,int deep);/* 凸 */
void Draw_mat(char *mat,int matsize,int x,int y,int color); /*打印字模*/
void Up_button(int butt_lft,int butt_top,int butt_wd,int butt_Ht,int deep,char *str);/*主按钮弹七*/
void Down_button(int butt_lft,int butt_top,int butt_wd,int butt_Ht,int deep,char *str);/*主按钮按下*/
void Up_sbutton(int butt_lft,int butt_top,int butt_wd,int butt_Ht,int deep,char *str);/*小按钮弹起*/
void Down_sbutton(int butt_lft,int butt_top,int butt_wd,int butt_Ht,int deep,char *str);/*小按钮按下*/
void Butt_Chg(void);/*重画按钮状态*/
void Clr_scr(int butt_lft,int butt_top,int butt_wd,int butt_Ht);/*清除部分屏幕*/



/********************************************/
/*                                          */
/*          数据操作函数列表                */
/*                                          */
/********************************************/
void scanbills(int *bills); /*检测票况*/
int buybilla(int *bills);/*购买有烟区票*/  /*****本程序无效******/
int buybillb(int *bills);/*购买无烟区票*/  /*****本程序无效******/
int buysucc(int bnumber);/*购买成功提示*/
int buyend(int ba,int bb);/*购买结束提示*/
int buyfull(char  *str1,char *str2);/*因满无法购买提示*/
void giveok(int billnum);/*退票成功提示*/
void giveerr(char *tdinfo); /*退票失败提示*/
int inputbox(int tdflag);/*输入数据窗口*/
int checktb(int billnum,int *bills);/*检测被退票*/
void scanbilla(int *bills,char *resbills);/*输出有烟区票况*/
void scanbillb(int *bills,char *resbills);/*输出无烟区票况*/
void hpfull(void);/*满票无法换*/
int inputboxbuy(char *xiyanqu,char *feixiyan);/*购买数据接受*/
int inputboxhc(char *xiyanqu,char *feixiyan);/*换成数据接受*/
void huanok(int numold,int numnew);/*换成功信息*/


/********************************************/
/*                                          */
/*          文件操作函数列表                */
/*                                          */
/********************************************/
void loaddata(char *filename,int *bills); /*读取数据文件*/
void savedata(char *filename,int *bills); /*存储数据文件*/
void clrdata(char *filename,int *bills);  /*清楚数据文件*/

/********************************************/
/*                                          */
/*            其它函数列表                  */
/*                                          */
/********************************************/
void clrkey(void);/*清内存按键*/
int Contrkey(void);/*返回控制按键*/


void Clr_scr(int butt_lft,int butt_top,int butt_wd,int butt_Ht)
{
    setfillstyle(SOLID_FILL,LIGHTGRAY);
    bar(butt_lft,butt_top,butt_lft+butt_wd,butt_top+butt_Ht);
}

void Init_graph(void)
{
    int gd=DETECT,gm=0; /* 和gd=VGA,gm=VGAHI是同样效果 */
    registerbgidriver(EGAVGA_driver);/* 注册BGI驱动后可以不需要.BGI文件的支持运行 */
    initgraph(&gd,&gm,"");
    MaxX=getmaxx();
    MaxY=getmaxy();
}

void Main_window(void)/*调用自定义函数绘制主窗体及按钮*/
{
    int ButWd=80,ButHt=50,ButLft=15,ButTp=35+80,Jg=70;
    Draw_window(0+1,0+1,MaxX-1,MaxY-1,"");
    Down_menu(5,35,100,MaxY-35-10,1); /*左菜单*/
    Down_menu(5+100+10,35,MaxX-115-5,MaxY-45,1);/*右窗体*/
    PrintTextxy(MaxX/2-100,8,"飞机订票管理系统",RED);
    PrintTextxy(MaxX/2-100+1,8+1,"飞机订票管理系统",YELLOW);
    Up_button(ButLft,ButTp,ButWd,ButHt,2,"机票查询");
    Up_button(ButLft,ButTp+Jg,ButWd,ButHt,2,"机票预定");
    Up_button(ButLft,ButTp+Jg*2,ButWd,ButHt,2,"机票退换");
    Up_button(ButLft,ButTp+Jg*3,ButWd,ButHt,2,"系统重置");
    Up_button(ButLft,ButTp+Jg*4,ButWd,ButHt,2,"退出系统");

    Ctr_val=1;
    Bd_1;
}

void Draw_window(int sx,int sy,int ww,int hh,char *str )
{
    int TitleH=22;
    Draw_menu(sx,sy,ww,hh);
    Down_menu(sx+3,sy+3,ww-6,TitleH,1);
    setfillstyle(SOLID_FILL,BLUE);
    bar(sx+4,sy+4,sx+ww-5,sy+2+TitleH);
    setcolor(WHITE);
    outtextxy(sx+ww/2-textwidth(str)/2,sy+8,str);
}

void Draw_swindow(int sx,int sy,int ww,int hh,char *str )
{
    int TitleH=22;
    Clr_scr(sx,sy,ww,hh);
    Up_menu(sx,sy,ww,hh,1);
    Down_menu(sx+3,sy+3,ww-6,TitleH,1);
    Down_menu(sx+3,sy+3+TitleH+2,ww-6,hh-TitleH-5-3,1);
    setfillstyle(SOLID_FILL,BLUE);
    bar(sx+4,sy+4,sx+ww-5,sy+2+TitleH);
    setcolor(WHITE);
    PrintTextxy(sx+ww/2-textwidth(str)/1.5-1,sy+8-1,str,GREEN);
    PrintTextxy(sx+ww/2-textwidth(str)/1.5,sy+8,str,YELLOW);
}

void Draw_menu(int x_start,int y_start,int ww,int hh) /*矩形*/
{
    int i;
    setfillstyle(SOLID_FILL,LIGHTGRAY);
    bar(x_start,y_start+ww,x_start+ww,y_start+hh);
    setcolor(WHITE);
    rectangle(x_start-1,y_start-1,x_start+ww+1,y_start+hh+1);
    Up_menu(x_start,y_start,ww,hh,0);
}

void Up_menu(int x_start,int y_start,int ww,int hh,int deep)
{
  int i;

    for (i=1;i<=deep;i++)
    {
        setcolor(WHITE);
        line(x_start+i,y_start+i,x_start+ww-i,y_start+i);/*横*/
        line(x_start+i,y_start+i,x_start+i,y_start+hh-i);/*竖*/
        setcolor(DARKGRAY);
        line(x_start+ww-i,y_start+hh-i,x_start+i,y_start+hh-i);/*横*/
        line(x_start+ww-i,y_start+hh-i,x_start+ww-i,y_start+i);
    }
}

void Down_menu(int x_start,int y_start,int ww,int hh,int deep)
{
    int i;

    for (i=1;i<=deep;i++)
    {
        setcolor(DARKGRAY);
        line(x_start+i,y_start+i,x_start+ww-i,y_start+i);/*横*/
        line(x_start+i,y_start+i,x_start+i,y_start+hh-i);/*竖*/
        setcolor(WHITE);
        line(x_start+ww-i,y_start+hh-i,x_start+i,y_start+hh-i);/*横*/
        line(x_start+ww-i,y_start+hh-i,x_start+ww-i,y_start+i);
    }
}


void Up_button(int butt_lft,int butt_top,int butt_wd,int butt_Ht,int deep,char *str)
{

    Clr_scr(butt_lft,butt_top,butt_wd,butt_Ht);
    if (strcmp("clr",str)==0)
    {
        setfillstyle(SOLID_FILL,LIGHTGRAY);
        bar(butt_lft,butt_top,butt_lft+butt_wd,butt_top+butt_Ht);
        return;
    }
    Up_menu(butt_lft,butt_top,butt_wd,butt_Ht,deep);
    PrintTextxy(butt_lft+butt_lft/3,butt_top+butt_Ht/4+2,str,BLUE);
    PrintTextxy(butt_lft+butt_lft/3+1,butt_top+butt_Ht/4+2+1,str,YELLOW);
}

void Down_button(int butt_lft,int butt_top,int butt_wd,int butt_Ht,int deep,char *str)
{


    Clr_scr(butt_lft,butt_top,butt_wd,butt_Ht);
    Down_menu(butt_lft,butt_top,butt_wd,butt_Ht,deep);
    PrintTextxy(butt_lft+butt_lft/3+2,butt_top+butt_Ht/4+2+2,str,BLUE);
    PrintTextxy(butt_lft+butt_lft/3+1+2,butt_top+butt_Ht/4+2+1+2,str,YELLOW);

}

void Up_sbutton(int butt_lft,int butt_top,int butt_wd,int butt_Ht,int deep,char *str)
{

    if (strcmp("clr",str)==0)
    {
        setfillstyle(SOLID_FILL,LIGHTGRAY);
        bar(butt_lft,butt_top,butt_lft+butt_wd,butt_top+butt_Ht);
        return;
    }
    Clr_scr(butt_lft,butt_top,butt_wd,butt_Ht);
    Up_menu(butt_lft,butt_top,butt_wd,butt_Ht,deep);
    PrintTextxy(butt_lft+butt_wd/3,butt_top+butt_Ht/5+2-3,str,BLUE);
    PrintTextxy(butt_lft+butt_wd/3+1,butt_top+butt_Ht/5+2+1-3,str,YELLOW);
}

void Down_sbutton(int butt_lft,int butt_top,int butt_wd,int butt_Ht,int deep,char *str)
{


    Clr_scr(butt_lft,butt_top,butt_wd,butt_Ht);
    Down_menu(butt_lft,butt_top,butt_wd,butt_Ht,deep);
    PrintTextxy(butt_lft+butt_wd/3+2,butt_top+butt_Ht/5+2+2-4,str,BLUE);
    PrintTextxy(butt_lft+butt_wd/3+1+2,butt_top+butt_Ht/5+2+1+2-4,str,YELLOW);

}


void clrkey()
{
    union REGS r;
    r.h.ah=0x0c;
    intdos(&r,&r);
}


void Butt_Chg(void)
{
int ButWd=80,ButHt=50,ButLft=15,ButTp=35+80,Jg=70;
    switch(Ctr_old)
    {
        case 1:
            Bu_1;
        break;
        case 2:
            Bu_2;
        break;  
        case 3:
            Bu_3;
        break;
        case 4:
            Bu_4;
        break;
        case 5:
            Bu_5;
        break;
    }
    switch(Ctr_val)
    {
        case 1:
            Bd_1;
        break;
        case 2:
            Bd_2;
        break;
        case 3:
            Bd_3;
        break;
        case 4:
            Bd_4;
        break;
        case 5:
            Bd_5;
        break;
    }

}

int Contrkey()
{
    int prskey;
    while(bioskey(1)==0);
    prskey=bioskey(0);
    prskey=prskey&0xff?prskey&0xff:prskey>>8;
/*    printf("%d key\n",prskey);*/
    return(prskey);
}

void savedata(char *filename,int *bills)
{
    int i;

    if((fp=fopen(filename,"w"))==NULL)
    {
        printf("\n cannot open database.") ;
        getch();
        exit(0);
    }
    for (i=0;i<=AB-1;i++)
    {
        fprintf(fp,"%d ",bills[i]);
    }
    fclose(fp);
    return;
}
void loaddata(char *filename,int *bills)
{
    int i;

    if((fp=fopen(filename,"r"))==NULL)
    {
        printf("\n cannot open database.") ;
        getch();
        exit(0);
    }
    for (i=0;i<=AB-1;i++)
    {
        fscanf(fp,"%d\n",&bills[i]);
    }
    fclose(fp);
    return;
}

void clrdata(char *filename,int *bills)
{

    int i;

    if((fp=fopen(filename,"w"))==NULL)
    {
        printf("\n cannot open database.") ;
        getch();
        exit(0);
    }
    for (i=0;i<=AB-1;i++)
    {
        bills[i]=0;
        fprintf(fp,"%d\n",bills[i]);
    }
    fclose(fp);
    return;
}

void scanbills(int *bills)
{
    int i;
    bills[AB]=0;bills[AB+1]=0;
    for (i=0;i<=AB/2-1;i++)
    {
    if (bills[i]==1)bills[AB]++;
    }
    for (i=(AB/2);i<=AB-1;i++)
    {
    if (bills[i]==1)bills[AB+1]++;
    }
}


⌨️ 快捷键说明

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