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

завершение программы - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
SKS-65
5 / 5 / 1
Регистрация: 18.10.2011
Сообщений: 187
20.09.2012, 00:34     завершение программы #1
помогите сообразить
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
#include <StdAfx.h>
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
void main()
{
float x,y,z,min,s;
cout <<"\n input x,y,z";
cin >>x>>y>>z;
if ((x+y+z)/3==x*y*z)
    cout <<"error"; /////// как нужно сделать чтобы вот здесь когда я ввожу x=1 y=1 и z=1 он выдовал error и завершал программу,а то он и дальше проверяет
 
if ((x+y+z)/3>x*y*z)
        min=x*y*z;
else
    min=(x+y+z)/3;endl;
    if (1-(min*min)==0)
        cout<<"error";
    else
    (s=min/(1+min*min));
cout <<s;
getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fler
207 / 209 / 9
Регистрация: 20.12.2011
Сообщений: 635
20.09.2012, 00:55     завершение программы #2
C++
1
2
3
4
5
6
if ((x+y+z)/3==x*y*z)
{
    cout <<"error"; //выдаст еррор, приостановится и завершится
    getch();
    return;
}
SKS-65
5 / 5 / 1
Регистрация: 18.10.2011
Сообщений: 187
20.09.2012, 01:04  [ТС]     завершение программы #3
тоже самое,выводит error и ещё одно значение
Fler
207 / 209 / 9
Регистрация: 20.12.2011
Сообщений: 635
20.09.2012, 01:13     завершение программы #4
обманывать - плохо

Добавлено через 42 секунды
может Вы запускаете без пересборки?
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
20.09.2012, 01:13     завершение программы #5
а вот так ?
C++
1
2
3
4
5
if ((x+y+z)/3==x*y*z){
    cout <<"error"; /////// ГЄГ*ГЄ Г*ГіГ¦Г*Г® ñäåëГ*ГІГј ÷òîáû âîò çäåñü êîãäГ* Гї ââîæó x=1 y=1 ГЁ z=1 Г®Г* âûäîâГ*Г« error ГЁ Г§Г*âåðøГ*Г« ïðîãðГ*ììó,Г* ГІГ® Г®Г* ГЁ Г¤Г*ëüøå ïðîâåðÿåò
 getch();
 return 0;
}
Fler
207 / 209 / 9
Регистрация: 20.12.2011
Сообщений: 635
20.09.2012, 01:14     завершение программы #6
Цитата Сообщение от Игорь с++ Посмотреть сообщение
а вот так ?
C++
1
2
3
4
5
if ((x+y+z)/3==x*y*z){
    cout <<"error"; /////// ГЄГ*ГЄ Г*ГіГ¦Г*Г® ñäåëГ*ГІГј ÷òîáû âîò çäåñü êîãäГ* Гї ââîæó x=1 y=1 ГЁ z=1 Г®Г* âûäîâГ*Г« error ГЁ Г§Г*âåðøГ*Г« ïðîãðГ*ììó,Г* ГІГ® Г®Г* ГЁ Г¤Г*ëüøå ïðîâåðÿåò
 getch();
 return 0;
}
одно и то же
main у него воидом объявлен
SKS-65
5 / 5 / 1
Регистрация: 18.10.2011
Сообщений: 187
20.09.2012, 01:18  [ТС]     завершение программы #7
всё так же
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
20.09.2012, 01:30     завершение программы #8
Цитата Сообщение от Fler Посмотреть сообщение
main у него воидом объявлен
блин и микрософский компилятор это пропускает !
castaway
Эксперт С++
4842 / 2981 / 367
Регистрация: 10.11.2010
Сообщений: 11,013
Записей в блоге: 10
Завершенные тесты: 1
20.09.2012, 01:39     завершение программы #9
Вы специально над ним издеваетесь?
Цитата Сообщение от SKS-65 Посмотреть сообщение
нужно сделать чтобы вот здесь когда я ввожу x=1 y=1 и z=1 он выдовал error и завершал программу,а то он и дальше проверяет
Не слушай их, это не реально.
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
20.09.2012, 01:44     завершение программы #10
Цитата Сообщение от lazybiz Посмотреть сообщение
Не слушай их, это не реально.
ага точно
castaway
Эксперт С++
4842 / 2981 / 367
Регистрация: 10.11.2010
Сообщений: 11,013
Записей в блоге: 10
Завершенные тесты: 1
20.09.2012, 01:55     завершение программы #11
SKS-65,
C++
1
if ( (x+y+z)/3.f == 1 ) { cout << "error"; exit( 0 ); }
Но алгоритм все-равно не верный...
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
20.09.2012, 10:00     завершение программы #12
lazybiz, кто ж так числа с плавающей точкой сравнивает...
castaway
Эксперт С++
4842 / 2981 / 367
Регистрация: 10.11.2010
Сообщений: 11,013
Записей в блоге: 10
Завершенные тесты: 1
20.09.2012, 11:03     завершение программы #13
Nameless One, ТС, я лишь немного подстроился под него) ключевым моментом в моем коде был exit(0), а не сравнение
DebieCooper
 Аватар для DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 285
