Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <cmath>
- using namespace std;
- bool konwertuj(string tekst, double& liczba)
- {
- int pozycja = -1;
- bool flaga=0;
- unsigned rozmiar = tekst.size();
- //cout << tekst.size() <<endl;
- for (unsigned i=0; i<rozmiar; i++)
- {
- if(tekst[i]=='.')
- {
- if(flaga)
- return false;
- flaga = true;
- pozycja = i;
- }
- }
- double wynik = 0;
- if(pozycja == -1)
- {
- for(unsigned i = 0; i < rozmiar; ++i)
- wynik += (static_cast<int>(tekst[i]) - 48) * pow(10, rozmiar - 1 - i);
- }
- else
- {
- for(int i = 0; i < rozmiar; ++i)
- {
- if(i == pozycja)
- continue;
- if(pozycja > i) // przed separatorem
- wynik += (static_cast<int>(tekst[i]) - 48) * pow(10, pozycja - i - 1);
- else // za separatorem
- wynik += (static_cast<int>(tekst[i]) - 48) * pow(10, pozycja - i);
- }
- }
- liczba = wynik;
- return true;
- }
- int main()
- {
- ifstream plik; // tworzony uchwyt do pliku z opcj¹ odczytu (ifstream jak cin)
- plik.open("plik.txt"); // otwarcie pliku o podanym adresie (nazwie)
- if(plik.good()) // sprawdzenie czy plik zosta³ poprawnie otwarty
- cout << "Udalo sie poprawnie otworzyc plik" << endl;
- else
- {
- cout << "Niestety pliku nie udalo sie otworzyc, nastapi zamkniecie programu" << endl;
- return 0; // alternatywne wyjœcie z programu
- }
- string tekst;
- double liczba;
- plik >> tekst; // pobranie zmiennej z pliku
- if(konwertuj(tekst, liczba))
- cout << liczba << endl;
- plik.close(); // zamkniêcie otwartego pliku
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement