Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Лабораторные работы ( проверка написания кода ) (http://forum.oszone.net/showthread.php?t=250261)

xasn0w 29-12-2012 21:08 2055911

Лабораторные работы ( проверка написания кода )
 
del

Drongo 29-12-2012 23:14 2055994

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


В Лабораторка 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;
}



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

nomad____1 06-05-2015 21:33 2504581

Я бы посоветовал запускать в 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 (площадь прямоугольного треугольника)

lxa85 06-05-2015 21:47 2504582

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


Время: 19:50.

Время: 19:50.
© OSzone.net 2001-