Error C2061: синтаксическая ошибка: идентификатор - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Ошибка в функции Metod в цикле do/while не знаю как устранить синтаксическую ошибку
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#include<iostream>
#include"math.h"
using namespace std;
FILE *F;
 
int Menu();
void namef();
void Newf();
void open_F();
void Reschenie();
void vivodf();
 
double f(double x);
double Metod(double A,double B,double h);
 
char name[20];
int i,a,b,k,r,e=150;
double *X,u,*y,h,m,*z;
int main()
{
    while(true)
    {
        switch(Menu())
        {
        case 1: namef();
            break;
        case 2: Newf();
            break;
        case 3: Reschenie();
            break;
        case 4: return 0;
        default: printf("nevernii vvod");
        }
        printf("press any key to ontinue");
        getch();
        system("cls");
    }
}
int Menu()
{
    int i;
    printf("vibirite:\n");
    printf("1.nazv. file\n2.New file\n3.Reschenie\n");
    printf("4.exit\n");
    printf(">>");
    scanf("%d",&i);
    
    return i;
}
void namef() //1
{
    printf("vvedite name file:");
    cin>>name;
}
void Newf() //2
{
    if((F=fopen(name,"wb"))==NULL)
    {
        printf("Error\n");
        exit(1);
    }
    printf("ok\n");
    fclose(F);
}
void Reschenie() //3
{
    if((F=fopen(name,"rb+"))==NULL)
    {
        printf("Error\n");
        exit(1);
    }
    z=new double[e];
    X=new double[e];
    y=new double[e];

    cout<<"m=";
    cin>>m;
    cout<<"a=";
    cin>>a;
    cout<<"b=";
    cin>>b;
    h=(b-a)/m;
    X[0]=a;
 
cout<<"X\t\tY"<<endl;
for(i=0;i<=m;i++)
{
    fwrite (&X[i],sizeof(double),1,F);
    y[i]=f(X[i]);
    cout<<X[i]<<"\t\t"<<y[i]<<endl;
    X[i+1]=X[i]+h;
    fwrite (&y[i],sizeof(double),1,F);
}
i=0;
for(int j=1;X[i]<=b;i++)
{
    u=y[i];
    if((u>0 && y[i+1]<0) || (u<0 && y[i+1]>0))
    {
        z[j]=Metod(X[i],X[i+1],h);
        j++;
    }
}
    for(i=1;i<=3;i++)   
        cout<<endl<<"X"<<i<<"="<<z[i]<<endl;
 
    delete[] X;
    delete[] y;
    delete[] z;
    fclose(F);
}
double f(double x)
{
    return pow(x,2)+5*cos(x)-3;
}
double Metod(double A,double B,double h)
{
    double e=0.0001,x[3],y[3],v,X;
    x[0]=A;
    x[1]=B;
    y[0]=f(x[0]);
    do
    x[2]=(x[0]+x[1])/2;
    y[2]=f(x[2]);
    v=y[0]*y[2];
    if(v>0)
    {
        x[0]=x[2];
        y[0]=y[2];
    }
    else
    {
        x[1]=x[2];
        y[1]=y[2];
    }
    while((x[1]-x[0])>e)
    X=(x[0]+x[1])/2;
    return X;
}

Решение задачи: «Error C2061: синтаксическая ошибка: идентификатор»

textual
Листинг программы
do
{
 
////
 
} while ...

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы