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

📄 tstk.c

📁 arm7+proteus仿真实现的贪吃蛇
💻 C
字号:
#include <math.h>

int char_pos;
int stk_pos=0;
int data_in_stk[20];
int temp_var;
char temp_char_var;
int data_var;
int sum1=0,sum2=0,sum3=0;
int data_out_stk[10],opos=0;



void Data_input_Stk()
{
	int flag=1,i;
	temp_var=0;
	temp_char_var='c';
	stk_pos=0;
	data_var=16;
	while(flag)
	{
		while(bioskey(1)==0);
		
		temp_var=bioskey(0);
		
	    temp_char_var=(char)temp_var;
	    printf("%c->",temp_char_var);
	   switch(temp_char_var)
	   {
	   	 case '+':char_pos=stk_pos;data_var=10;break;
	   	 case '-':char_pos=stk_pos;data_var=12;break;
	   	 case '*':char_pos=stk_pos;data_var=13;break;
	   	 case '/':char_pos=stk_pos;data_var=14;break;
	   	 case '=':flag=0;break;
	   	 case '0':data_var=0;break;
	   	 case '1':data_var=1;break;
	   	 case '2':data_var=2;break;
	   	 case '3':data_var=3;break;
	   	 case '4':data_var=4;break;
	   	 case '5':data_var=5;break;
	   	 case '6':data_var=6;break;
	   	 case '7':data_var=7;break;
	   	 case '8':data_var=8;break;
	   	 case '9':data_var=9;break;
	   	 default:
	     break;
	   }
	   if((flag==1)&&(data_var>=0&&data_var<=14))
	   data_in_stk[stk_pos++]=data_var;
	   
	}
	printf("\n");
	for(i=0;i<stk_pos;i++)
	{
		printf("%d->",data_in_stk[i]);
	}
}

void data_sum_out()
{  
	int i,datatemp,ipos;
	i=char_pos-1;
	datatemp=0;
	sum1=0;
	sum2=0;
	sum3=0;
	ipos=0;
	printf("\n");
      for(;i>=0;i--)
      {
         datatemp=pow(10,ipos);
         printf("%d->",data_in_stk[i]);
         sum1=sum1+data_in_stk[i]*datatemp;
         ipos++;
      }
    i=stk_pos-1;

    ipos=0;
    printf("\n");
    datatemp=0;
    for(;i>=char_pos+1;i--)
      {
         datatemp=pow(10,ipos);
         printf("%d->",data_in_stk[i]);
         sum2=sum2+data_in_stk[i]*datatemp;
         ipos++;
      }  
	 switch(data_in_stk[char_pos])
	 {
	 	 case 10:sum3=sum1+sum2;break;
	   	 case 12:sum3=sum1-sum2;break;
	   	 case 13:sum3=sum1*sum2;break;
	   	 case 14:sum3=sum1/sum2;break;
	   	 default:
	   	 break;
	 }
	 printf("\n%d\n",sum3);
}

void Data_out_Stk()
{
         int i=0,data,temp;
         data=sum3;
         temp=0;
         printf("\n");
         opos=0;
         while(i<9)
         {
	         	
		     temp=data%10;
		     
		     if(temp==0)
		     break;
		     printf("%d...",temp);
		     data_out_stk[opos++]=temp;
		     data=data/10;
         }
         i=opos-1;
         printf("\n");
         for(;i>=0;i--)
         {
           printf("%d->",data_out_stk[i]);
          }
	   printf("\n");
}

int main()
{
  int kg=0;
   while(kg<10)
   {	
	   Data_input_Stk();
	   data_sum_out();
	   Data_out_Stk();
       kg++;
    }   
	getch();
	return 0;
}	
	

⌨️ 快捷键说明

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