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

📄 飞翔理科ii-new.txt

📁 一个 数学工具集 有菜单界面 单色显示
💻 TXT
📖 第 1 页 / 共 4 页
字号:
//定义按键
#define UP_KEY  20
#define DOWN_KEY 21
#define LEFT_KEY 23
#define RIGHT_KEY 22
#define PGUP_KEY 19
#define PGDOWN_KEY 14
#define ENTER_KEY 13
#define HELP_KEY 25
#define ESC_KEY  27
#define SHIFT_KEY 26

#define LINE_LENTH 26
#define CHAR_HEIGHT 13

#define len_SubDir 22

//定义图片

//图标
char tu[]={0xf0,0xfc,0xfc,0x3c,0xff,0x1c,0xff,0x1c,0x1c,0x3c,0xc4,0x4c,0xf0,0x14,0xe0,0x0,0xc8,0x3c,0x1e,0x1c,0xfe,0x1c,0xf0,0x3c,0x0,0xfc};
//根号
char gen[]={0x3e,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xb0,0x70,0x30,0x10};
//组合数
char paic[]={0x1d,0x78,0x23,0x54,0x41,0x54,0x80,0x54,0x80,0x54,0x80,0x0,0x80,0x0,0x80,0x0,0x80,0x78,0x81,0x24,0x41,0x24,0x42,0x24,0x3c,0x76};
//排列数
char paia[]={0x10,0x78,0x10,0x54,0x18,0x54,0x28,0x54,0x28,0x54,0x24,0x0,0x3c,0x78,0x44,0x24,0x42,0x24,0x42,0x24,0xe7,0x76};
//坐标系 箭头 坐标
char jiantou[]={0x80,0x40,0xe0,0x40,0x80};
char jiantou1[]={0x20,0x70,0xa8};
char xtu[]={0x90,0x60,0x60,0x90};
char ytu[]={0x90,0x60,0x20,0xc0};
char otu[]={0x60,0x90,0x90,0x60};


//保存图片
char pic[1600];

char muout[9];
char mulu1[20],mulu2[20],mulu3[20];

//菜单项
char mu1[100]={"        初等代数初等几何方程速解三角函数排列组合数    列解析几何函数图像位置关系统计初步数学资料"};
char mu2[100]={"        仿真实验物理计算物理资料"};
char mu3[100]={"        无机化学有机化学化学资料"};
char mu4[100]={"        遗传变异生命活动生物环境物质基础生物资料"};
char mu5[100]={"        关于作者版本信息特别感谢开发小组"};

int ii,yy,e;


//Ebk内置变量
int subject=0;
char FileType;
char KEY;
char cmd;
char filedata[205];
char fp;
long thispage_begin;
long thispage_end;
long nextpage_begin;
long nextpage_end;
long nextline_begin;
long nextline_end;
long lastpage_begin;
long lastpage_end;
long lastline_begin;
long lastline_end;
char pathpoint;
char filestr[15];
char SHIFTaBYTE;
char Auto_ByHand;
int ms=4000;

long parentdir;//此变量基本没用,可删
long SubDir_add[5];//
long SubDir_name[5];//
char Num_of_SubDir;//
long CurrentSubDir_Name_p;//

long dataBegin;		//EBK_only_for_mark_begin-8
long dataEnd;

char EBK_only_for_mark_begin[2];
char dir_p;
long dir[10];
long BlockOffset;
char CurrentSubDir_p[10];
char CurrentSubDir;
char fromSubDir;
long dir_add;
long VTorId_maxID;
long VTorId_minID;
long VTorId_i;
long VTorId_add;
long BlockID;
char EBK_only_for_mark_end[2];//EBK_only_for_mark_end
int ebk_v_BEGIN;
int ebk_v_END;
char DatFileIsOK;
char textfilename[50];

