0 / 0 / 0
Регистрация: 29.10.2019
Сообщений: 7
1

Оцените код

29.10.2019, 17:42. Показов 1094. Ответов 12

Короче первый код который я забацл сам считай без помощи интернета!
Теперь пришло время его показать хоть кому-то. Если посмотреть по struct я даже сам не знал что это будет. Его я(struct) оставил просто так. Думаю если я всё просто переведу во float я бы все ещё смог бы использовать его(код).
Прошу хоть как-то оценить мой (со всем)маленький труд.
Ожидаю критики... любой)

Кстати можно ли назвать "(0 * i)" костылем или просто тефтелька в спагетти? ))

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 namespace std;
;struct Choto{
    //const float pi = 3.14;
    int num_1;
    int num_2;
};
  int main(int argc, const char * argv[]){
    Choto p;
    float i,u,o;
    cout << "Выбери действие: Выйти или начать." << "\n" << " " << "\n" << "9. Начать. " << "\n" << " " << "\n" << "0. Выйти. " << "\n" << " " << endl;
    cin >> i;
    cout << "Вы зашли в калькулятор!" << "\n" << " " << endl;
while (i){
 if (i == 9) {
 
        while(i){
        cout << "\n" << " " << "Введите первое число" <<endl;
        cin >> o;
        cout << "Введите второей число" <<endl;
        cin >> u;
        cout << "Выбибери действие:" <<  "\n" << " " << "1. +" <<  "\n" << " " << "2. -" <<  "\n" << " " << "3. *" <<  "\n" << " " << "4. /" << "\n" << endl;
        cin >> i;
    //p.pi;
    p.num_1 = o;
    p.num_2 = u;
    if(i){
        if(i == 1){
            float i = (0 * i) + p.num_1 + p.num_2; // p.pi;
                cout << i << "\n" << " " << endl;
}
        if(i == 2){
            float i = (0 * i) + p.num_1 - p.num_2; // p.pi;
                cout << i << "\n" << " " << endl;
}
        if(i == 3){
            float i = (0 * i) + p.num_1 * p.num_2; // p.pi;
                cout << i << "\n" << " " << endl;
}
        if(i == 4){
            float i = (0 * i) + p.num_1 / p.num_2; // p.pi;
                cout << i << "\n" << " " << endl;
        }
    else
        if(i > 4)
            cout << "Нет такого действия!!!" << endl;
    }
    cout << "Вы хотите продлжить? " << "\n" << "9.да " << "\n" << "" << "\n" << "0.нет " << "\n" << "" << endl;
    cin >> i;
    if(i == 9){
        continue;
    }
    if(i == 0){
        break;
 
        }
    }
}
}
    return 0;
}

СПАСИБО))))
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.10.2019, 17:42
Ответы с готовыми решениями:

Оцените от 1 до 10 код
Всем привет!Меня зовут Макс.Мне 14 лет и я хотел бы получить вашу оценку о коде который написал 2...

Оцените код)
Здравствуйте уважаемые программисты. Интересно ваше мнение по поводу моего кода. Вот пример: ...

Оцените код CPP
Задание: Задана квадратная матрица. Поменять местами строку с максимальным элементом на главной...

Оцените , пожалуйста, мой код
Просто написал небольшую программу, прошу оценить, есть ли в ней какие либо критические...

12
6574 / 4559 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
29.10.2019, 18:20 2
Цитата Сообщение от EvilViking Посмотреть сообщение
Кстати можно ли назвать "(0 * i)" костылем или просто тефтелька в спагетти? ))
Зачем это у тебя?
0
фрилансер
4470 / 3973 / 868
Регистрация: 11.10.2019
Сообщений: 10,483
29.10.2019, 18:29 3
EvilViking, начни с человеческого форматирования кода ))
Инициализацию переменных тоже обязательно делать
0
Вездепух
Эксперт CЭксперт С++
10427 / 5697 / 1552
Регистрация: 18.10.2014
Сообщений: 14,055
29.10.2019, 18:37 4
Форматировать код вас не учили?

