Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Лабораторные работы ( проверка написания кода )

Ответить
Настройки темы
C/C++ - Лабораторные работы ( проверка написания кода )

Новый участник


Сообщения: 20
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: xasn0w
Дата: 28-02-2018
del

Отправлено: 21:08, 29-12-2012

 

Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Проверил первые четыре и в конце пару.


В Лабораторка 1.9 я бы вместо #include <cmath> написал #include <math.h>. Хотя там ещё нет проверки того что введённое число должно быть больше или равно 1000 и меньше или равно 9999 иначе считает не правильно.

В целом ошибок не увидел, если не считать того что пользователь будет вводить заведомо неверные значения, например, ноль.

Лабораторка 2.8 Условие малец невнятное, если я введу что мне 33 и это будет больше 10 и меньше 20 то иначе 33 % 10 = 3 ??? Вообще не понятно как идёт у вас множественная выборка.

Код: Выделить весь код
int main()
{
    int a,b;
    cout << "Сколько вам лет? \n";
    cin >> a;
    if (a > 10 && a < 20) cout << "Вам " << a << " лет.\n";
    else switch (a%10)
    {
        case 1: cout << "Вам " << a << " год.\n";break;
        case 2:
        case 3:
        case 4: cout << "Вам " << a << " года.\n";break;
        default: cout << "Вам " << a << " лет.\n";break;
    }
    cin>>a;
    return 0;
}

Не вижу смысла в переприсваивании.
Код: Выделить весь код
Лабораторка 2.6

#include <iostream>
using namespace std;

int main()
{
    float a,b,c;
    cin >> a >> b >> c;
    (a > 0) ? a*=a : a = a;
    (b > 0) ? b*=b : b = b;
    (c > 0) ? c*=c : c = c;
    cout << a << " " << b << " " << c << endl;
    return 0;
}


Больше не вижу смысла просматривать. Если вы автор этих решений, нужна конкретика, что не так, где ошибки. Ошибке при компиляции программы или логика вычислений. Проверять каждое не охота.

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Последний раз редактировалось Drongo, 31-12-2012 в 02:13. Причина: моя ошибка...

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:14, 29-12-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для nomad____1

Пользователь


Сообщения: 79
Благодарности: 1

Профиль | Отправить PM | Цитировать


Я бы посоветовал запускать в IDE Микрософт визуал си и смотреть что получается на выходе. Притом проверить всевозможные условия. Посмотрел только первое задание. Что будет если я вместо р введу какой то символ или ноль или например отрицательное число. И советовал бы писать комментарии.

Давно не писал на си. Писал в блокноте, но думаю что написал без ошибок)
Код: Выделить весь код
Лабораторка 1.1

#include <iostream> \\подключение библиотек
using namespace std; \\использование стандартных наборов команд
void main()
{    
   setlocale(LC_ALL, "Russian"); \\ подключение русского языка 
   float r,p,s,pi=3.14; \\инициализация переменных
   cout<<"Даная программа вычисляет длину круга и площадь по радиусу.\nВведите радиус круга r=";
   cin >> r;             \\ввод радиуса с клавиатуры
   if (r<=0)
       {
           cout<<"Введенный радиус не может быть равным нулю или отрицательным числом"; \\если радиус имеет недопустимое значение
           break;
         }else{
                   p = 2*pi*r; \\ вычисление длинны круга
                   s = pi*r*r;  \\вычисление площади круга
                    cout <<"\nДлинна круга с радиусом "<<r<<" ед. равна "<< p <<"ед. А площадь равна "<< s; \\вывод значение на экран
                  }	
}
P.S. Притом при изучении ООП (хоть имельаь ввиду ява но думаю справедливо и для остальных языков) желательно использовать переменные которые максимально отображают суть данных : perimetr, square, radius. А если одного нехватает то два желательно максимум три слова squareTriangle (площадь треугольника) или squareRightTriangle (площадь прямоугольного треугольника)

-------
________________________________________________________
Ты - то что ты ешь. Ешь людей - будь человеком


Последний раз редактировалось nomad____1, 06-05-2015 в 21:44.


Отправлено: 21:33, 06-05-2015 | #3


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


nomad____1, это называется некропостинг. Тема с лабами была создана аж в 2012 году. С начала темы прошло чуть менее 2,5 лет.
Я сомневаюсь, что эти лабы, равно и ваш ответ, сейчас актуальны.

Отправлено: 21:47, 06-05-2015 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Лабораторные работы ( проверка написания кода )

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Для работы и игр sada Выбор отдельных компонентов компьютера и конфигурации в целом 3 06-12-2012 22:55
[решено] Полная остановка работы ПК после загрузки ОС. Отказ совм.работы 2-х модулей памяти. Sticher78 Непонятные проблемы с Железом 4 22-12-2011 13:22
2008 - Ускорение работы 1с 8.2 HellFire_MZ Windows Server 2008/2008 R2 8 01-09-2011 19:40
Доступ - [решено] Прекращение работы хост процесса (Прекращение работы хост процесса (Rundll32)) decoy! Microsoft Windows Vista 2 24-04-2010 19:51
КПК для работы R.O.O.T Мобильные ОС, смартфоны и планшеты 5 15-03-2008 10:34




 
Переход