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

Совершенствование кода - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать программы которые бы выполняли такие функции http://www.cyberforum.ru/cpp-beginners/thread444428.html
для определения времени и даты создания файла, имя которого задает пользователь. для выполнения задержки в n секунд, используя прерывание 1Ah.
C++ Найти среди 10-ти русских существительных отглагольные (хождение) и вывести их 1)Найти среди 10-ти русских существительных отглагольные(хождение) и вывести их. 2)Определить, является ли в простом предложении cold прилагательным или существительным и перевести его на русский язык. http://www.cyberforum.ru/cpp-beginners/thread444424.html
C++ Работа с файлами
Нужно создать программу которая записывает в файл,вводимый текст. Далее выводится меню выбора. 1.Просто вывети тект из файла; 2.Вывети опредленную строку из файла. Помогите реализовать.. Вначале ошибка,не могу понять почему не записывает... #include <iostream.h> #include <fstream.h> #include <cstdlib>
C++ Преобразование и построение матриц
Дана действительная матрица
C++ Даны целые числа р и q. Получить все делители числа q, взаимно простые с р http://www.cyberforum.ru/cpp-beginners/thread444400.html
Получить все делители числа q, взаимно простые с р.
C++ Даны натуральные числа п, р, целые числа A1 ..., An,. Получить произведение членов последовательности A1, ..., An, кратных р подробнее

Показать сообщение отдельно
Raikerian
9 / 9 / 1
Регистрация: 10.05.2011
Сообщений: 101
11.02.2012, 15:11     Совершенствование кода
Всем доброго времени суток На C++ я новичок, но эта тема создана не для проверки математического решения задач в моих кодах и не для решения этих же задач. Здесь я хочу спросить как правильнее оформить код чтобы он выглядел более совершенным (красивым). Все таки если учиться писать программы используя C++ то учиться писать их красиво нужно с самого начала (как я считаю).

Сама задача была по площади квадрата найти остальные значения:
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
// 1-1.cpp: По площади квадрата найти необходимые значения
//
#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;
int main()
{
        // Русский язык
    setlocale(LC_ALL, "");
    cout << "Введите площадь квадрата: S = ";
    double S;
    cin >> S;
    // a - сторона, d - диагональ, S1 - площадь описанного около квадрата круга
    double a = sqrt(S), d = sqrt(2*S), S1 = 3.14*0.5*a*a;
    // Округление всех чисел до двух знаков после запятой (если требуется)
    a = int(a * 100) / 100.0;
    d = int(d * 100) / 100.0;
    S1 = int(S1 * 100) / 100.0;
    // Вывод данных на экран
    cout << "\nОтветы:" << "\na = " << a << "\nd = " << d << "\nS1 = " << S1 << "\n";
    getch();
    return 0;
}
Собственно вопросы по коду:
1.
C++
1
float a = sqrt(S), d = sqrt(2*S), S1 = 3.14*0.5*a*a;
Адекватно ли сразу при объявлении переменных присваивать им формулы для рассчетов? Или всеже стоит просто объявить переменные, а ниже построчно уже присваивать формулы/значения?

2.
C++
1
2
3
a = int(a * 100) / 100.0;
d = int(d * 100) / 100.0;
S1 = int(S1 * 100) / 100.0;
Стоит ли для этой части округления создавать отдельную функцию/процедуру?

3.
C++
1
cout << "\nОтветы:" << "\na = " << a << "\nd = " << d << "\nS1 = " << S1 << "\n";
Так правильно или вывод каждой переменной стоит оформить cout'ом отдельными строками?

4. Насколько знаю тип float занимает меньше объема памяти чем double, не экономней ли его было использовать здесь?

5. Пожалуй технический вопрос. cin.get() не хочет задерживать экран после выполнения программы, поэтому приходиться использовать getch() подключая отдельную библиотеку. Быть может есть варианты почему cin.get() не работает?

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