Цитата Сообщение от EvilViking Посмотреть сообщение
C++
1
;struct Choto{
Что здесь делает эта ;?

Цитата Сообщение от EvilViking Посмотреть сообщение
C++
1
2
Choto p;
float i,u,o;
Почему вдруг объявления почти всех переменных вынесены в начало функции?

Цитата Сообщение от EvilViking Посмотреть сообщение
C++
1
float i =
Почему в программе использован тип float, когда все вычисления целочисленны?

Также: повторное объявление переменной с уже "занятым" именем - плохая идея. Вы уже объявляли переменную i выше.

Цитата Сообщение от EvilViking Посмотреть сообщение
C++
1
2
3
4
5
  while (i) {
    if (i == 9) {
      ...
    }
  }
Для любого ненулевого i, кроме 9 это - бесконечный цикл. Что, если пользователь введет 5?

И использование для таких целей переменной типа float - плохая идея.
0
фрилансер
4470 / 3973 / 868
Регистрация: 11.10.2019
Сообщений: 10,483
29.10.2019, 18:37 5
вот тоже интересный случай
C++
1
    float i = (0 * i) + p.num_1 + p.num_2; // p.pi;
0
Диссидент
Эксперт C
27200 / 16954 / 3748
Регистрация: 24.12.2010
Сообщений: 38,140
29.10.2019, 18:42 6
Цитата Сообщение от EvilViking Посмотреть сообщение
можно ли назвать "(0 * i)" костылем или просто тефтелька в спагетти?
Это можно назвать нелепостью, если не бредом.
Тем не менее, желаю вам удачи на выбранном трудном пути!
0
Модератор
Эксперт CЭксперт С++
5107 / 4538 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
29.10.2019, 18:55 7
EvilViking, чуток причесал Ваш код:
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
#include <iostream>
using namespace std;
struct Choto {
    //const float pi = 3.14;
    float num_1;
    float num_2;
};
int main(int argc, const char * argv[]) {
    Choto p;
    int i = 1;
    while (i) {
        cout << "Выбери действие: Выйти или начать." << endl << "9. Начать. " << endl << "0. Выйти. " << endl;
        cin >> i;
 
        if (i == 9) {
            cout << "Вы зашли в калькулятор!" << endl;
            while (i) {
                cout << "Введите первое число: ";
                cin >> p.num_1;
                cout << "Введите второе число: ";
                cin >> p.num_2;
                cout << "Выбери действие:" << endl << " " << "1. +" << endl << " " << "2. -" << endl << " " << "3. *" << endl << " " << "4. /" << endl;
                cin >> i;
                //p.pi;
                switch (i)
                {
                    case 1:
                        cout << p.num_1 + p.num_2 << endl;
                        break;
                    case 2:
                        cout << p.num_1 - p.num_2 << endl;
                        break;
                    case 3:
                        cout << p.num_1 * p.num_2 << endl;
                        break;
                    case 4:
                        cout << p.num_1 / p.num_2 << endl;
                        break;
                    default:
                        cout << "Нет такого действия!!!" << endl;
                }
                cout << "Вы хотите продолжить? " << endl << "9.да " << endl << "" << "0.нет " << endl;
                cin >> i;
            }
        }
    }
    return 0;
}
0
0 / 0 / 0
Регистрация: 29.10.2019
Сообщений: 7
29.10.2019, 19:52  [ТС] 8
oleg-m1973, Я сделал чтобы 9 не шла в решение) Просто не знал как решить это. Сейчас я вроде поверхностно понял как работает switch-case теперь я убрал этот кусок))

Добавлено через 3 минуты
liv, спасибо! Я сегодня как раз поверхностно понял как работает switch-case теперь я убрал этот кусок))

Добавлено через 22 минуты
TheCalligrapher, Ну по порядку.

