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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Delvox
7 / 7 / 1
Регистрация: 09.03.2013
Сообщений: 54
#1

Упрощение кода программы - C++

12.05.2013, 14:28. Просмотров 430. Ответов 9
Метки нет (Все метки)

Здравствуйте уважаемые форумчане!
Решил начать изучать язык Си++, начал с простого также как и при изучении языка Pascal.
Дана следующая задача:

Задача:

Составить программу, нахождения площади пола прямоугольной комнаты по длине и ширине.
1. Постановка задачи
Дано: длина и ширина прямоугольной комнаты
Найти: площадь комнаты

2. Математическая модель
Введём переменные
dl – длина комнаты
sh – ширина комнаты
S – площадь комнаты
S=dl*sh

Программу составил исходя из тех знаний которые у меня имеются + кое-что нашел в интернете.
Вопрос в следующем: Логично ли составлен код программы?, т.е. как его можно упростить и прийти к минимальному виду кода? Заранее спасибо

Код компилируется без ошибок

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h> //Подключаемые библиотеки
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(0, ""); //Для того чтобы в консоле тектс был русский 
 
    int dl, sh, s; //Обьявление переменных
 
    cout<<"Введите длину: "; //Вывод сообщения
      scanf("%d", &dl);      //Считывание числа с клавиатуры в переменную dl
 
    cout<<"Введите ширину: "; 
      scanf("%d", &sh);
 
    s = dl * sh; //Нахождение самой площади посредством умножение длины на ширину
    cout<< s; //Вывод полученного результата в консоль
 
cin.get(); // Для того чтобы консоль сразу после вывода результата не закрылась
cin.get();
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2013, 14:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Упрощение кода программы (C++):

