Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Brusss
Сообщений: n/a
#1

Вычислить значение выражения - C++

17.04.2008, 13:58. Просмотров 761. Ответов 3
Метки нет (Все метки)

Помогите пожалуйста доделать программу.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#include<iostream>
#include<math.h>
#include<fstream>
#include <conio.h>
double a=16,b=0.54,c=5,u1=5,u2=65; 
float uin[500],uout[500],t,dt,uid=0,uod=0;
int i=0;
using namespace std;
void peremennie()
 {
 cout<<"\n\n\nОбратите внимания на формулы!\n";
 cout<<"Пока 0<=tu<1 расчёт происходит по формуле u=a*(1-exp(-b*ttemp)), когда 1<=t<2 по u=a*(1-exp(-b))*exp(-c*(ttemp-1))\n";
 cout<<"* U - напряжение; t - время; a,b,c=константы\n\n\n";
  cout<<"Введите a\n";
  cin>>a;
  cout<<"Введите b\n";
  cin>>b;
  cout<<"Введите c\n";
  cin>>c;
  cout<<"Введите u1\n";
  cin>>u1;
  cout<<"Введите u2\n";
  cin>>u2;
}
void standart()
 { cout<<"\n\n\nОбратите внимание на формулы!\n";
  cout<<"Пока 0<=tu<1 расчёт происходит по формуле u=a*(1-exp(-b*ttemp)), когда 1<=t<2 по u=a*(1-exp(-b))*exp(-c*(ttemp-1))\n";
  cout<<"* U - напряжение; t - время; a,b,c=константы\n\n\n";
  cout<<"a = "<<a<<"\nb = "<<b<<"\nc = "<<c<<"\nu1 = "<<u1<<"\nu2= "<<u2<<"\n\n\n";
 }
float nachf(float ttemp)
  {
  float u;
  if(ttemp<=1) u=a*(1-exp(-b*ttemp));
  else u=a*(1-exp(-b))*exp(-c*(ttemp-1));
  return u;
 } 
void rash(int n)
  {float ud;
   i=0;uid=0;uod=0;ud=0;
   dt=2./(n-1);
   for(t=0;t<=2;t+=dt)
    {
       uin[i]=nachf(t);
       uid+=uin[i]*uin[i]; 
  if (uin[i]<=u1)
        uout[i]=(u2/u1*uin[i]);
  else 
   uout[i]=u2;
       uod+=uout[i]*uout[i];
       i++;
    }
   uid=sqrt(uid/(n-1));
   uod=sqrt(uod/(n-1));
  }
void stemp(int n)
  {
   t=0;dt=2./(n-1);
   for(i=0;i<n;i++)
     {
      cout<<"Время:"<<t<<"c  "<<"Напряжение на входе= "<<uin[i]<<"В  "<<"Напряжение на выходе= "<<uout[i]<<"В  \n";t+=dt;
     }
    cout<<"Действующее входящее напряжение:"<<uid<<"B\n"<<"Действующее выходящее напряжение:"<<uod<<"B\n";
  }
void save(int n)
  {
   ofstream fd("Report");
   t=0;dt=2./(n-1);
   fd<<"Действующее входящее напряжение:"<<uid<<"B\n"<<"Действующее выходящее напряжение:"<<uod<<"B\n";
   for(i=0;i<n;i++)
     {
      fd<<"Время:"<<t<<"c  "<<"Uвх= "<<uin[i]<<"В  "<<"Uвых= "<<uout[i]<<"В  \n";
      t+=dt;
     }
  }
void start()
  {
     cout<<"\n\n\nДобро пожаловать!\n1. Просмотреть текущие значения для расчётов\n2. Изменить значения\n3. Произвести расчёты\n4. Просмотреть текущие результаты расчётов\n5. Записать расчёты в файл\n6. Выход из программы\n";
  }
