Hej, i znów mam problem, czy showbase'm mogę w jakiś spsób wydrukować 0xA zamiast 0xa ? zależy mi aby porgram wypisywał duże litery po 0x... Nie wiem czy dobrze to wyjaśniłem, jeśli coś nie tak myślę, albo piszę to postaram się to poprawić.

- Rejestracja:około 17 lat
- Ostatnio:2 minuty
- Rejestracja:około 5 lat
- Ostatnio:prawie 3 lata
- Postów:58
Problem jest chyba trochę bardziej złożony, napisałem taki program:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int x;
cin.unsetf(ios::basefield);
cout.setf(ios::showbase);
cout << uppercase;
while(cin >> x) {
cout << oct << x << ' ' << dec << x << ' '<< hex << x << '\n';
}
return 0;
}
Ale go w ten sposób chyba nie jestem w stanie sformatować ? Muszę mieć na wyjściu np : 0xF, a mam albo 0xf, albo 0XF, jestem jakoś w stanie to rozwiązać ?
- Rejestracja:około 5 lat
- Ostatnio:prawie 3 lata
- Postów:58
na razie działa mi tylko tak, ale nie jest to chyba zbyt eleganckie
#include <iostream>
#include <string>
using namespace std;
int main()
{
int x;
cin.unsetf(ios::basefield);
cout.setf(ios::showbase);
cout << uppercase;
while(cin >> x) {
cout << oct << x<< ' ' <<dec << x << ' '<<"0x"<<noshowbase<<hex << x << '\n';
}
return 0;
}
- Rejestracja:około 5 lat
- Ostatnio:prawie 3 lata
- Postów:58
Czyli to będzie najbardziej ,,elegancka" wersja ?
#include <iostream>
#include <string>
using namespace std;
int main()
{
int x;
cin.unsetf(ios::basefield);
cout << uppercase;
while(cin >> x) {
cout << "0" << oct << x<< ' ' << dec << x << ' ' << "0x" << hex << x << '\n';
}
return 0;
}

- Rejestracja:prawie 12 lat
- Ostatnio:około 12 godzin
- Lokalizacja:Szczecin
basefield chyba też zbędne. Ale tak, tak mi się wydaje. Ewentualnie możesz własny modyfikator napisać, ale to więcej zachodu niż to warte imo.

- Rejestracja:około 17 lat
- Ostatnio:2 minuty
https://wandbox.org/permlink/oNxHfiCl3GLFpqmG
A ios::basefield
to tylko maska na ios::dec| ios::hex| ios::oct
, więc niewiele to robi.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.