善良的是什么意思:请人帮忙调试程序....我实在不会了

来源:百度文库 编辑:中科新闻网 时间:2024/04/27 20:21:17
QQ 519490258
一个关于四则混合运算的程序
我用的是VISUAL STUDIO
代码网上找的 但是我不会改了...
帮我下 很急的...

用c语言可以吗?这个是我以前做的
#include"string.h"
#include"graphics.h"
#include"conio.h"
#include"dos.h"
#include"time.h"
#include"stdlib.h"
#include"stdio.h"
#include"math.h"
/*调用一系列的库函数*/
int py;/*定义一个全局变量*/
void mode(int py)/*mode函数,用来设置的,来使用计算器的多种运算功能*/
{ double x1,x2,ans,ans2;
if(py<11)
{ printf("input x1,x2:");
scanf("%lf,%lf",&x1,&x2); }
else {printf("input x:");scanf("%lf",&x1);}
switch(py)
{ case 6 : ans=x1+x2;printf("=%.3lf",ans);break;
case 7 : ans=x1-x2;printf("=%.3lf",ans);break;
case 8 : ans=x1*x2;printf("=%.3lf",ans);break;
case 9 : ans=x1/x2;printf("=%.3lf",ans);break;
case 10 : ans=pow(x1,x2);printf("x^%.1lf=%.3lf",x2,ans);break;
case 11 : ans=sqrt(x1);printf("=%.3lf",ans);break;
case 12 : ans=sin(x1);ans2=cos(x1);printf("sin x=%.3lf,cos x=%.3lf",ans,ans2);break;
case 13 : ans=asin(x1);ans2=acos(x1);printf("asin x=%.3lf,acos x=%.3lf",ans,ans2);break;
}
getch();clrscr();
}
int join(char *ps) /*join函数是输入用户名和密码的,可于已注册的用户进行匹配,注册用户可使用高级功能*/
{ char name[30],pass[20];
int len,i;
printf("ID:");
scanf("%s",name);
printf("\npass word:");
scanf("%s",pass);
clrscr();
for(i=0;i<strlen(ps);i++)
if(pass[i]!=*(ps+i)) return 0;
return 1;
}

int menu(int pass)/*menu函数,菜单*/
{int py=6;char key=0;
gotoxy(1,4);
printf("MENU\n\n");
printf("ADD +\n");
printf("SUB -\n");
printf("MUL *\n");
printf("DIV /");
gotoxy(10,6);printf("<-");
if(pass) {gotoxy(1,10);printf("INV ^\n");
printf("EVO ~\n");
printf("SIN COS\n");
printf("ASIN ACOS\n");
printf("modify\n");
printf("QUIT"); }
else {gotoxy(1,10);printf("QUIT");}
while(key!=13) /*以下都是控制选择箭头的位子的语句*/
{ key=getch();
switch(key)
{ case 80 : gotoxy(10,py);printf(" ");if(!pass) py=py%5+6; else {++py;if(py==16) py=6;}break;

case 72 : gotoxy(10,py);printf(" ");--py; if(py==5) py=10+5*pass; break;
}
gotoxy(10,py);printf("<-");
}
return py;
}

main() /*主函数,关于函数分配和开始动画的语句*/
{ int gd=DETECT,gm,x=320,y=10,i,l=10,h=10,t,co=3,v=0;
int pass;
FILE *fp;char ps[20];
initgraph(&gd,&gm,"");/*初始化图形模式*/
registerbgidriver(EGAVGA_driver);
for(i=1;i<31;co=(co++%10),v++,y+=2+v,i++)
{ delay(9e10);cleardevice();
setcolor(co);
setfillstyle(1,co);
sector(x,y,0,360,l,h);/*画圆*/
}
for(i=1;i<300;i++)
{ setcolor(i%10);
circle(x,y,i);
delay(1000);/*延时*/
}
cleardevice();/*清屏*/
closegraph();
fp=fopen("file1","r");
if(fp==NULL) pass=1;
else {fgets(ps,20,fp);
pass=join(ps);}
ld: py=menu(pass);
if(py==pass*5+10) {clrscr();printf("bye bye!");getch();return 0;}
else if(py!=14){clrscr();mode(py);} else { fp=fopen("file1","w");
printf("\npass word:");
scanf("%s",ps);
fputs(ps,fp);
fclose(fp); getch();clrscr();
}
goto ld; /*函数内跳转*/
}

CLS
INPUT a$
l = LEN(a$)
DIM b$(l), s(l)
FOR i = 1 TO l
c$ = MID$(a$, i, 1)
IF c$ = "+" OR c$ = "-" OR c$ = "*" OR c$ = "/" OR c$ = "^" THEN
d = d + 1
b$(d) = c$
s(d) = VAL(s$)
s$ = ""
ELSE
s$ = s$ + c$
END IF
NEXT i
d = d + 1
s(d) = VAL(s$)
FOR i = 1 TO d
IF b$(i) = "^" THEN s(i) = s(i) ^ s(i + 1): GOSUB e
NEXT i
FOR i = 1 TO d
IF b$(i) = "*" THEN s(i) = s(i) * s(i + 1): GOSUB e
IF b$(i) = "/" THEN s(i) = s(i) / s(i + 1): GOSUB e
NEXT i
FOR i = 1 TO d
IF b$(i) = "+" THEN s(i) = s(i) + s(i + 1): GOSUB e
IF b$(i) = "-" THEN s(i) = s(i) - s(i + 1): GOSUB e
NEXT i
PRINT a$; "="; s(1): END
e: FOR f = i TO l - 2
b$(f) = b$(f + 1)
s(f + 1) = s(f + 2)
NEXT f
d = d - 1
i = i - 1
RETURN

估计和vb差不多吧,试试看吧!
我的QQ;245714387
要不直接发我邮箱,my7091818@126.com

我不会