20.09.2012, 16:09     завершение программы #14
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if ((x+y+z)/3==x*y*z)
    cout <<"error"; /////// как нужно сделать чтобы вот здесь когда я ввожу x=1 y=1 и z=1 он выдовал error и завершал программу,а то он и дальше проверяет
 goto m1;
if ((x+y+z)/3>x*y*z)
        min=x*y*z;
else
    min=(x+y+z)/3;endl;
    if (1-(min*min)==0)
        cout<<"error";
    else
    (s=min/(1+min*min));
cout <<s;
m1:
getch();
}
Почему бы просто так не сделать?)
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
21.09.2012, 02:22     завершение программы #15
DebieCooper, а зачем использовать метки там, где без них можно прекрасно обойтись?
castaway
Эксперт С++
4842 / 2981 / 367
Регистрация: 10.11.2010
Сообщений: 11,013
Записей в блоге: 10
Завершенные тесты: 1
21.09.2012, 02:34     завершение программы #16
Nameless One, а почему бы и не предложить хоть какой-то рабочий вариант там, где он нужен, и его нет?
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
21.09.2012, 03:01     завершение программы #17
lazybiz, так уже предложили, не?
-=ЮрА=-
Заблокирован
Автор FAQ
21.09.2012, 10:50     завершение программы #18
SKS-65, я бы решал так
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
#include <iostream>
using namespace std;
 
int main()
{
    double a, b, c;
    double minVal;
    cout<<"Enter 3 values a b c : ";
    cin>>a>>b>>c;
    if((a + b + c)/3 == a*b*c)
        cout<<"ERROR : (a + b + c)/3 == a*b*c"<<endl;
    else
    {
        if((a + b + c)/3 > a*b*c)
            minVal = a*b*c;
        else
            minVal = (a + b + c)/3;
        if (minVal*minVal == 1)
            cout<<"ERROR : 1 - minVal*minVal == 0"<<endl;
        else
            cout<<minVal/(1 + minVal*minVal)<<endl;
    }
    system("pause");
    return 0;
}
Миниатюры
завершение программы  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2012, 10:54     завершение программы
Еще ссылки по теме:

C++ Аварийное завершение работы программы
C++ Неожиданное завершение программы
Рекурсивная функция/аварийное завершение программы C++

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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
21.09.2012, 10:54     завершение программы #19
SKS-65, объясню что я сделал на твоём же коде
Цитата Сообщение от SKS-65 Посмотреть сообщение
if ((x+y+z)/3==x*y*z)
* * cout <<"error"; /////// как нужно сделать чтобы вот здесь когда я ввожу x=1 y=1 и z=1 он выдовал error и завершал программу,а то он и дальше проверяет
//ТУТ КОНЦЕПТУАЛЬНО НУЖЕН
else {
//и всё...


if ((x+y+z)/3>x*y*z)
* * * * min=x*y*z;
else
* * min=(x+y+z)/3;endl;
* * if (1-(min*min)==0)
* * * * cout<<"error";
* * else
* * (s=min/(1+min*min)); }
Yandex
Объявления
21.09.2012, 10:54     завершение программы
Ответ Создать тему
Опции темы

Текущее время: 06:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru