Pitonnov / C-lab-1

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

C-lab-1

Лабораторная работа №1 (Стандартный ввод/вывод)

Задача №1

  Написать программу, которая запрашивает у пользователя пол,
  рост и вес, а затем анализирует соотношение роста и веса, выда-
  вая рекомендации к дальнейшим действиям (похудеть, потолстеть,
  норма)

Пояснение

За основу расчета можно взять приблизительную оценку Идеальный_вес=Рост-100 - для мужчин и Идеальный_вес=Рост-110 - для женщин.

Программа должна состоять из двух функций:

  • int getRecommendation(char gender, float height, float weight) - анализ ситуации
  • main() - организация диалога

Параметр функции gender должен содержать символ 'm' для мужчин и 'w' для женщин.

Функция getRecommendation должна возвращать: - -1 - вес недостаточен - 1 - вес избыточен - 0 - вес идеален

Необходимо подготовить следующие файлы:

  • task1.h - содержит одну строку:
  int getRecommendation(char gender, float height, float weight);
  • task1.cpp - содержит реализацию функции

       int getRecommendation(char gender, float height, float weight)
       {
          // здесь реализация
       }
    
  • main1.cpp - содержит реализацию main:

       #include "task1.h"
       int main()
       {
          // здесь реализация
       }
    

Задача №2

  Написать программу, которая запрашивает текущее время в 
  формате ЧЧ:ММ:СС, а затем выводит приветствие в зависимости от
  указанного времени ("Доброе утро "Добрый день"и т.д.)

Пояснение

За границы можно принять следующие значения:

  • "ночь" - с 00:00 до 06:00
  • "утро" - с 06:00 до 11:00
  • "день" - с 11:00 до 18:00
  • "вечер" - с 18:00 до 00:00

Программа должна состоять из двух функций:

  • const char * greet(int hour,int min) - генерация приветствия и провека корректности времени
  • main() - организация диалога

Функция greet должна возврщать одну из следующих строк:

  • "Good night!"
  • "Good morning!"
  • "Good day!"
  • "Good evening!"
  • "Uncorrect time!"

Иными словами, в функции должно быть возвращение строковой константы, например

  return "Good day!";

Необходимо подготовить следующие файлы:

  • task2.h - содержит одну строку: const char * greet(int hour,int min);

  • task2.cpp - содержит реализацию функции

       const char* greet(int hour,int min)
       {
          // здесь реализация
       }
    
  • main2.cpp - содержит реализацию main:

       #include "task2.h"
       int main()
       {
          // здесь реализация
       }
    

Задача №3

   Написать программу, которая переводит значение угла из граду-
   сов в радианы, и, наоборот, в зависимости от символа при вводе.
   Например: 45.00D - означает значение в градусах, а 45.00R - в
   радианах. Ввод данных осуществляется по шаблону %f%c

Пояснение

Программа должна состоять из двух функций:

  • char * convert(char buf[], double angle, char type)
  • main() - организация диалога

Функция convert должна заполнять буфер buf строкой, содержащей значение угла в градусах или радианах, в зависимости от значений входных параметров.

Пример: convert(buf, 180.0, 'D') выдает строку: 3.14159R. Пример: convert(buf, 3.14159, 'R') выдает строку: 180.0D.

Необходимо подготовить следующие файлы:

  • task3.h - содержит заголовок функции convert.

  • task3.cpp - содержит реализацию функции convert.

       char * convert(char buf[], double angle, char type)
       {
          // здесь реализация
       }
    
  • main3.cpp - содержит реализацию main:

       #include "task3.h"
       int main()
       {
          // здесь реализация
       }
    

Задача №4

  Написать программу, которая переводит рост из американской си-
  стемы (футы, дюймы) в европейскую (сантиметры). Данные вво-
  дятся в виде двух целых чисел, выводятся в виде вещественного
  числа с точностью до 1 знака. 1 фут = 12 дюймов. 1 дюйм = 2.54
  см.

Пояснение

Программа должна состоять из двух функций:

  • float convert(int feet,int inches)
  • main() - организация диалога

Ввод данных в программу осуществляется в виде: футы'дюймы, например 5'11.

Необходимо подготовить следующие файлы:

  • task4.h - содержит заголовок функции convert.

  • task4.cpp - содержит реализацию функции convert.

       float convert(int feet,int inches)
       {
          // здесь реализация
       }
    
  • main4.cpp - содержит реализацию main:

       #include "task4.h"
       int main()
       {
          // здесь реализация
       }
    

Результатом выполнения всей лабораторной работы должен быть набор из следующих файлов:

Содержимое папки include:

  • task1.h
  • task2.h
  • task3.h
  • task4.h

Содержимое папки src:

  • task1.cpp
  • task2.cpp
  • task3.cpp
  • task4.cpp
  • main1.cpp
  • main2.cpp
  • main3.cpp
  • main4.cpp

About


Languages

Language:C++ 85.2%Language:Python 11.4%Language:CMake 1.0%Language:Shell 0.7%Language:Makefile 0.6%Language:M4 0.6%Language:C 0.4%