啊哈磊_编程从这里起步

标题: 求大佬帮忙看看哪错了 [打印本页]

作者: zyx6680599    时间: 2018-1-28 17:01
标题: 求大佬帮忙看看哪错了
#include <stdio.h>
#include<stdlib.h>
#include <math.h>

void main()
{






    float a;
    float b;
    float c;
    float d;
    float e;
    float f;
    float g;
    float h;
    float x;
    float y;
    float i;
    float z;
    float j;
    float k;
    float l;
    float m;
    float n;
    float o;
    float p;
    MENU:
    printf("\t站台\n");
    printf("一元一次请输入一(一车)\n");
    printf("一元二次请输入二(二车)\n");
    printf("三元一次请输入三(三车)\n");
    scanf("%f",p);
    if(p==1)
    {
        goto caculate;
    }
    else if(p==2)
    {
         goto CACULATE;
    }
    else if(p==3)
    {
    goto Caculate;
    }
    Caculate:
    printf("ax+by+cz+d=e,fx+gy+hz+i=j,kx+ly+mz+n=o\n");
    printf("enter a\n");
    scanf("%f",&a);
    printf("enter b\n");
    scanf("%f",&b);
    printf("enter c\n");
    scanf("%f",&c);
    printf("enter d\n");
    scanf("%f",&d);
    printf("enter e\n");
    scanf("%f",&e);
    printf("enter f\n");
    scanf("%f",&f);
    printf("enter g\n");
    scanf("%f",&g);
    printf("enter h\n");
    scanf("%f",&h);
    printf("enter i\n");
    scanf("%f",&i);
    printf("enter j\n");
    scanf("%f",&j);
    printf("enter k\n");
    scanf("%f",&k);
    printf("enter l\n");
    scanf("%f",&l);
    printf("enter m\n");
    scanf("%f",&m);
    printf("enter n\n");
    scanf("%f",&n);
    printf("enter o");
    scanf("%f",&o);
    x==b*((h*o/m-h*n/m+i-j)/(h*l/m-g)+c*(o-n-l*y)/m)/(b*f/(h*l/m-g)-b*k/(b*m)/(h*l/m-g)+a-c*k/m)*(-1);
    y==(x*(f-k/m)+h*o/m-h*n/m+i-j)/(h*l/m-g);
    z==(o-n-l*y-k*x)/m;
    printf("x is:%f\n",x);
    printf("y is:%f\n",y);
    printf("z is:%f\n",z);
    CACULATE:
        printf("ax+by+c=d,ex+fy+g=h\n");
        printf("enter a\n");
    scanf("%f",&a);
    printf("enter b\n");
    scanf("%f",&b);
    printf("enter c\n");
    scanf("%f",&c);
    printf("enter d\n");
    scanf("%f",&d);
    printf("enter e\n");
    scanf("%f",&e);
    printf("enter f\n");
    scanf("%f",&f);
    printf("enter g\n");
    scanf("%f",&g);
    printf("enter h\n");
    scanf("%f",&h);
if(a==e)
    {
    if(b==f)
       {

        printf("无解\a");
        goto CACULATE;
       }
        else
         x=((b*h-b*g)/f+(c-d))/((b*e)/f-a);
         y=(h-g-e*x)/f;
         printf("x is:%f\n",x);
         printf("y is:%f\n",y);
         goto CACULATE;
    }
else
    x=((b*h-b*g)/f+(c-d))/((b*e)/f-a);
    y=(h-g-e*x)/f;
    printf("x is:%f\n",x);
    printf("y is:%f\n",y);
    Q:
    printf("是否返回菜单?一是,二不是。");
    scanf("%f",&i);
    if(x==1)
    {
    goto MENU;
    }
    else if(x==2)
    {
    goto CACULATE;
    }
    else
    printf("wrong");
    goto Q;
    caculate:
    printf("ax+b=c\n");
    printf("enter a");
    scanf("%f",&a);
    printf("enter b\n");
    scnaf("%f",&b);
    printf("enter c\n");
    scanf("%f",&c);
    x==(b-c)/a*(-1);
    printf("x is:%f\n",x);
        return 0;
}


作者: pdthbbmfg    时间: 2018-1-28 17:01
1  加入定义变量 int r;  2  scanf("%f",&p);  3 printf("是否返回菜单?1是,2不是。"); 4  if(r==1)     {     goto MENU;     }     else if(r==2)     {     goto CACULATE;     } 5 在return 0;前加上 system("pause");
作者: mcrock    时间: 2018-1-28 18:08
你以为goto的标签不用定义呀
作者: 创世菌    时间: 2018-1-28 18:11
int main()
作者: zyx6680599    时间: 2018-1-28 19:33
mcrock 发表于 2018-1-28 18:08
你以为goto的标签不用定义呀

