Home
FAQ
Szukaj
Użytkownicy
Grupy
Galerie
Rejestracja
Zaloguj
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Szlomber Naplet
|
Wysłany:
Czw 18:27, 26 Lis 2009 |
|
|
Dołączył: 14 Wrz 2007
Posty: 516 Przeczytał: 0 tematów
Pomógł: 4 razy Ostrzeżeń: 0/5
|
Ktoś wrzuca kod, ktoś inny go optymalizuje o ile sie da
Na początek coś dla n00bk'ów::
Kod: | /*
made
by 0xdd3s
*/
#include <iostream>
int main()
{
using namespace std;
double mile;
double metry;
cout << "Podaj odleglosc w milach: " << endl;
cin >> mile;
metry = mile*1.852;
cout << "Odpowiada to: " << metry << " metrom." << endl;
return 0;
}
|
Pytanie pomocnicze::
Da się użyć 1 zmiennej zamiast 2?
Post został pochwalony 0 razy
Ostatnio zmieniony przez Szlomber dnia Sob 17:30, 09 Sty 2010, w całości zmieniany 2 razy |
|
 |
|
 |
charles1991 Kaban
|
Wysłany:
Sob 0:23, 28 Lis 2009 |
|
|
Dołączył: 25 Lis 2008
Posty: 7 Przeczytał: 0 tematów
Ostrzeżeń: 0/5
Skąd: się biorą dzieci?
|
Kod: | #include <iostream>
int main()
{
using namespace std;
float mile; //zmienilem typ zmiennej na float w ramach optymalizacji,
//poniewaz zmienna typu float ma wystarczający zakres.
//Usunąlem też zmienną typu double nazwaną jako metry,
//a wyrazenie przeliczajace jednostki umiescilem w instrukcji
// cout bezpośrednio.
cout << "Podaj odleglosc w milach: " <<endl>> mile;
cout << "Odpowiada to: " << mile*1.852 << " metrom." << endl;
return 0;
} |
Post został pochwalony 0 razy |
|
 |
Szlomber Naplet
|
Wysłany:
Sob 13:17, 28 Lis 2009 |
|
|
Dołączył: 14 Wrz 2007
Posty: 516 Przeczytał: 0 tematów
Pomógł: 4 razy Ostrzeżeń: 0/5
|
^
Dobra. Ciekawe tylko czy ty to kompilowałeś i testowałeś or sth. Może na linuksie idzie ale pod windowsem Dev-C++ wyrzuca takie cuś::
Kod: | 11 ->std::basic_ostream<_CharT, _Traits>::operator<< [with _CharT = char, _Traits = std::char_traits<char>](std::endl [with _CharT = char, _Traits = std::char_traits<char>]) >> mile' |
Wydaje mi się że źle zapisano pobieranie danych od usera.
Jakieś::
Nie wiem co to miało oznaczać XD.
Ja zrobiłem to inaczej::
Kod: | #include <iostream>
int main()
{
using namespace std;
double wynik;
cout << "Podaj odleglosc w milach: ";
cin >> wynik;
wynik *= 1.852;
cout << "Odpowiada to: " << wynik << " metrom.";
cin.get(); //z powodu g0wnianego zamykania konsoli
cin.get();
return 0;
} |
Post został pochwalony 0 razy
Ostatnio zmieniony przez Szlomber dnia Sob 13:44, 28 Lis 2009, w całości zmieniany 1 raz |
|
 |
Szlomber Naplet
|
Wysłany:
Nie 12:09, 13 Gru 2009 |
|
|
Dołączył: 14 Wrz 2007
Posty: 516 Przeczytał: 0 tematów
Pomógł: 4 razy Ostrzeżeń: 0/5
|
Apropo typu float. Może i zakres jest wystarczający ale przy tym typie danych trza uwarzać. Bo: traci dziad na dokładności, co można samemu spawdzić kompilując kodzik::
Kod: | #include <iostream>
int main()
{
using namespace std;
cout.setf(ios_base::fixed, ios_base::floatfield);
cout << "Dzielenie calkowitoliczbowe: 9/5 = " << 9 / 5 << endl;
cout << "Dzielenie zmiennoprzecinkowe: 9.0 /5.0 = ";
cout << 9.0 / 5.0 << endl;
cout << "Dzielenie mieszane: 9.0/5 = " << 9.0 / 5 << endl;
cout << "Stale typu double: 1E7/9.0 = ";
cout << 1E7 / 9.0 << endl;
cout << "Stale typu float: 1E7f/9.0f = ";
cout << 1E7f / 9.0f << endl;
cin.get();
cin.get();
return 0;
}
|
Należy pamiętać o tym iż: stałe zmiennoprzecinkowe z definicji są domyślnie typu double.
Post został pochwalony 0 razy |
|
 |
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
fora.pl - załóż własne forum dyskusyjne za darmo
|
|