Doklejanie 0 z przodu

Witam

Ostatnio dostaliśmy ćwiczenie na lekcji które wypisywało wiek kur (od 1-24 miesięcy).

Oczywiście na końcu mila być tabelka gdzie wypisujemy wszystkie dane (w tym wiek)

Tutaj skrawek kodu:

void kura::wypisz_kure(int wiek[],int waga[], int jajka[],int c)

{

	cout << "L.p | Gatunek | wiek | waga | jajka" << endl;

	cout << "-----------------------------------------" << endl; 

	for(int i=0;i
	{

	cout << i+1 <<" | KURA | " << wiek[i]<< " | " << waga[i]<<" | " << jajka[i]<< endl;	

	}	

}

wszystko działa poprawnie, ale…

kiedy wiek jest 2-cyfrowy przenosi kreskę (kolumny) w prawo, przez co tabelka nie jest równa.

Jak zrobić by zawsze kiedy wiek jest poniżej 10, dodawało mi 0 z przodu?

wiek to int, chciałbym żeby po jakiejś operacji przypisującej 0 z przodu, dalej pozostało int’em… (chyba że podczas wyświetlenia nie będzie to miało większego znaczenia)

Wszystko mi ładnie wyświetla, ale ten wiek aż razi po oczach, a chciałem udoskonalić to ćwiczenie wg. mojego uznania :slight_smile:

http://cpp0x.pl/kursy/Kurs-C++/Obsluga- … a-cout/323

width()

lub w nieco prostszy sposób korzystając z podstawowych instrukcji:

for(int i=0;i
   {

       cout << i+1 <<" | KURA | ";

       if(wiek[i]<10)

       {

             cout << "0";

       }

       cout << wiek[i]<< " | " << waga[i]<<" | " << jajka[i]<< endl;   

   }

Tylko dlaczego by nie użyć printf ?

void kura::wypisz_kure(int wiek[],int waga[], int jajka[],int c)

{

   cout << "L.p | Gatunek | wiek | waga | jajka" << endl;

   for(int i=0;i
   printf("%3d|%15s|%5d|%5d|%5d",i+1,"kura",wiek[i],waga[i],jajka[i]);   

}

Oczywiście ci na oko nie wyrównam, ale takie coś jest o wiele bardziej czytelne i nie trzeba mieszać spacjami / zerami przy zamianie elementów etc :slight_smile:

Dzięki :slight_smile:

czasem człowiek najprostrzego rozwiazania nie wymysli…

for(int i=0;i
   {

       cout << i+1 <<" | KURA | ";

       if(wiek[i]<10)

       {

             cout << "0";

       }

       cout << wiek[i]<< " | " << waga[i]<<" | " << jajka[i]<< endl;   

   }

strzal w dziesiatke :slight_smile:

#include 


cout <
cout <