我没加入一元一次方程的时候是可以通过编译的 但程序一操作马上就显示出了问题
作者: pdthbbmfg    时间: 2018-1-29 22:04
#include <stdio.h>
#include<stdlib.h>
#include <math.h>

void main()
{
    float a;
    float b;
    float c;
    float d;
    float e;
    float f;
    float g;
    float h;
    float x;
    float y;
    float i;
    float z;
    float j;
    float k;
    float l;
    float m;
    float n;
    float o;
    float p;
    int r;
    MENU:
    printf("\t站台\n");
    printf("一元一次请输入1(一车)\n");
    printf("二元一次请输入2(二车)\n");
    printf("三元一次请输入3(三车)\n");
    scanf("%f",&p);
    if(p==1)
       {
        goto Caculate;
        }
    else if(p==2)
        {
         goto CACULATE;
         }
    else if(p==3)
         {
    goto Caculate;
         }
    Caculate:
    printf("ax+by+cz+d=e,fx+gy+hz+i=j,kx+ly+mz+n=o\n");
    printf("enter a\n");
    scanf("%f",&a);
    printf("enter b\n");
    scanf("%f",&b);
    printf("enter c\n");
    scanf("%f",&c);
    printf("enter d\n");
    scanf("%f",&d);
    printf("enter e\n");
    scanf("%f",&e);
    printf("enter f\n");
    scanf("%f",&f);
    printf("enter g\n");
    scanf("%f",&g);
    printf("enter h\n");
    scanf("%f",&h);
    printf("enter i\n");
    scanf("%f",&i);
    printf("enter j\n");
    scanf("%f",&j);
    printf("enter k\n");
    scanf("%f",&k);
    printf("enter l\n");
    scanf("%f",&l);
    printf("enter m\n");
    scanf("%f",&m);
    printf("enter n\n");
    scanf("%f",&n);
    printf("enter o");
    scanf("%f",&o);
    x==b*((h*o/m-h*n/m+i-j)/(h*l/m-g)+c*(o-n-l*y)/m)/(b*f/(h*l/m-g)-b*k/(b*m)/(h*l/m-g)+a-c*k/m)*(-1);
    y==(x*(f-k/m)+h*o/m-h*n/m+i-j)/(h*l/m-g);
    z==(o-n-l*y-k*x)/m;
    printf("x is:%f\n",x);
    printf("y is:%f\n",y);
    printf("z is:%f\n",z);
    CACULATE:
        printf("ax+by+c=d,ex+fy+g=h\n");
        printf("enter a\n");
    scanf("%f",&a);
    printf("enter b\n");
    scanf("%f",&b);
    printf("enter c\n");
    scanf("%f",&c);
    printf("enter d\n");
    scanf("%f",&d);
    printf("enter e\n");
    scanf("%f",&e);
    printf("enter f\n");
    scanf("%f",&f);
    printf("enter g\n");
    scanf("%f",&g);
    printf("enter h\n");
    scanf("%f",&h);
    if(a==e)
     {
       if(b==f)
       {

        printf("无解\n");
        goto CACULATE;
        }
        else
         x=((b*h-b*g)/f+(c-d))/((b*e)/f-a);
         y=(h-g-e*x)/f;
         printf("x is:%f\n",x);
         printf("y is:%f\n",y);
         goto CACULATE;
        }
      else
    x=((b*h-b*g)/f+(c-d))/((b*e)/f-a);
    y=(h-g-e*x)/f;
    printf("x is:%f\n",x);
    printf("y is:%f\n",y);
    Q:
    printf("是否返回菜单?输入1表示是,输入2表示不是。");
    scanf("%d",&r);
    if(r==1)
    {
    goto MENU;
    }
    else if(r==2)
    {
    goto CACULATE;
    }
    else
    printf("wrong");
    goto Q;
    caculate:
    printf("ax+b=c\n");
    printf("enter a");
    scanf("%f",&a);
    printf("enter b\n");
    scnaf("%f",&b);
    printf("enter c\n");
    scanf("%f",&c);
    x==(b-c)/a*(-1);
    printf("x is:%f\n",x);
        
        system("pause");
        return 0;
}





欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2