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

Ошибки в программе - C++

Восстановить пароль Регистрация
 
MK_9
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 11
12.12.2011, 06:16     Ошибки в программе #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
25
26
27
28
29
30
31
32
33
34
35
 // laba3.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"// указывает на подключение к проекту файла “stdafx.h”
#include "iostream"//“iostream”-файл, содержащий описание эл-ов станд. библ-ки
#include "conio.h"//“conio.h”-файл,нужен для работы с консольным приложением getch()
using namespace std;
 
int _tmain()// функция с именем tmain
{float x, b, a, c, Y,z; // объявление переменных
char flag = 'y'; // объявление переменных
do {cout << "Please enter x, b, a, z, c";// начало цикла do while, приглашение к выводу  
cin >> x >> b >> a >> c >> z; // ввод x,b,a,c
if ( min(a, b, c) / (a==0) ==0 || min(a, b, c) / (z==0) ==0) cout << "Znamenatel raven nulu!" << endl<< "----------------------------------\n" ;// проверка одного из знаменателей на равенство нулю, если условие выполняется то выводиться сообщение "Znamenatel raven nulu!"
else{
if ((a*z) > 5) Y = min(a,b,c)+max(a,b) ;//вычисление 1 значения ф-ии
else if ((a*z) < 5) Y = min(a,b,c)/ a; //вычисление 2 значения ф-ии
else ((a*z)==5) Y = min(a,b,c)/ z; //вычисление 3 значения ф-ии
cout << "You enter: x = " << x << "; b = " << b << "; a = " << a << "; c = " << c << ";" << z << ";" << endl;//вывод исходных данных
if((int(a) || int(b) && int(b) || int(c)) == 0) //проверка на равенство нулю целых значений a и b или b и с
{   
    cout << " Y = " << int(Y) << endl;// вывод значения F в целочисленном типе если предыдущее условие выполняется
    cout << "Continue\? Y/N" << endl;//вывод предложения продолжить
}
else {cout << " Y = " << double(Y) << endl;// вывод значения F в действительном типе если предыдущее условие невыполняется
 
    cout << "Continue\? Y/N" << endl; //вывод предложения продолжить
}
cin >> flag;//ввод нового значения flag
}
}
while ( flag == 'y');//проверка продолжения цикла
_getch();   
return 0;
}
Как исправить ошибки?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2011, 06:16     Ошибки в программе
Посмотрите здесь:

Ошибки в программе C++
C++ Ошибки в программе
C++ Ошибки в программе
Ошибки в программе С++ C++
Ошибки в программе C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
12.12.2011, 07:31     Ошибки в программе #2
Цитата Сообщение от MK_9 Посмотреть сообщение
Как исправить ошибки?
Вариант первый. (он же правильный)
1. Напишите условие задаи.
2. Определите проблему
3. Нарисуйте организационную диограмму следуя минимальной необходимой логике программы.
4. Напишите общий псевдокод.
5. Напишите программу на нужном вам языке программирования на основе пунктов 3 и 4.
6. Протестируйте программу.

Вариант второй. (он же не очень правильный)
1. напигишите условие задачи в этой теме.
2. подождите пока кто-нибудь решит.

Я это написал потому что вижу что вы хотите что-то сделать сами. Так вот если будете следовать первому варианту то у вас будет гораздо меньше ошбок и ваш код будет чище и понятнее. И самое главное тем кто захотят вам помочь исправить ошибки будет проще понять вашу программу.

p.s. это что-то ну очень страшное
C++
1
if ( min(a, b, c) / (a==0) ==0 || min(a, b, c) / (z==0) ==0)
и это
C++
1
if((int(a) || int(b) && int(b) || int(c)) == 0)
и это
C++
1
else ((a*z)==5)
....
MK_9
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 11
12.12.2011, 07:34  [ТС]     Ошибки в программе #3
Вот задание:
Организовать вычисления в диалоге по схеме:
1. Вывод приглашения к диалогу.
2. Ввод исходных данных.
3. Расчет и вывод результатов с проверкой деления на 0.
4. Запрос на повторение результатов. Если не повторять, то конец работы: если повторять, то переход к п.1.

