Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
slavek777
3 / 3 / 1
Регистрация: 15.09.2016
Сообщений: 268
Завершенные тесты: 1
1

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

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

Здраствуйте! Нужна помощь в составлении программы согласно инструкции. Дело выглядит так, дано две взаимосвязанные
уравнений. Первую( справа) нужно записать 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
Миниатюры
Затруднения в составлении программы с условными операторами   Затруднения в составлении программы с условными операторами   Затруднения в составлении программы с условными операторами  

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.09.2016, 17:53
Ответы с готовыми решениями:

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

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

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

Нужно оптимизировать программу сложность с циклами и условными операторами
Здравствуйте. Недели 2 пытаюсь кодить на с++, что-то получается, что-то не...

Ребят, как разобраться в составлении программы на Си. Прошу
Здравствуйте ребят! Не могли бы вы мне объяснить или показать с чего...

1
slavek777
3 / 3 / 1
Регистрация: 15.09.2016
Сообщений: 268
Завершенные тесты: 1
29.09.2016, 17:57  [ТС] 2
Чуть не забыл, вот собственно сам вид задания:
0
Миниатюры
Затруднения в составлении программы с условными операторами  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.09.2016, 17:57

Требуется помощь в составлении блок-схемы для программы
Всем привет,имеется код программы,необходима помощь в составлении блок-схем. ...

Затруднения с запуском программы в среде Турбо Паскаль
{Eto bolsoi modul' risovanija grafikov i poverkhnostei.} unit GRAPHIC;...

Цикл while. Затруднения с составления программы с простым алгоритмом и проверкой подлинности
Здравствуйте, подскажите пожалуйста, у меня в ответе получается 34.75. Как...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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