Logarytmy (pseudo)
Ostatnio zmodyfikowano 2012-04-18 11:12
Kameleon Temat założony przez niniejszego użytkownika |
Logarytmy (pseudo) » 2012-04-17 22:02:13 Witam oto mój program do obliczania logarytmów ( brakuje jeszcze jednej opcji ale to potem ) . Logarytm jest stworzony do liczb całkowitych. Problem polega na tym, że nie działa mi funkcja oddzielona "****" . Jakieś pomysły? #include<iostream> #include<cstdio> #include<cstdlib> #include<math.h>
using namespace std;
int main() { char d[ 100 ], e[ 100 ], f[ 100 ]; cout << " LOGARYTMY \n\n"; cout << "log"; cin >> d; system( "cls" ); cout << "log" << d << " "; cin >> e; system( "cls" ); cout << "log" << d << " " << e << "="; cin >> f; system( "cls" ); cout << "log" << d << " " << e << "=" << f; long int a = atol( d ); long int p = atol( e ); long int b = atol( f ); if( p = 'x' ) { int c = a; for( int i = 1; i < b; i++ ) { c = c * a; } cout << endl << c; system( "cls" ); cout << "log" << d << " " << c << "=" << f; } if( a = 'x' ) { int podstawa = 0; int g = 0; do { podstawa++; g++; } while( pow( podstawa, b ) != p ); cout << endl; cout << g; } cin.ignore(); getchar(); return 0; }
|
|
sna |
» 2012-04-18 01:50:28 1. po co robić nowe zmienne char i konwertować za pomocą atol do int, nie lepiej od razu zrobić zmienne int ?
2. if( a = 'x' ). To zamierzasz podstawić pod zmienną a wartość 120 ?? bo tyle ma x w ASCII. Operator porównywania stosowany zazwyczaj w if to chyba == ?
|
|
Kameleon Temat założony przez niniejszego użytkownika |
» 2012-04-18 06:58:20 1. Jak zrobię od razu zmienne int, to jeśli użytkownik wpisze X to mi wyłączy program 2. Zmieniłem operator w "if" na "==" jednak nadal nie działa poprawnie :P |
|
sna |
» 2012-04-18 11:12:07 Wpisz sobie po tych konwersjach funkcją atoi takie coś:
cout<<a;
cout<<p;
cout<<b;
to się dowiesz, że jeżeli pod twojego chara było podstawione 2 to po konwersji int będzie 2 ale jeśli pod twojego chara było podstawione x to po konwersji będzie 0. To ja się ma włączyć ten if ?? |
|
« 1 » |