Навигация по сайту
Календарь
«    Февраль 2007    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 

Популярные статьи





Архив новостей
Октябрь 2008 (7)
Сентябрь 2008 (17)
Август 2008 (3)
Январь 2008 (2)
Декабрь 2007 (1)
Июль 2007 (1)
Март 2007 (20)
Февраль 2007 (6)

Это интересно
Запчасти пежо: запчасти пежо 407 объявления
Игры, Контра, counter strike - Гейм Гуру
My Computer portal » Программирование » Конвертер температур




Конвертер температур Программирование
Сейчас мы напишем конвертер температур. Т. е. он будет переводить температуры из одной системы в другую (например: из шкалы Кельвина в градусы по шкале Цельсия). Для начала вспомним формулы по которым это все переводится.
Для того, что бы перевести температуру из шкалы Цельсия в температуру по шкале Кельвина, нужно добавить 273 к первоначальному значению. Для того, что бы перевести температуру из шкалы Цельсия в температуру по шкале Фаренгейта, нужно исходное значение умножить на 9 и разделить на 5, затем к результату добавить 32. Этих двух формул нам будет достаточно.
Для начала решим, что будем делать все процедурами.
Приступаем. Добавляем заголовочный файл iostream.h в программу. Для тех, кто еще не знает как это сделать, напоминаю:
#include <iostream.h>

Затем пишем тело главной функции.
#include <iostream.h>

int main(){

return(0);
}
  

В программе нам потребуется две переменные. Строка, которая будет определять, что нужно сделать и число градусов, которые нужно перевести. Строка представляет собой массив символов. Объявляется она следующим образом:
char s[100];

или, если нам нужна строка неограниченной длины:
char s[];

В нашем случае, нам нужна строка с тремя символами и переменная типа double (значит с плавающей точкой). Пишем:
#include <iostream.h>

char      eq[3];
double  a;

int main(){
  
return(0);
}

Для начала программа должна прочесть значения eq и a:
#include <iostream.h>

char      eq[3];
double  a;

int main(){
  cin>>eq[1]>>eq[2];
  cin>>a;
  
  return(0);
}

Затем, оператором switch мы делаем разбиение и проверку всех возможных значений. eq[1] – символ шкалы из которой нужно перевести (C – Цельсия, K – Кельвина, F – Фаренгейта). eq[2] – символ шкалы в которую надо перевести.
Соответственно, eq[1] и eq[2], могут принимать по 3 разных значения. Т. е. в итоге, нам нужно рассмотреть 9 случаев. Рассматриваем:

  switch (eq[1]){
    case 'C':
      switch (eq[2]){
        case 'K' :
          cout<<"Температура в К: "<<CK(a)<<'n';
          break;
        case 'F':
          cout<<"Температура в F: "<<CF(a)<<'n';
          break;
      }
      break;
    case 'K':
      switch (eq[2]){
        case 'C':
          cout<<"Температура в С: "<<KC(a)<<'n';
          break;
        case 'F':
          cout<<"Температура в F: "<<KF(a)<<'n';
          break;
      }
      break;
    case 'F':
      switch (eq[2]){
        case 'C':
          cout<<"Температура в С: "<<FC(a)<<'n';
          break;
        case 'K':
          cout<<"Температура в К: "<<FK(a)<<'n';
          break;
      }
      break;
    default :
      cout<<"Вы ввели неверные символы."<<'n';
      break;
  }

Надеюсь понятно почему именно так. (Если нет, то перечитайте еще раз и напишите в каком именно месте непонятно в комментарии.) Но, как вероятно многие заметили, я использовал 6 функций с параметрами. В функциях идет расчет значений и каждая функция возвращает уже готовое значение. Привожу код всех функций:
   double CK(double a){
  return(a+273);
}

double CF(double a){
  return((a*9)/5+32);
}

double KC(double a){
  return(a-273);
}

double FC(double a){
  return((-32*5)/5);
}

double KF(double a){
  a=KC(a);
  a=CF(a);
  return(a);
}

double FK(double a){
  a=FC(a);
  a=CK(a);
  return(a);
}

Разберем первую:

double CK(double a){
  return(a+273);
}

Тип double указывается перед именем переменной, для того, что бы программа знала, какого типа переменную, мы собираемся возвращать. В скобках (), мы указываем параметр функции, который мы будем передавать ей для расчетов. Параметры могут быть разнотипные и их может быть множество. в операторе return();, мы указываем выражение, значение которого должна принять (вернуть) функция.

Полный код программы:

#include <iostream.h>

char    eq[3];
double  a;

double CK(double a){
  return(a+273);
}

double CF(double a){
  return((a*9)/5+32);
}

double KC(double a){
  return(a-273);
}

double FC(double a){
  return((-32*5)/5);
}

double KF(double a){
  a=KC(a);
  a=CF(a);
  return(a);
}

double FK(double a){
  a=FC(a);
  a=CK(a);
  return(a);
}

int main(){
  cout<<"Для перевода из одной системы в другую, введите сперва ту, из которой нужно перевести, затем ту, в которую нужно перевести.n C - температура по шкале Цельсияn F - температура по шкале Фаренгейтаn K - температура по шкале Кельвина n Затем, после нажатия <Enter>, введите кол-во градусов, которые нужно перевести.n";
  cin>>eq[1]>>eq[2];
  cin>>a;
  switch (eq[1]){
    case 'C':
      switch (eq[2]){
        case 'K' :
          cout<<"Температура в К: "<<CK(a)<<'n';
          break;
        case 'F':
          cout<<"Температура в F: "<<CF(a)<<'n';
          break;
      }
      break;
    case 'K':
      switch (eq[2]){
        case 'C':
          cout<<"Температура в С: "<<KC(a)<<'n';
          break;
        case 'F':
          cout<<"Температура в F: "<<KF(a)<<'n';
          break;
      }
      break;
    case 'F':
      switch (eq[2]){
        case 'C':
          cout<<"Температура в С: "<<FC(a)<<'n';
          break;
        case 'K':
          cout<<"Температура в К: "<<FK(a)<<'n';
          break;
      }
      break;
    default :
      cout<<"Вы ввели неверные символы."<<'n';
      break;
  }
  return(0);
}


До новых программ. Пишите всегда те программы, которые Вам нужны на данный момент и которые Вам интересны.


Сегодня лечение зубов без боли возможно - обратитесь к нам!
 
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо зайти на сайт под своим именем.
Добавление комментария
Включите эту картинку для отображения кода безопасности



Рекламный блок
Вход на сайт
Логин
Пароль
 
Реклама
On-line
Пользователей On-Line: 1, из них вошедших: 0, гостей: 1 и поисковых роботов: 0
 
Список пользователей:
Отсутсвуют
Список роботов:
Отсутсвуют
 
 

Опрос на сайте

Да, он мне понравился
Да, сойдет
Нет, он не очень
Нет, он мне не понравился


Информация




Rambler's Top100


На сайт срочно требуются талантливые обозреватели, программисты, дизайнеры, ньюсмэйкеры, и просто люди, разбирающиеся в компьютерах и способные рассказать о своем опыте.
Главная страница | Реклама на транспорте | Регистрация | Добавить новость | Новое на сайте | Статистика Copyright © 2006. My Computer info portal All Rights Reserved