nhập vào biểu thức cộng trừ tùy ý, in kết quả ra màn hình


//nhập vào 1 biểu thức cộng trừ tùy ý và in ra màn hình kết quả của biểu thức đó
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
void main()
{
char s[1000];
loop:;
do
{
printf("nhap bieu thuc: ");fflush(stdin);gets(s);
if(strlen(s)!=0)
{
int dem=0;
for(int b=0;b<strlen(s);b++)
if(s[b]==' ')dem++;
if(dem==0) break;
else printf("khong go <space>\n");
}
}while(1);
int i=strlen(s)-1,d=0,a[1000],k,j,z;
char x[1000],q,dau[1000];
while(i>=0)
{
k=0;
while(s[i]>='0' && s[i]<='9') x[k++]=s[i--];
i--;
x[k]='\0';
for(j=0;j<strlen(x)/2;j++){q=x[j];x[j]=x[strlen(x)-1-j];x[strlen(x)-1-j]=q;}
a[d++]=atoi(x);
}
for(i=0;i<d/2;i++){z=a[i];a[i]=a[d-1-i];a[d-1-i]=z;}
k=0;
for(i=0;i<strlen(s);i++)
if(s[i]=='+' || s[i]=='-') dau[k++]=s[i];
int t=a[0];
for(i=1;i<d;i++)
if(dau[i-1]=='+') t+=a[i];
else t-=a[i];
printf("\t\t= %d \n\n",t);
printf("----------------------------\n| tiep tuc: phim <space>   |\n| ket thuc: phim bat ky    |\n----------------------------\n\n");
char ket=getch();
if(ket==32) goto loop;
}

Không có nhận xét nào:

Đăng nhận xét