Вычислить
{-это общая скобка
y={min(a,b,c)+max(a,b), az>5
min(a,b,c)/a,az<5
min(a,b,c)/z,az=5


Переменная Y должна принимать действительное значение, если выражение (Ац Или Вц) И (Вц Или Сц) не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозначе¬ны целые части значений a, b, c. Значения a, b, c, z ввести с клавиатуры.
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
12.12.2011, 07:46     Ошибки в программе #4
Цитата Сообщение от MK_9 Посмотреть сообщение
Вычислить
{-это общая скобка
y={min(a,b,c)+max(a,b), az>5
min(a,b,c)/a,az<5
min(a,b,c)/z,az=5
Вы можете это расшифровать, пожалуйста?
MK_9
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 11
12.12.2011, 07:54  [ТС]     Ошибки в программе #5
Цитата Сообщение от greeezz Посмотреть сообщение
Вы можете это расшифровать, пожалуйста?
Вот...
Миниатюры
Ошибки в программе  
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
12.12.2011, 08:21     Ошибки в программе #6
сделал все кроме
Переменная Y должна принимать действительное значение, если выражение (Ац Или Вц) И (Вц Или Сц) не равно нулю, и целое значение в противном случае.
Это условие (Ац Или Вц) И (Вц Или Сц) мне кажется нелогичным.

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
#include <iostream>
using std::cout;
using std::endl;
using std::cin;
 
float min(float a, float b, float c) {
    if (a < b) {
        if (a < c) {
            return a;
        }
    } else if (b < c) {
        return b;
    }
    return c;
}
float max(float a, float b) {
    return a > b ? a : b;
}
 
int main() {
 
    float a, b, c, z, y;
    int userChoice;
    bool exit = false;
 
    while (!exit) {
        cout << "Please enter a ::\n>";
        cin >> a;
        cout << "Please enter b ::\n>";
        cin >> b;
        cout << "Please enter c ::\n>";
        cin >> c;
        cout << "Please enter z ::\n>";
        cin >> z;
        if (a == 0 || z == 0) {
            cout << "Values a and z can not be 0\n1 :: Try again 2:: Exit";
            cin >> userChoice;
            if (userChoice == 2) {
                exit = true;
            }
        } else {
            if ((a * z) > 5) {
                y = (min(a, b, c) + max(a, b));
            } else if ((a * z) < 5) {
                y = (min(a, b, c) / a);
            } else if ((a * z) == 5) {
                y = (min(a, b, c) / z);
            }
            cout << "Y = " << y << endl;
            cout << "1 :: Exit\n2 :: Try again\n>";
            cin >> userChoice;
            if (userChoice == 1) {
                exit = true;
            }
            cin.clear();
            cin.ignore(1000, '\n');
                        cin.get();
        }
    }
    return 0;
}
если вы в вижуал студио проект собираете то добавьте в самое начало :
C++
1
#include "stdafx.h"
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2011, 08:51     Ошибки в программе
Еще ссылки по теме:

Ошибки в программе C++
C++ Ошибки в программе
C++ Ошибки в программе

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

Или воспользуйтесь поиском по форуму:
MK_9
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 11
12.12.2011, 08:51  [ТС]     Ошибки в программе #7
Цитата Сообщение от greeezz Посмотреть сообщение
сделал все кроме

Это условие (Ац Или Вц) И (Вц Или Сц) мне кажется нелогичным.

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
#include <iostream>
using std::cout;
using std::endl;
using std::cin;
 
float min(float a, float b, float c) {
    if (a < b) {
        if (a < c) {
            return a;
        }
    } else if (b < c) {
        return b;
    }
    return c;
}
float max(float a, float b) {
    return a > b ? a : b;
}
 
int main() {
 
    float a, b, c, z, y;
    int userChoice;
    bool exit = false;
 
    while (!exit) {
        cout << "Please enter a ::\n>";
        cin >> a;
        cout << "Please enter b ::\n>";
        cin >> b;
        cout << "Please enter c ::\n>";
        cin >> c;
        cout << "Please enter z ::\n>";
        cin >> z;
        if (a == 0 || z == 0) {
            cout << "Values a and z can not be 0\n1 :: Try again 2:: Exit";
            cin >> userChoice;
            if (userChoice == 2) {
                exit = true;
            }
        } else {
            if ((a * z) > 5) {
                y = (min(a, b, c) + max(a, b));
            } else if ((a * z) < 5) {
                y = (min(a, b, c) / a);
            } else if ((a * z) == 5) {
                y = (min(a, b, c) / z);
            }
            cout << "Y = " << y << endl;
            cout << "1 :: Exit\n2 :: Try again\n>";
            cin >> userChoice;
            if (userChoice == 1) {
                exit = true;
            }
            cin.clear();
            cin.ignore(1000, '\n');
                        cin.get();
        }
    }
    return 0;
}
если вы в вижуал студио проект собираете то добавьте в самое начало :
C++
1
#include "stdafx.h"
Большое спасибо) теперь понял)
Yandex
Объявления
12.12.2011, 08:51     Ошибки в программе
Ответ Создать тему
Опции темы

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