📄 main1.c
字号:
#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 + -