1) да меня никто не учил. Но также я указал что могу и убрать struct или вы про ; перед struct? Просто все работает и я не хотел пока править! Хотел продумать чуть позже... например через вечность или сейчас.
2)Это грязь из-за того что я тыкался и пытался решить проблему почему код не хочет нормально компилироваться
3.1) Не очень понял?)
3.2)Это забывчивость А ещё потому что я дурак!) На самом деле до того как кинуть сюда код я за чем-то поменял float на int в struct.(
4)Это да!) Я уже поменял if-ы на switch-case.
5)Спасибо за совет)) Но можно кратко почему? Буду ещё больше благодарен)

Спс))

Добавлено через 5 минут
Алексей1153, Я уже ответил на похожий вопрос.)) Я надеюсь вы не будете против если повторю?Хорошо?)
"Я сделал чтобы 9 не шла в решение) Просто не знал как решить это. Сейчас я вроде поверхностно понял как работает switch-case теперь я убрал этот кусок))
"

Добавлено через 2 минуты
Алексей1153
Если бы я был человеком?! Шучу я али... Так не туда) Я просто не знаю что такое "человеческого форматирования кода", и вот момент "Инициализацию переменных тоже обязательно делать" объясните пожалуйста.))
0
Модератор
Эксперт CЭксперт С++
5107 / 4538 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
29.10.2019, 19:55 9
Цитата Сообщение от EvilViking Посмотреть сообщение
Но можно кратко почему?
Это об этом?
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
И использование для таких целей переменной типа float - плохая идея.
Ну так, вещественные числа - неточные! Сравнивать их на равенство чему-либо - неблагодарное дело!
Цитата Сообщение от EvilViking Посмотреть сообщение
что такое "человеческого форматирования кода"
Чтобы у человека-читателя кода не было вопросов что и до чего относится, чтобы все было аккуратно выровнено, с уступами, где требуется.
0
0 / 0 / 0
Регистрация: 29.10.2019
Сообщений: 7
29.10.2019, 20:11  [ТС] 10
liv, "Сравнивать их на равенство чему-либо - неблагодарное дело!", Ну по большей части я это сделал как эксперимент) Я не желал становиться "неприкасаемым")
0
Модератор
Эксперт CЭксперт С++
5107 / 4538 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
29.10.2019, 20:15 11
EvilViking, да ради Бога, эксперементируйте, но запомните, что сравнивать числа с плавающей точкой на равенство - очень плохо. Это потенциальный источник возможных ошибок, т.к. в нужный момент можно не получить точного равенства.
0
фрилансер
4470 / 3973 / 868
Регистрация: 11.10.2019
Сообщений: 10,483
29.10.2019, 20:24 12
Цитата Сообщение от EvilViking Посмотреть сообщение
и вот момент "Инициализацию переменных тоже обязательно делать" объясните пожалуйста
да запросто. При объявлении любой переменной или при вписывании поля в классе первым делом производи инициализацию. Это должно быть как безусловный рефлекс. Поле или переменная без инициализации в общем случае содержит мусор, что влечёт за собой разные баги

C++
1
2
3
4
5
struct Choto
{
    int num_1{0};
    int num_2{0};
};
0
0 / 0 / 0
Регистрация: 29.10.2019
Сообщений: 7
30.10.2019, 15:44  [ТС] 13
C++
1
float
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.10.2019, 15:44
Помогаю со студенческими работами здесь

Оцените код сортировки массива
//-------------------------------------------------- //1.Динам. одномерный массив Х заполнить...

Оцените пожалуйста код. Имитация кассового аппарата
#include&lt;iostream&gt; #include&lt;windows.h&gt; using namespace std; int main() { double d1 = 0,...

Многомерный массив значений, размерность которого возрастает. Оцените код
Всем привет! 8-) У меня возникла задача, и я решил сначала придумать свой вариант ее решения, и уже...

Оцените код нахождения числа уникальных элементов строк матрицы
Суть задания: дана непрямоугольная матрица(в каждой строке разное кол-во элементов). Необходимо...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru