Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wyświetlanie int z zerami

Ostatnio zmodyfikowano 2015-04-06 17:56
Autor Wiadomość
zielonawrozka
Temat założony przez niniejszego użytkownika
Wyświetlanie int z zerami
» 2015-04-03 10:32:43
Witam,
 
swoje pytanie objaśnię na przykładowym kodzie:

C/C++
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    cout << "Podaj liczbe" << endl;
   
    int i;
   
    cin >> i;
   
    ofstream NowyPlik;
    NowyPlik.open( "C:\\Users\\Kasia\\Desktop\\zero.txt", ios::app );
    NowyPlik << i;
    NowyPlik.close();
   
    cout << i;
}

Czy jest możliwe, żeby użytkownik podał liczbę z zerami na początku (bądź na końcu), np. 001, a następnie ta liczba zapisała się w pliku w postaci "001", a nie samo "1"?
P-129960
Glazus
» 2015-04-03 10:38:20
Jeżeli
i
 będzie typu
std::string
 to tak.
P-129961
C-Objective
» 2015-04-03 11:22:11
Ale wtedy "uszytkownik" będzie mógł wpisać "blablaktotoczytatentrąba" i ci wyświetli to samo...
C/C++
if( i > 0 || i < 0 ) //Ciąg znaków to liczba
else //Ciąg znaków to np "blablaktotoczytatentrąba"
Ale chyba może wywalać errory...
P-129968
Brunon3
» 2015-04-03 11:51:25
cin.good()
cin.fail()


-BD.
P-129969
kmlkamilek
» 2015-04-03 14:33:15
Wg. mnie dobrze by było zmienić typ zmiennej
i
 na typ
std::string
 i zastosować to:

C/C++
string i;
cin >> i;
len = i.lenght();

for( int z = 0; z < len; z++ )
{
    if( i[ z ] == '0' )
    {
        i.erase( z, 1 )
    }
}

Jeśli sam mam gdzieś błąd, to będę wdzięczny jak ktoś mnie poprawi. ;)

EDIT:
Dobra, kod nie do końca dobry, bo będzie usuwał zera niezależnie od tego gdzie są. Wybaczcie to niedopatrzenie.
P-129991
Brunon3
» 2015-04-03 21:14:31
@up: Ale on właśnie chce żeby te zera były...

-BD.
P-130026
C-Objective
» 2015-04-04 10:59:16
Hmm... pseudokod:

sprawdź ile cyfr ma wprowadzona liczba;
jeżeli 1 zrób: liczba = 0 + liczba;

wprowadzisz 1 wyjdzie ci 01.
P-130068
Brunon3
» 2015-04-04 11:22:39
@up: Zapomniałeś dodać że twoje "liczba" musi być
std::string
...

-BD.
P-130075
« 1 » 2 3
  Strona 1 z 3 Następna strona