x-kom hosting

prosty konwerter jednostek język C

karol1109
utworzono
utworzono

Potrzebuje napisać program w języku C aby przeliczał jednoski odległości, masy, objętości, mocy i temperatury.

 

z góry dzięki za pomoc.

 

rafalluz
komentarz
komentarz

To wklej, co dotąd napisałeś i napisz, z którymi elementami masz problemy.

  • 2 tygodnie później...
karol1109
komentarz
komentarz

#include "stdio.h"
#include "stdlib.h"
#include "math.h"
#include "string"
#include <cstdlib>
#include <iostream>
using namespace std;
//przeliczniki dla masy
#define KG 1000.0
#define G 1.0
#define DAG 100.0
#define LB 453.59237
#define OZ 28.35
#define CT 0.2
#define GR 0.0648
#define TONUS 907184.74000007
#define TONUK 1016046.90000009
//przeliczniki dla odleglosci
#define M 1000
#define KM 1000000
#define DM 100
#define CM 10
#define MM 1
#define CAL 25.4
#define YD 914.4
#define MI 1609344.00000009
#define NMI 1852000.00000008
#define FT 304.8
//przeliczniki obj?to?ci
#define M3 1000000000.0
#define L 1000000.0
#define ML 1000.0
#define MM3 1.0
#define FT3 28316846.592
#define IN3 16387.064
#define YD3 764554857.984
#define GAL 3785411.784
#define BU 35239070.0
#define BO 158987000.0
//przeliczniki mocy
#define W 1.0
#define KW 1000.0
#define KGMS 9.806650
#define KCALS 4186.8
#define MKM 735.499
#define HP 745.699


void temperatura(double dana,string typ){
    double old=dana;
    if(typ=="c") dana=dana;
    if(typ=="k") dana=dana-273.15;
    if(typ=="f") dana=(5.0/9.0)*(dana-32.0);
    
    printf("Konwersja TEMPERATURY:\n%lf %s to:\n",old,typ.c_str());
    printf("=> %lf st. C\n",dana);
    printf("=> %lf K\n",dana+273.15);
    printf("=> %lf st. F\n",32+(9.0/5.0)*dana);
}

void moc(double dana,string typ){
    double old=dana;
    if(typ=="w") dana=dana*W;
    if(typ=="kw")  dana=dana*KW;
    if(typ=="kgms") dana=dana*KGMS;
    if(typ=="kcals") dana=dana*KCALS;
    if(typ=="km") dana=dana*MKM;
    if(typ=="hp") dana=dana*HP;

    
    printf("Konwersja MOCY:\n%lf %s to:\n",old,typ.c_str());
    printf("=> %lf W\n",dana/W);
    printf("=> %lf kW\n",dana/KW);
    printf("=> %lf kG*m/s\n",dana/KGMS);
    printf("=> %lf kcal/s\n",dana/KCALS);
    printf("=> %lf KM\n",dana/MKM);
    printf("=> %lf hp\n",dana/HP);
}

void objetosc(double dana,string typ){
    double old=dana;
    if(typ=="m3") dana=dana*M3;
    if(typ=="l")  dana=dana*L;
    if(typ=="ml") dana=dana*ML;
    if(typ=="mm3") dana=dana*MM3;
    if(typ=="ft3") dana=dana*FT3;
    if(typ=="in3") dana=dana*IN3;
    if(typ=="yd3") dana=dana*YD3;
    if(typ=="gal") dana=dana*GAL;
    if(typ=="bu") dana=dana*BU;
    if(typ=="bo") dana=dana*BO;
    
    printf("Konwersja OBJETOSCI:\n%lf %s to:\n",old,typ.c_str());
    printf("=> %lf m^3\n",dana/M3);
    printf("=> %lf l\n",dana/L);
    printf("=> %lf ml\n",dana/ML);
    printf("=> %lf mm^3\n",dana/MM3);
    printf("=> %lf ft^3\n",dana/FT3);
    printf("=> %lf in^3\n",dana/IN3);
    printf("=> %lf yd^3\n",dana/YD3);
    printf("=> %lf gal\n",dana/GAL);
    printf("=> %lf bu\n",dana/BU);
    printf("=> %lf bo\n",dana/BO);
}
void masa(double dana,string typ){
    double old=dana;
    if(typ=="kg") dana=dana*KG;
    if(typ=="g")  dana=dana*G;
    if(typ=="dag") dana=dana*DAG;
    if(typ=="lb") dana=dana*LB;
    if(typ=="oz") dana=dana*OZ;
    if(typ=="ct") dana=dana*CT;
    if(typ=="gr") dana=dana*GR;
    if(typ=="tonUS") dana=dana*TONUS;
    if(typ=="tonUK") dana=dana*TONUK;
    
    printf("Konwersja MASY:\n%lf %s to:\n",old,typ.c_str());
    printf("=> %lf kg\n",dana/KG);
    printf("=> %lf g\n",dana/G);
    printf("=> %lf dag\n",dana/DAG);
    printf("=> %lf lb\n",dana/LB);
    printf("=> %lf oz\n",dana/OZ);
    printf("=> %lf ct\n",dana/CT);
    printf("=> %lf gr\n",dana/GR);
    printf("=> %lf tonUS\n",dana/TONUS);
    printf("=> %lf tonUK\n",dana/TONUK);
}

void odleglosc(double dana,string typ){
    double old=dana;
    if(typ=="m")  dana=dana*M;
    if(typ=="km") dana=dana*KM;
    if(typ=="dm") dana=dana*DM;
    if(typ=="cm") dana=dana*CM;
    if(typ=="mm") dana=dana*MM;
    if(typ=="\"") dana=dana*CAL;
    if(typ=="yd") dana=dana*YD;
    if(typ=="ft") dana=dana*FT;
    if(typ=="mi") dana=dana*MI;
    if(typ=="nmi") dana=dana*NMI;
    
    printf("Konwersja ODLEGLOSCI:\n%lf %s to:\n",old,typ.c_str());
    printf("=> %lf m\n",dana/M);
    printf("=> %lf km\n",dana/KM);
    printf("=> %lf dm\n",dana/DM);
    printf("=> %lf cm\n",dana/CM);
    printf("=> %lf mm\n",dana/MM);
    printf("=> %lf \"\n",dana/CAL);
    printf("=> %lf yd\n",dana/YD);
    printf("=> %lf ft\n",dana/FT);
    printf("=> %lf mi\n",dana/MI);
    printf("=> %lf nmi\n",dana/NMI);
}

 

 

Lecz nie mam pojęcia jak dalej zadeklarować ;/ Moge liczyć na pomoc ?

leggo
komentarz
komentarz (edytowane)
Lecz nie mam pojęcia jak dalej zadeklarować

 

Ale co zadeklarować?

 

Masz już zestaw funkcji przeliczających jednostki (nie sprawdzałem, ale zakładam, że przeliczają poprawnie).

Teraz musisz jeszcze napisać główną funkcję programu wywołującą odpowiednie procedury, z odpowiednimi parametrami, zależnie od wyborów użytkownika.

Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!

Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.