//帮助 17行
char help_info[][26]={
"    我,一个飞翔的男孩,一",
"个梦想的男孩,一个阳光的",
"男孩。                  ",
"    我坚信,只要有梦想,我",
"就能飞翔。              ",
"========================",
"姓名:宋飞              ",
"性格:开朗外向、好交朋友",
"生日:1988-01-16        ",
"Email:songfei_1@sina.com",
"QQ:306698780            ",
"星座:摩羯座            ",
"就读学校:内蒙古一机一中",
"所在班级:高二(6)班   ",
"邮政编码:014030        ",
"格言:只要我高兴就行!   ",
"=========[END]=========="};

char help_info1[][26]={
"键盘操作:              ",
"<M><空格>键控制类别菜单 ",
"<税> <M->键控制科目菜单 ",
"↑↓←→ 键控制项目菜单 ",
"<A>      键显示作者简介 ",
"<T>      键显示特别感谢 ",
"<输入>   键进入工具     ",
"<跳出>   键退出程序     "};

char help_info2[][26]={
"感谢以下星迷的参与和支持",
"是你们的帮助让程序更完善",
"更感谢所有星迷的长久支持",
"[人员排名不分先后]      ",
"========================",
"Lee        |苍狼绝地    ",
"YMJR/卿    |末浪LeeStorm",
"星星abc    |谷虫&黑人类 ",
"EPC DIY    |            ",
"=========[END]=========="};
//画窗口
void WriteWin(int a)
{
	if(a!=4)ClearScreen();
	Block(1,1,160,13,1);
	if(a==1)TextOut(20,1,"飞翔理科工具集II 正式版",9);
	if(a==2)TextOut(20,1,"飞翔理科II 热线帮助",9);
	if(a==3)TextOut(20,1,"飞翔理科II 作者简介",9);
	if(a==4)TextOut(20,1,"飞翔理科II 资料浏览",9);
	if(a==5)TextOut(20,1,"飞翔理科II",9);
	if(a==6)TextOut(20,1,"飞翔理科II 谢谢使用",9);
	if(a==7)TextOut(20,1,"飞翔理科II 预留选项",9);
	WriteBlock(4,1,14,12,1,tu);
	Rectangle(1,0,160,80,1);
}

//画图片
void WritePic(int i)
{
	char fpp;
    if ((fpp=fopen("/FLY/FLY_pic1.dat","r"))==0)
    	{
        WriteWin(1);
        TextOut(3,20,"没有图片数据,请重新下载!",1);
        TextOut(3,35,"程序设计:宋飞  (BOYFLY) ",1);
        TextOut(3,50,"如有任何疑问请联系我!",1);
        TextOut(3,65,"Email:songfei2006@Gmail.com",1);
        Refresh();
        getchar();
        fclose(fpp);
        exit(0);
        }
    else
    	{
        fseek(fpp,i*1600,0);
        fread(pic,1,1600,fpp);
        WriteBlock(0,0,160,80,1,pic);
        Refresh();
        fclose(fpp);
        }
}

//画菜单项
void WriteMenu(int i)
{
	char fpp;
    if ((fpp=fopen("/FLY/FLY_pic1.dat","r"))==0)
    	{
        WriteWin(1);
        TextOut(3,20,"没有图片数据,请重新下载!",1);
        TextOut(3,35,"程序设计:宋飞  (BOYFLY) ",1);
        TextOut(3,50,"如有任何疑问请联系我!",1);
        TextOut(3,65,"Email:songfei2006@Gmail.com",1);
        Refresh();
        getchar();
        fclose(fpp);
        exit(0);
        }
    else
    	{
        fseek(fpp,(i-1)*320,0);
        fread(pic,1,320,fpp);
        WriteBlock(0,15,160,16,1,pic);
        fclose(fpp);
        }
}

//退出
void Quit()
{
	WriteWin(6);
	TextOut(30,35,"宋飞制造 谢谢使用",1);
	TextOut(30,50," www.wqxshow.com ",1);
	Refresh();
	getchar();
	exit(0);
}

void NullChoose()
{
	WriteWin(7);
	TextOut(30,35,"预留空间 没有选项",1);
	TextOut(30,50," www.wqxshow.com ",1);
	Refresh();
	getchar();
}
void caidan()
{
printf("CaiDan");
getchar();
}