int main()
{
 int n,temp;
 char quit;
 start();
 while((quit=getch())!='6')
  {
   switch(quit)
 { 
 case '1':
  {
  standart();
  break;} 
 case '2':
  {
                peremennie();
                break;
                }
       case '3':{
  cout<<"Сейчас расчёт производится со следущими значениями:";
  rash();
                cout<<"Введите количество точек (от 3 до 500):";cin>>n;
                if(n<=500&&n>=3)
                 {
                  temp=n;
                  Calc(n);
                 }
                else{cout<<"Вы ввели неверное значение\n";n=temp;}
                break;
               }
      case '4':{
                stemp(n);
                break;
               }
      case '5':{
                save(i);
  cout<<"Сохранение прошло успешно! \n\n\n";
                break;
               }
      default:start();
    }
  }
}
Проблема в calc. Как я понял его нужно згде-то задать, но не понимаю где)
Или можно обойтись rash, но как не пробовал, ничего не вышло
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2008, 13:58     Вычислить значение выражения
Посмотрите здесь:

Вычислить значение выражения - C++
Вычислить z={log}_a{(arccos(sinx))(a!)!} при а=3 , х={85}^{0} , Вычисление arccos и факториала оформить в виде соответствующих подпрограмм...

Вычислить значение выражения - C++
4 W=5(M+O2)-(3L+4K)*N/2, где

Вычислить значение выражения - C++
Обчислить значение выражения y=корень(2-b)^3+(3-b)^3, для подсчета (a-b)^3 использовать функцию.

Вычислить значение выражения - C++
В основной программе ввести входные данные, и вызвав собственные функции, вычислить значение выражения и результаты

Вычислить значение выражения - C++
Вычислить yi=7*arctg(xi)+F; здесь i=1,15 (1 до 15). Массив x вводится из файла f1. F меняется от -4 шагом 0,5. Массив y записать в файл f2....

Вычислить значение выражения - C++
вычислить значение выражения &quot;n!/m!-n!&quot; помогите плииис нужен полностью код С++

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SVEN
10 / 10 / 1
Регистрация: 25.03.2008
Сообщений: 50
17.04.2008, 18:11     Вычислить значение выражения #2
Объяви эту ф-ю Calc перед ее первым использованием, то есть перед ф-ей main, в реализации не помогу, т к лень разбираться в коде.
Brusss
Сообщений: n/a
17.04.2008, 20:42     Вычислить значение выражения #3
В этом то и проблемма, что я не знаю где и как её объявить(
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2008, 21:59     Вычислить значение выражения
Еще ссылки по теме:

Вычислить значение выражения - C++
Вычислить значение выражения: у = 5!/(4^5+35-4!/(4^4+34-3!/(4^3+33-2!/(4^2+32-1)/(4 + 31-х))))) Перепишите формулу используя редактор...

Вычислить значение выражения - C++
Вычислит: y=1*2-3*4+5*6+...+11*12+((1*3+2*4+3*5+...8*10)/(2*5+5*8+8*11+...+14*17)) Вывести y.

Вычислить значение выражения - C++
program lab2; uses crt; var x,y:real; begin clrscr; writeln('Введите значение х:'); readln(x); if x&gt;7 then...

Вычислить значение выражения - C++
Вычислить значение выражения при различных вещественных типах данных (float и double). Вычисления следует выполнять с использованием...

Вычислить значение выражения - C++
помогите решить!Поясняющие изображения загружайте на форум в виде вложений. А лучше освойте встроенный редактор формул. Для второй и...

Вычислить значение выражения - C++
Написать самостоятельно программу для вычисления выражения для своего варианта: w=2bccos(a/2)/(b+c) #include &quot;stdafx.h&quot; #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
glenstorm
0 / 0 / 0
Регистрация: 04.04.2008
Сообщений: 6
19.04.2008, 21:59     Вычислить значение выражения #4
А что Calc делает? Она у тебя не только не объявлена, но и не определена? Если она у тебя написана, лучше сунь её к остальным перед main() и не парься.
Yandex
Объявления
19.04.2008, 21:59     Вычислить значение выражения
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru