Что ж передо мной стоит задача номер 2а выполнить код так чтобы результат вычислений был еще записан в txt файл.Описание ошибок которые мне надо править под кодом.
| Код | #include<iostream> #include<cmath> using namespace std; void main() { char key; cout<<"viberite neobxodimoe deystvie \n"; cout<<" nagmite 1 dla resheniya kvadratnogo uravneniya \n"; cout<<" nagmite 2 dla resheniya sistemy x=at-dsint\n"; cout<<" y=a-dcost\n"; cout<<" nagmite 3 dla vixoda \n"; cin>>key; int exit=0; do switch (key) { case '1': float a,b,c,d; double x1,x2; char key; do { cout<<"vvedite a="; cin>>a; cout<<"vvedite b="; cin>>b; cout<<"vvedite c="; cin>>c; d=b*b-4*a*c; if(a==0 && b==0 && c==0) { cout<<"x=luboe 4islo \n"; } else if(a==0&&b!=0&&c!=0) { x1=-c/b; cout<<"x= "<<x1 << "\n"; } else if (a!=0&&b==0&&c!=0) if(c<0&&a>0||c>0&&a<0) { x1=sqrt(-c/a); x2=-sqrt(-c/a); cout<<"x1="<<x1 << "\n"; cout<<"x2="<<x2 << "\n"; } else { cout<<"net resheniya,povtorite vvod \n"; continue; } else if(c==0) { x1=-b/a; cout<<"x1=0 \n"<<"x2= "<<x1 <<"\n"; } if(c!=0 && a!=0 && b!=0) { if(d<0) { cout<<"d="<<d<<"\n"; cout<<"d=otricatelen"<<"\n"; cout<<"net resheniya,povtorite vvod \n"; continue; } else if(d==0) { cout<<"d="<<d<<"\n"; x1=-b/(2*a); cout<<"x= "<<x1<<"\n" ; } else if(d>0) { cout<<"d="<<d<<"\n"; x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a); cout<<"x1="<<x1<<"\n"; cout<<"x2="<<x2<<"\n"; } } cout<<"vixod?[y/n] \n"; cin>>key; } while (key!='y'); break; case '2': { char kv; int t0[10],t1[10]; double x[10],y[10]; int a,d,n,i,j; FILE *fp; do { fp=fopen("rez.txt.","w"); if (!fp) { printf("Error\n"); } else { printf("Idet zapis'\n"); cout<<"\n"<<"Reshenie systemi:\n"<<"\n" <<"x=a*t0-d*sint0\n"<<"y=a-d*cost1\n" <<"\n" <<"\n"
<<"vvedite a=\n"; cin>>a; cout<<"vvedite d=\n"; cin>>d; cout <<"vvedite n=\n"; cin>>n; cout<<"vvedite n zna4eniy t0:"; for (int i=0;i<n;++i)
{ cin>>t0[i]; } cout<<"vvedite n zna4eniy t1:"; for (int j=0;j<n;++j) int t0[10]; { cin>>t1[j]; } {for (int i=0;i<n;++i) { x[i]=((a*t0[i])-(d*sin(t0[i]))); cout<<"x["<<i<<"]="<<x[i]<<"\n"; fprintf(fp,"x%i=%f\n",i,x[i]); }} {for (int j=0;j<n;++j) { y[j]=(a-(d*cos(t1[j]))); cout<<"y["<<j<<"]="<<y[j]<<"\n"; fprintf(fp,"y%i=%f\n",j,y[j]); }} fclose(fp); if (fclose(fp)!=EOF) { printf("Error"); } } cout<<"prodolgit'?[y/n]\n"; cin>>kv; } while(kv=='y'); break; } case '3': cout<<"vixod"; return; default: cout<<"4itaem menu vnimatel'no"; return; } }
|
Однако есть следующий ошибки Если выбран блок меню 1 то после правильного выполнения уравнения должно выкидывать на меню,у меня программа вообще закрывается... При выполнении 2го пункта читает нужное количество X а Y тока первое В файл вообще не записывает,необходимо записывание которое будет не обнулять а дописывать новые значения. Из пункта 2 вообще не выходит никуда.Нужно обратно на меню. Пробнул исправить потерял скобку.(( Default должен выводить на меню у меня же просто закрывает Укажите на места где у меня ошибки и как их можно вылечить) |