//开始屏幕
void start()
{
char k;
WritePic(1);
Refresh();
k=getchar();
if(k=='s')
	{
	Beep();
	k=getchar();
	if(k=='o')
		{
		Beep();
		k=getchar();
		if(k=='n')
			{
			Beep();
			k=getchar();
			if(k=='g')
				{
				Beep();
				k=getchar();
				if(k=='f')
					{
					Beep();
					k=getchar();
					if(k=='e')
						{
						Beep();
						k=getchar();
						if(k=='i')
							{
							Beep();
							caidan();
							}
						}
					}	
				}
			}
		}
	}
}

//显示预留空间
void WriteErr()
{
WriteWin(1);
WriteMenu(subject+1);
TextOut(20,50,"预留空间,没有选项!",1);
Refresh();
getchar();
}

//显示说明
void WriteHelp(int a,int text,int line_count)
{
char txt_line[LINE_LENTH+1];
char key;
char temp[1600];
int this_line,i;
this_line=0;
for(;;)
{
  ClearScreen();
	WriteWin(a);
  for(i=0;i<5;i++)
  {
   if(this_line+i<line_count)
   {
    memcpy(txt_line,text+(this_line+i)*LINE_LENTH,LINE_LENTH);
    TextOut(8,15+i*CHAR_HEIGHT,txt_line,1);
   }
   else break;
  }
  Refresh(); 
    key=getchar();
  if(key==UP_KEY)  this_line--;
  if(key==DOWN_KEY) this_line++;
  if(key==PGUP_KEY) this_line=this_line-5;
  if(key==PGDOWN_KEY) this_line=this_line+5;
  if(this_line<0)
  {
   this_line=0;
   Beep();
  }
  if(this_line+5>line_count)
  {
   this_line=line_count-5;
   Beep();
  }
  
  if(key==ESC_KEY) {break;}
}
}

//开根号
long sqrt(long M) 
{ 
    int N, i; 
    long tmp, ttp;
    if(M==0)
        return 0; 
    N=0; 
    tmp =(M>>30);
    M=M<<2; 
    if(tmp > 1)
    { 
        N++; 
        tmp=tmp-N; 
    } 
    for(i=15;i>0;i--)
    { 
        N=N<<1;  
        tmp=tmp<<2; 
        tmp=tmp+(-(M<0))*2+((M&0x7fffffff)>>30);   
        ttp=N; 
        ttp=(ttp<<1)+1; 
        M=M<<2; 
        if(tmp>=ttp) 
        { 
            tmp=tmp-ttp; 
            N++; 
        } 
     } 
    return N; 
}

//输入数字
int InputNum(char x,char y,char len) 
{
int i;
int n,sign;
char ch;
long value; 
char numberc[11];
char string[12];
char string1[13];
if(len>9)len=9;
strcpy(numberc,"0bnmghjtyu");
memset(string,0,12);
sign=1;
n=0; 
value=0;
for(;;)
{
n=strlen(string);
Block(x,y,x+6*(n+2),y+12,0);
strcpy(string1,string);
strcat(string1,"_");
TextOut(x,y,string1,1);
Refresh();
ch=getchar();
for(i=0;i<10;i++)
if(ch==numberc[i]){ch=i+'0';break;}
else if(ch==20)ch='-';
if(isdigit(ch)&&n<len)string[n]=ch;
else if (ch=='-')
 { 
   if(sign==1)
        {
           memmove(string+1,string,10);
           string[0]=ch;
         }
   else if(sign==-1){memmove(string,string+1,10);string[n-1]=0;}
   sign=-sign;
 }
else if(ch==LEFT_KEY&n)string[n-1]=0;
else if (ch==ENTER_KEY&&n) {string[n]=0;break;}
}
            if(sign==1)i=0;else i=1;
             for(;i<n;i++)
                 {
                 ch=string[i];
                 value=value*10+(ch&0xf);
                 }
               return sign*value;
}

void WriteNum(int x,int y,long num)
{
char temp[27];
sprintf(temp,"%d",num);
TextOut(x,y,temp,1);
}

//Ebk文件内置 strcpy(textfilename,"/FLY/WL_1.dat");Text(); 调用
char EXITorNOT()
{
return 1;
}


long fsize(char fsize_fp)
{
fseek(fsize_fp,0,SEEK_END);
return ftell(fsize_fp);
}

char fopen_fp()
{
//===================================================
	strcpy(filestr,textfilename);
    if ((fp=fopen(filestr,"r"))==0) return 0;
return 1;
}

char TYPEofFILE()
{
char type_flag[5];
rewind(fp);
fread(type_flag,1,5,fp);
rewind(fp);
if((!type_flag[0])&&(!type_flag[1])&&(!type_flag[2]))
	{
	if((!type_flag[3])&&(!type_flag[4]))return 1;//TXT
	else return 2;//EBK
	}
else if((type_flag[0]=='B')&&(type_flag[1]=='1')&&(type_flag[2]=='6'))return 3;//B16
else if((type_flag[0]=='B')&&(type_flag[1]=='M'))return 4;//BMP
else if((type_flag[0]=='F')&&(type_flag[1]=='L')&&(type_flag[2]=='M'))return 5;//FLM
else if(type_flag[0]&&type_flag[1]&&type_flag[2]&&type_flag[3]&&type_flag[4])return 1;
else return 0;
}



void progress()
{
char y1;
char y2;
y1=(79*(thispage_begin-dataBegin))/(dataEnd-dataBegin);
y2=1+(79*(thispage_end-dataBegin))/(dataEnd-dataBegin);
Line(159,0,159,79,1);
Line(159,y1,159,y2,0);
}

long EBK_changeNextDir()
{
long add;
char c;
long dir_return;
long dir_unknow;

while(1)
	{
	if(CurrentSubDir+1<Num_of_SubDir)//下一个
		{
		CurrentSubDir++;
		CurrentSubDir_p[dir_p]=CurrentSubDir;
		fseek(fp,dir_add+3+2*CurrentSubDir,0);
		dir_unknow=getc(fp)+getc(fp)*256;
	
		fseek(fp,dir[dir_p],0);
		while(getc(fp)!=0xff);
		dir[dir_p]=ftell(fp);
		
		break;
		}
	else //回上一层
		{
		if(!dir_p) {return(-1);}
		fseek(fp,dir_add+1,0);parentdir=getc(fp)+getc(fp)*256;
		fseek(fp,parentdir,0);
		Num_of_SubDir=getc(fp);
		dir_add=parentdir;parentdir=getc(fp)+getc(fp)*256;
		CurrentSubDir_p[dir_p]=0;
		CurrentSubDir=CurrentSubDir_p[--dir_p];//if(CurrentSubDir+1<Num_of_SubDir)则上边;
		}
	}
	
	
	
while(1)//进目录
	{
	fseek(fp,dir_unknow,0);
	c=getc(fp);
	if((!c)||(dir_p>9))break;//(dir_p>9)防止意外
	else
		{
		CurrentSubDir=0;CurrentSubDir_p[++dir_p]=0;
		Num_of_SubDir=c;parentdir=dir_add;dir_add=dir_unknow;
		fseek(fp,dir_add+3,0);dir_unknow=getc(fp)+getc(fp)*256;
		dir[dir_p]=dir_add+3+2*Num_of_SubDir;
		}
	}
	
thispage_begin=-1;//重要!EBK_find_inBlock()中有作用
return(dir_unknow);

}

void set_nextpage()
{
char i;
char space_rest;
char tempchar;
char CanRead;

nextpage_begin=thispage_end+1;
if(nextpage_begin<dataEnd)fseek(fp,nextpage_begin,0);
else {cmd=254;return;}
CanRead=fread(filedata,1,200,fp);
if(ftell(fp)>dataEnd)CanRead=CanRead-(ftell(fp)-dataEnd);

space_rest=26*6;
for(i=0;i<CanRead;i++)
	{
	tempchar=filedata[i];

⌨️ 快捷键说明

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