c++
adam: jest ktoś chętny pomóc mi w napisaniu programu w C++ do przeliczania km/h −> m/s, cm/s i cale
?
20 kwi 20:03
Trivial: A czego nie rozumiesz?
20 kwi 20:04
adam: nie wiem jak to napisać, bo ten mi nie działa prawidłowo #include <iostream>
#include <cstdio>
#include <math.h>
using namespace std;
int main()
{
double x;
cout << "Wpisz predkosc w km/h: ";
cin >> x;
printf("%.2f km/h to:%3.f m i %2.0f cm na sekunde lub %.3f cali/minute.\n", x, floor(x*10/36),
100*(x*10/36−floor(x*10/36)), x*100000/2.54/60);
system("pause");
return 0;
}
20 kwi 20:06
Trivial:
Masz type error w printfie. %f przyjmuje floaty, a dajesz double. Do doubli jest %lf.
Lepiej używaj po prostu cout << ... Wtedy nie da się zrobić tego błędu (za to da się inne

).
20 kwi 20:09
Trivial: Jeszcze takie pytanko, po co bierzesz podłogę z wyników? (floor)
20 kwi 20:16
adam: #include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main(){
{ double x; cout << "Wpisz predkosc w km/h: ";
cin >> x;
cout<<"%.2f km/h to:"<<%3.f m << "i" << %2.0f <<"cm na sekunde lub"<< %.3f <<"cali/minute.\n"
<< x << floor(x*10.0/36) 100*(x*10.0/36−floor(x*10.0/36)), x*100000/2.54/60);
system("pause");
return 0;
}
20 kwi 20:18
adam: na zajęciach było podane że można użyć..
a jak dalej z tym floor pozamieniać mój kod źródłowy?
20 kwi 20:19
Trivial: No nie bardzo...
20 kwi 20:19
adam: mam zaokrąglić cale do 3 miejsc po przecinku, metry mają być całkowite, a centymetry zaokrąglić
do wat. całkowitej
20 kwi 20:21
Trivial: To floor jest zupełnie niepotrzebne. Ten cout jest zupełnie źle. W ogóle sprawdzasz jak to
działa przed wysłaniem?
20 kwi 20:21
adam: pomożesz, to ważne dla mnie?
20 kwi 20:22
adam: nie sprawdziłem..
20 kwi 20:22
adam: nie wiem co w tym cout, to mój 2 program..
20 kwi 20:24
Trivial:
cout po prostu bierze coś i to wypisuje. Można utworzyć cały łańcuch wypisywania w ten sposób:
cout << "A" << 3 << "B" << endl; ← wypisze A3B
20 kwi 20:26
adam: czyli to %f jest tu zbędne i mam napisać np. x*10.0/36?
a jak to np. zaokrąglić do 3 miejsc
20 kwi 20:28
adam: mógłbyś napisać mi co w tym cout napisać?
20 kwi 20:30
Draghan: Słuchaj
Triviala, dobrze prawi

Ode mnie takie pytanie: dlaczego mieszasz strumienie z printf? Jaki był Twój cel?
I drugie pytanie: do czego Ci biblioteka matematyczna?
20 kwi 20:34
Trivial:
Tak. Przykład:
cout << "Po konwersji: " << x*10.0/36 << endl;
Do zaokrąglania służy setprecision(int) z nagłówka iomanip.
#include <iomanip>
cout << setprecision(3) << 2.23423423 << endl; ← wypisze 2.23
20 kwi 20:34
Draghan: O, ale mi się wiadomości opóźniły. Kiedy czytałem ten wątek, miał tylko 4 wiadomości O.o
20 kwi 20:34
adam: #include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main(){
double km,cal;
int m,cm; cout << "Wpisz predkosc w km/h:";
cin >> km;
m = floor(km/3.6);
cm = round((km/3.6 − m) * 100);
cal = km * 100000 / 2.54 / 60;
cout << endl << fixed << setprecision(2) << km << " km/h to " << m << " m i " << cm << " cm
na sekund lub " << fixed << setprecision(3) << cal << " cali/minute.";
}
tutaj też coś nie tak..
20 kwi 20:37
Dziadek Mróz:
[code]
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
double kmh, ms, cms, cals;
char ch;
do
{
cout << "\nWybierz opcję:\nkm/h −>\n\t1 − m/s\n\t2 − cm/s\n\t3 − cal/s\n\tQ − koniec\n";
cin >> ch;
switch (ch)
{
case '1':
{
cout << "\nPodaj prędkość w km/h: ";
cin >> kmh;
ms = (kmh * 1000) / (3600);
cout << kmh << "km/h = " << ms << "m/s\n";
break;
}
case '2':
{
cout << "\nPodaj prędkość w km/h: ";
cin >> kmh;
cms = (kmh * 100000) / (3600);
cout << kmh << "km/h = " << cms << "cm/s\n";
break;
}
case '3':
{
cout << "\nPodaj prędkość w km/h: ";
cin >> kmh;
cals = (kmh*39370.08) / (3600);
cout << kmh << "km/h = " << cals << "cal/s\n";
break;
}
case 'Q':
case 'q':
{
cout << "\nKoniec\nWciśnij klawisz aby zakończyć...";
char end;
cin >> end;
return 0;
}
default:
{
cout << "Podałeś złą opcję!\n";
break;
}
}
} while (ch != 'Q' || ch != 'q');
}
[/code]
20 kwi 20:39
Godzio:
U mnie działa normalnie. Jaki Ci błąd wyskakuje?
20 kwi 20:40
adam: to jest w formie pd i moge sobie sprawdzic i wynik mam 2/5
20 kwi 20:48
adam: w dev nie wyswietla bledu, dziala normalnie
20 kwi 20:48
Dziadek Mróz:
Visual Studio 2013 Professional
W DEV c++ zwykle pojawiają się błędy przy złej instalacji programu, może po pierwszym
uruchomieniu nie zaakceptowałeś instalacji bibliotek i dodatków?
Nauki programowania stosuj na systemach linux (Debian, Ubuntu, Mandriva, DSL, ...) bo tam
najłatwiej korzystać z funkcji zawartych w bibliotekach.
20 kwi 20:52
20 kwi 20:58
adam: #include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main(){
float km,cal;
float cm;
float m;
cout << "Wpisz predkosc w km/h:";
cin >> km;
m=floor(3.6*km)
cm = round((3.6*km − m) * 100)
cal=656,168*km
cout << endl << fixed << setprecision(2) << km << " km/h to " << m << " m i " << cm << " cm na
sekund lub " << fixed << setprecision(3) << cal << " cali/minute.";
return 0;
}
prosze jeszcze o sprawdzenie tego programu

wyskakuje 1 blad
20 kwi 21:52
adam: cm = round((3.6*km − m) * 100) tu jest błąd ale ja go nie widze
20 kwi 22:01