Ga naar inhoud

[c++]automatische spaties


anoniem

Aanbevolen berichten

Beste mensen van Computer Totaal, Ik ben net een paar weken bezig met c++ en ik was bezig met een programma waarin ik een 2 kolommen wil laten zien. De gebruiker geeft zelf aan welke gegevens er in de kolommen komen. Maar wanneer ik het kolom wordt weergegeven zit niet het 2e kolom onder elkaar. Want ik schrijf een for functie: [code:1:8fb6e20b4b]for(int a_1;a_1<5;a_1++) { for(int a_2;a_2;a_2++) { cout<<struct_dier[a_1][a_2].soort<<" "<<struct_dier[a_1][a_2].naam<<endl; } } [/code:1:8fb6e20b4b] Hierbij is struct_dier een tweedimensionale array, met string soort en string naam Zoals je ziet is het aantal spatie na 'soort' gelijk. Hierbij komt de tweede rijtje niet keurig onder elkaar. En ik heb geprobeert om een functie te schrijven die het woord grote herkent en het juiste aantal spatie weergeeft. Maar je mag niet dit doen van VS2005 [code:1:8fb6e20b4b]cout<<aantal_spatie(a_1)<<endl;[/code:1:8fb6e20b4b] Waarbij aantal_spatie een void functie. Ik hoop dat iemand mijn probleem begrijpt. Bvd. Pouja
Link naar reactie
[quote:54a943b95a="Pouja"]Zoals je ziet is het aantal spatie na 'soort' gelijk. Hierbij komt de tweede rijtje niet keurig onder elkaar. En ik heb geprobeert om een functie te schrijven die het woord grote herkent en het juiste aantal spatie weergeeft. Maar je mag niet dit doen van VS2005 [code:1:54a943b95a]cout<<aantal_spatie(a_1)<<endl;[/code:1:54a943b95a] Waarbij aantal_spatie een void functie.[/quote:54a943b95a]Deze oplossing zou moeten werken als u aantal_spatie een functie maakt die een char* of std::string teruggeeft met als inhoud een aantal spaties en het nul karakter. Maar er is een betere methode om twee kolommen onder elkaar te krijgen. Hiervoor kunt u gebruik maken van de functies in het header-bestand <iomanip>. Hieronder staat een voorbeeld:[code:1:54a943b95a]std::cout << "Tekst 9" << " " << "Kolom 2 van tekst 9" << std::endl; std::cout << "Tekst 10" << " " << "Kolom 2 van tekst 10" << std::endl << std::endl; std::cout << std::left << std::setw( 10 ) << "Tekst 9" << " " << std::left << std::setw( 21 ) << "Kolom 2 van tekst 9" << std::endl; std::cout << std::left << std::setw( 10 ) << "Tekst 10" << " " << std::left << std::setw( 21 ) << "Kolom 2 van tekst 10" << std::endl;[/code:1:54a943b95a][i:54a943b95a]std::setw()[/i:54a943b95a] bepaald de breedte van de kolom, [i:54a943b95a]std::left[/i:54a943b95a] zorgt ervoor dat de kolom links wordt uitgelijnd. Indien u [code:1:54a943b95a]using namespace std;[/code:1:54a943b95a] gebruikt kunt u [i:54a943b95a]std::[/i:54a943b95a] weghalen.
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...