Упрощение кода - C++
void Polynomials::print(){ // Вывод полинома int i; int k; // признак того, что очередной коэффициент равен 1 int...

Упрощение кода - C++
Хочу написать многофункциональную консольную программу. Код получится громоздкий и запутанный. C++ позволяет как-нибудь обозначать...

Упрощение кода - C++
Всем привет. Есть такой код: enum FTYPE { FALSE, TRUE, DEFAULT }; FTYPE f(); bool n() { while( g() )

Упрощение кода - C++
Можно ли как нибудь сократить или упростить код? cin&gt;&gt;answer; if ((answer!=&quot;y&quot;) &amp;&amp; (answer!=&quot;n&quot;)) { while ((answer!=&quot;y&quot;)...

Упрощение программного кода - C++
Всем здравствуйте а можно ли упростить вот этот код: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;locale&gt; #include &lt;stdlib.h&gt; ...

Упрощение кода очереди - C++
Доброго времен суток! Дан код, нужно его упростить или же немного переделать. Сам в этом мало что понимаю. Помогите, пожалуйста, буду...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
HighPredator
5542 / 1848 / 345
Регистрация: 10.12.2010
Сообщений: 5,455
Записей в блоге: 2
12.05.2013, 15:47 #2
Определитесь наконец с вводом-выводом. Используйте либо cin/cout или scanf/printf. Не нужно смешивать.
1
Delvox
7 / 7 / 1
Регистрация: 09.03.2013
Сообщений: 54
13.05.2013, 03:06  [ТС] #3
Вот переписанный код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <conio.h>
using namespace std;
 
int main()
{
setlocale(0, ""); //Для того чтобы в консоле тектс был русский
 
int dl, sh, s; //Обьявление переменных
 
cout<<"Введите длину и ширину. \n"; //Вывод сообщения
cin>> dl >> sh; //Считывание чисел с клавиатуры в переменные dl и sh
 
s = dl * sh; //Нахождение самой площади посредством умножение длины на ширину
cout<< s; //Вывод полученного результата в консоль
 
 _getch(); // Для того чтобы консоль сразу после вывода результата не закрылась
}
0
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
13.05.2013, 08:15 #4
Delvox, упрощать особо некуда, кроме как избавиться от переменной s и избыточных комментариев. Еще не помешает код отформатировать единообразно.
1
Eagle123
6 / 6 / 0
Регистрация: 03.10.2012
Сообщений: 51
13.05.2013, 08:31 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <conio.h>
using namespace std;
 
int main()
{
setlocale(0, ""); //Для того чтобы в консоле тектс был русский
 
int dl, sh; //Обьявление переменных
 
cout<<"Введите длину и ширину. \n"; //Вывод сообщения
cin>> dl >> sh; //Считывание чисел с клавиатуры в переменные dl и sh
 
 
cout<< dl * sh; //Вывод  самой площади посредством умножение длины на ширину
 
 _getch(); // Для того чтобы консоль сразу после вывода результата не закрылась
}
1
ValeryS
Модератор
6631 / 5038 / 466
Регистрация: 14.02.2011
Сообщений: 16,849
13.05.2013, 09:00 #6
Eagle123,
бесполезные комментарии
например здесь
Цитата Сообщение от Eagle123 Посмотреть сообщение
int dl, sh; //Обьявление переменных
это и так понятно
а что за переменные за что отвечают?
Цитата Сообщение от Eagle123 Посмотреть сообщение
cin>> dl >> sh; //Считывание чисел с клавиатуры в переменные dl и sh
то же самое
не лучше ли написать
вводим длину и ширину
или вообще ничего не писать
строчкой выше все объяснено
лучше писать самодокументруемый код например
C++
1
int Length, Width;
переменные своим именем уже рассказывают зачем они нужны

Добавлено через 4 минуты
Delvox,
к тебе тоже относится
и если пишешь на плюсах так и пиши по плюсовски объявляй переменные где они нужны
например
Цитата Сообщение от Delvox Посмотреть сообщение
s = dl * sh; //Нахождение самой площади посредством умножение длины на ширину
cout<< s; //Вывод полученного результата в консоль
C++
1
2
int s = dl * sh; // находим площадь прямоугольника
cout<< s; //можно не коментьть и так ясно
1
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
13.05.2013, 09:50 #7
C++
int s(int &a int b)
{
    return a*=b;
}
 
int main()
{
    int dl, sh;
 
    cout << "длина : " << endl;
    cin >> dl;
    cout << "ширина : " << endl;
    cin >> sh;
 
    cout << s(dl, sh) << endl;
 
    system("pause");
}
1
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
13.05.2013, 10:45 #8
Цитата Сообщение от programina Посмотреть сообщение
C++
1
2
3
4
int s(int &a int b) 
{ 
   return a*=b; 
}
Совершенно не нужно в данном случае использовать ссылку, да и вообще изменять аргумент.
1
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
13.05.2013, 10:52 #9
Цитата Сообщение от Tulosba Посмотреть сообщение
Совершенно не нужно в данном случае использовать ссылку, да и вообще изменять аргумент.
в данном случае можно воспользоваться калькулятором
1
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
13.05.2013, 11:07 #10
Цитата Сообщение от programina Посмотреть сообщение
в данном случае можно воспользоваться калькулятором
Лучше вообще в уме Но я Вам говорил вполне серьёзно. Передача по ссылке и изменение аргумента здесь ни к чему.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2013, 11:07
Привет! Вот еще темы с ответами:

Упрощение и оптимизация кода (MS VCPP) - C++
Доброго времени суток! Имеется простенький код (все работает) но выглядит ужасно, хотелось бы его упростить и оптимизировать просто...

Упрощение программы - C++
Можно ли как-нибудь упростить эту программу? #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; int abs_mas (double*, int); int...

Создание кода программы с нуля!! создание кода C++ - C++
ВОТ УСЛОВИЕ : Для данного вещественного x,a,b,c найти значение следующей функции f,принимающей вещественное задания: ...

Распространение кода программы - C++
Добрый вечер. Задача: Создать самораспростроняющийся код. Программа должна копировать себя в текущей папке, создавая одноименные...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.05.2013, 11:07
Ответ Создать тему
Опции темы

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