Wyświetlanie int z zerami
Ostatnio zmodyfikowano 2015-04-06 17:56
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: #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"? |
|
Glazus |
» 2015-04-03 10:38:20 Jeżeli i będzie typu std::string to tak. |
|
C-Objective |
» 2015-04-03 11:22:11 Ale wtedy "uszytkownik" będzie mógł wpisać "blablaktotoczytatentrąba" i ci wyświetli to samo... if( i > 0 || i < 0 ) else
Ale chyba może wywalać errory... |
|
Brunon3 |
» 2015-04-03 11:51:25 |
|
kmlkamilek |
» 2015-04-03 14:33:15 Wg. mnie dobrze by było zmienić typ zmiennej i na typ std::string i zastosować to: 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. |
|
Brunon3 |
» 2015-04-03 21:14:31 @up: Ale on właśnie chce żeby te zera były...
-BD. |
|
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. |
|
Brunon3 |
» 2015-04-04 11:22:39 @up: Zapomniałeś dodać że twoje "liczba" musi być std::string ... -BD. |
|
« 1 » 2 3 |