Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
5 / 5 / 1
Регистрация: 15.09.2016
Сообщений: 410
1

Затруднения в составлении программы с условными операторами

29.09.2016, 17:53. Показов 665. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здраствуйте! Нужна помощь в составлении программы согласно инструкции. Дело выглядит так, дано две взаимосвязанные
уравнений. Первую( справа) нужно записать c условным оператором case, вторую часть в if. Код написал, и совместил между собой по схеме ->
Первая часть :
-Создал три поля ввода, в два их которых ввел данные, далее прописал код в созданную для этого кнопку.
-Вывел промежуточный результат от первой системы в Edit3.
Вторая часть:
- Создаю вторую кнопку(Button2), беру n( то что получилось в Edit3, то бишь результат первой системы)
- Использую условные оператор if , нахожу итоговый результат, извлекаю его в Edit4 или можно в Edit3.
============================================================================
Все бы хорошо, да нельзя так. В условии сказано,что надо все это с помощью одной единственной кнопки решить.
"
Поместите на форму одну кнопку «РЕЗУЛЬТАТ», по нажатию на которую будет выводиться в соответствующем поле результат работы программы.
Для создания обработчика событий, нажмите на кнопке «РЕЗУЛЬТАТ» левой кнопкой мыши два раза.
После создания соответствующей подпрограммы, наберите текст решения (используя операторы if и switch), реализующий задачу, соответствующую варианту, приведенному в Приложении. При считывании данных или выводе результата в соответствующее поле не забывайте выполнять перевод строковых типов данных, с которыми работают компоненты формы, в соответствующие числовые форматы для расчетов, или наоборот. После расчета первой системы уравнений ее промежуточный результат на форму, а только после этого приступить к расчету второй системы уравнение и затем ее результат так же вывести на форму.
После расчета первого уравнения ее промежуточный результат на форму, а только после этого приступить к расчету второй системы уравнение и затем ее результат так же вывести на форму. В программе должна выполняться проверка правильности вода начальных данных. При некорректном вводе (например, кнопка «РЕЗУЛЬТАТ» была нажата до ввода данных) необходимо выдать сообщение пользователю об ошибке (используя ShowMessage)."

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void __fastcall TForm1::Button1Click(TObject *Sender)
 
{
 
int b = StrToInt(Edit1-> Text);
double y = StrToFloat(Edit2-> Text);
    double n ;
    switch (b)
      {
          case 1:       { n=  y+b /(y+7)  ; break;}
          case 2:       { n=sin(y-b) ; break;}  // верно
          case 8:     { n=log(fabs(b+y)) ; break;}
          default:      n=y*y+pow(b,y) ;
      }
 
  Edit3->Text = FloatToStr(n);
 
}
Вторая система уравнений, логически продолжающая первую.

C++
1
2
3
4
5
6
7
8
9
10
void __fastcall TForm1::Button2Click(TObject *Sender)
{
double n = StrToFloat(Edit3-> Text);
double b = StrToFloat(Edit1-> Text);
if(n<0) { n=n*b ; }
if (n==0) { n=n*(2*b) ; }
if (n>0) { n=n*(3*b) ; }
 
 Edit4->Text = FloatToStr(n);
}
---------------------------------

Думаю, ну хорошо, тогда обьединю код в одно целое в кнопке одной, выпилив вторую.
Все шло неплохо, это даже работало.
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
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 if (Edit1->Text=="") ShowMessage("Перед получением результата необходимо  ввести данные"); 
 
 
int b = StrToInt(Edit1-> Text);
double y = StrToFloat(Edit2-> Text);
    double n ;
    switch (b)
      {
          case 1:       { n=  y+b /(y+7)  ; break;}
          case 2:       { n=sin(y-b) ; break;}  // âåðíî
          case 8:     { n=log(fabs(b+y)) ; break;}
          default:      n=y*y+pow(b,y) ;
 
  Edit3->Text = FloatToStr(n);
  n = StrToFloat(Edit3-> Text);
 
double b = StrToFloat(Edit1-> Text);
if(n<0) { n=n*b ; }
if (n==0) { n=n*(2*b) ; }
if (n>0) { n=n*(3*b) ; }
 
 Edit4->Text = FloatToStr(n);
 
}
}
Ну а дальще все скомпилировал. Вроде бы заработало. Но программа крашиться все равно, думаю,что что-то допустил неправильно в обьединенном коде, что чуть выше, но проблему исправить не могу.
Да и еще один вопрос, как сделать проверка правильности вода начальных данных с двух полей ввода сразу, а то с одного сделал, но это ведь не совсем верно.
Миниатюры
Затруднения в составлении программы с условными операторами   Затруднения в составлении программы с условными операторами   Затруднения в составлении программы с условными операторами  

0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.09.2016, 17:53
Ответы с готовыми решениями:

Затруднения в составлении программы с условными операторами if.else.switch
Здравствуйте! Нужна ваша помощь в составлении программы с условными операторами if else После...

Запуск программы условными операторами
Мне надо сделать: При запуске программы: если в файле &quot;config.txt&quot; нету текста, то должна...

Работа с условными операторами
Здравствуйте, форумчане. Недавно начал изучать PHP, и, понемножку, стараюсь закреплять...

Функция с условными операторами
x^2+y^2+arctg(x), при x&gt;y (x-y)^2+arctg(x), при x&lt;y (y-x)^2+0.5, в остальных случаях

1
5 / 5 / 1
Регистрация: 15.09.2016
Сообщений: 410
29.09.2016, 17:57  [ТС] 2
Чуть не забыл, вот собственно сам вид задания:
Миниатюры
Затруднения в составлении программы с условными операторами  
0
29.09.2016, 17:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.09.2016, 17:57
Помогаю со студенческими работами здесь

Проблема с условными операторами в си
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; int main() { int a; char b; char y; char n;

Исправить программу с условными операторами
Даны 2 переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной...

Решение неравенства с условными операторами
Помогите пожалуйста написать программу. В Dev C++ В коде программы должны использоваться: if,...

Крайние значения в функции с условными операторами
Здравствуйте! Помогите, у кого есть Mathcad prime, пожалуйста!))) Почему то при дифференцировании...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru