Witam ma problem o w programie nie mogę wyjść z pętli.
/* Program to converter floating number to hexadecimal code */
#include <iostream>
#include <cmath>
#include <vector>
void printfloat(float);
int main()
{
float number = 0.0;
int how_many_step = 0;
std::cin >> how_many_step;
while (how_many_step > 0)
{
std::cin >> number;
printfloat( number );
--how_many_step;
}
return 0;
}
void printfloat(float n)
{
std::string s_intiger_part = {};
int binary_intiger[8] {};
int binary_decimal[8] {};
float intiger_part = 0.0; //czesc calkowita
float decimal_part = 0.0; //czesc ulamkowa
decimal_part = std::modf( n , &intiger_part );
std::cout << "czesc calkowita" << intiger_part << " czesc ulamkowa " << decimal_part << std::endl;
int intiger_number = intiger_part;
do
{
std::cout << "petla" << std::endl;
std::cout << "intiger_number " << intiger_number << std::endl;
if ( intiger_number == 1 )
{
std::cout << "dla 1" << std::endl;
std::cout << "intiger_number " << intiger_number << std::endl;
s_intiger_part += std::to_string(1);
}
else if ( intiger_number == 0 )
{
std::cout << "dla 0" << std::endl;
std::cout << "intiger_number " << intiger_number << std::endl;
s_intiger_part += std::to_string(0);
}
else if( intiger_number % 2 == 0 )
{
std::cout << "mod 0" << std::endl;
s_intiger_part += std::to_string(0);
intiger_number /= 2;
}
else if ( intiger_number % 2 == 1)
{
std::cout << "mod 1" << std::endl;
s_intiger_part += std::to_string(1);
intiger_number /= 2;
}
std::cout << "intiger_number " << intiger_number << std::endl;
}
while ( intiger_number != 1 || intiger_number != 0);
std::cout << "liczba: " << intiger_part << " w binarnym to: " << s_intiger_part << std::endl;
}