>> DAVID J. Malan: Stel dat we willen schrijven een programma dat iedereen in vraagt
een kamer voor hun leeftijd, en vervolgens afdrukken hoe oud die mensen zal een
jaar dus?
Nu, uiteraard het rekenkundig deze probleem zal vrij zijn
eenvoudig.
Maar het interessante vraag is, als we niet van tevoren weten hoeveel mensen
zullen worden in deze kamer, hoe kunnen we gaan over het opslaan
al hun leeftijden?
Nou, laten we eens een kijkje nemen.
>> Laten we beginnen door eerst te vragen de gebruiker, zoals ik hier heb gedaan, voor de
aantal mensen in de kamer met behulp van getInt en een do-while lus om
krijgt een geheel getal n.
Stel dat we nu willen elk van deze vragen persoon in de kamer voor hun leeftijd.
Nou, mijn instinct zou zijn in een lus te doen dat wordt gevraagd, maar ik heb ook
behoefte aan een plek om op te slaan leeftijden van die mensen.
En mijn eerste instinct zou er een variabele voor de eerste
leeftijd persoon, een andere variabele voor de leeftijd van de tweede persoon,
soort van langs lijnen.
Int leeftijd -
goed, laten we zeggen 1 voor de eerste persoon.
Int leeftijd 2 voor de tweede persoon.
Int 3 jaar voor de derde persoon.
>> Maar wacht eens even, dit is misschien niet de beste weg naar beneden te gaan.
Omdat ik niet weet van tevoren schrijven en samenstellen van dit programma hoe
veel gebruikers er zullen zijn.
En bovendien, als er wel 100 gebruikers, waarbij 100 variabelen
soort van vreemd genoemd in deze trant niet het gevoel dat de beste ontwerp.
>> Nou, gelukkig bestaat er nog een type variabele genaamd een array die
stelt ons in staat om een ​​willekeurig aantal ints slaan binnenkant van het, zelfs als we niet weten
bij het schrijven van mijn programma hoeveel dergelijke ints we gaan nodig hebben.
Dus laten we backtrack en verwijder deze verschillende ints, en in plaats daarvan vervangen
met een variabele met de naam, zeggen, leeftijden, meervoud.
Maar laten we nader op deze lijn van de code tussen vierkante haakjes dat we
willen n ints.
En daarom zullen we collectief verwijzen naar deze ints als leeftijden.
>> Nu in slechts een moment dat ik zal kunnen krijgen bij elk van de gehele getallen in deze array
zo ook door middel van vierkante haken notatie, beginnend bij 0.
Dus laten we gaan nu in een lus om vraagt ​​de gebruikers voor hun leeftijden.
Voor int krijg ik 0.
I kleiner is dan N, het aantal mensen in de kamer, ik plus plus.
>> En nu binnen deze lus, laten we zeggen printf leeftijd van persoon nummer procent I
is een tijdelijke aanduiding, komma.
En nu, in plaats van beginnen te tellen vanaf 0 in het programma zelf, laten we bij
kleinste stap ik op 1, zodat een normale persoon met behulp van dit programma
niet te tellen als een informaticus macht.
Laten we het nu doen leeftijden, beugel I, waardoor bepaald dat de i-de leeftijd in onze
scala aan leeftijden gaat krijgen de return waarde van getInt.
>> Nu onder deze lus, laten we verder gaan aannemelijk dat enige tijd verstrijkt.
En laten we nu verder in een andere lus om daadwerkelijk iedereen in de kamer ouder
een jaar.
Dus nogmaals, voor int krijg ik 0, ik minder dan N, het aantal mensen in de
kamer, ik plus plus.
>> En nu de binnenkant van deze lus, laten we zeggen printf een jaar vanaf nu persoon nummer,
procent I is een tijdelijke aanduiding, zal zijn, percenten I is een
placeholder, jaar oud.
En dan aan te sluiten op de plaatsaanduidingen, laten we eerst zeggen dat ik plus
1, zodat we opnieuw beginnen te tellen voor de gebruiker 1.
En dan laten we de stekker in de leeftijd van die persoon als leeftijden beugel I plus 1, waardoor
specificeren go de i-de leeftijd krijgen in onze scala aan leeftijden, voeg 1 aan, en dan
Steek dat bedrag in onze placeholder, dicht Paren, puntkomma.
>> Laten we nu dit programma te compileren met make leeftijden, en laten we lopen het met stip
slash leeftijden.
En stel dat er slechts drie mensen in de kamer, en iemand is 18,
iemand is 19, iemand is 20.
Nou, in een jaar, elk van die mensen gaat zijn 19, 20, en 21,
respectievelijk.