Hallo, en welkom terug.
In deze lezing wil ik een demonstratie van een oplossing voor
onze vorige uitdaging.
Dus wat ik wil doen is ik wil laten zien u hoe u een structuur
kunt declareren, ook een structuur kunt definiëren, de inhoud ervan en initialiseer het dan, en lees dan wat gegevens
in en print het uit.
Dus dit zal je bekend maken met de basis van structuren.
Hier hebben we codeblokken.
Ik ga een nieuw project aanmaken.
En ik ga het gewoon een naam geven iets eenvoudigs, console-applicatie.
Laten we het een voorbeeld van een basisstructuur noemen.
En dit zal onze hoofdmacht creëren.
Wij weten hier alles van.
Het zal maken omvatten twee bestanden ook, en we gaan de
hallo wereld verwijderen.
Dus ik wilde dat je een maakte structuur van type
werknemer of naam werknemer met drie elementen, a naam, een werknemer-ID en een salaris.
Eigenlijk, denk ik dat ik wilde dat je dat deed maak een naam, aanstellingsdatum en een salaris aan.
Dus om een structuur in c te maken, alles wat je hoeft te doen is het gebruik van een structrefwoord.
En we willen het definiëren buiten het hoofdmenu, zodat we
het in andere functies kunnen gebruiken.
Het is een globale definitie, maar het is geen
probleem, want je kunt nog steeds de instanties of de daadwerkelijke maken variabelen binnen elke functie.
Dus we zeggen struct en dan we geven een tagnaam.
Als je je nog herinnert van de lezingen de tagnaam is eigenlijk optioneel.
U hoeft geen tag op te geven name als u alleen een
lokale structuur maakt met slechts een enkele variabele.
Maar aangezien dit gaat worden gebruikt in meerdere functies, gaan we
een tagnaam geven.
We gaan de tagnaam geven van werknemer, en dan
hebben we onze linker en rechter accolades.
Het heeft automatisch de puntkomma voor ons.
We zouden een variabele kunnen maken instantie tegelijkertijd definiëren we de structuur door
gewoon hier een variabelenaam plaatsen, maar dat gaan
we niet doen.
Dus hier wil ik gewoon een naam maken.
Het wordt een karakterreeks.
ik ga gewoon plaatsen het als 30 tekens.
Ik heb ook een huurdatum.
Ik denk dat ik zei de huur datum moet een int zijn.
Maar je zou er een kunnen maken int of een tekenreeks.
Ik ga het als een personage plaatsen array, en we maken
er ook maar 15 van en dan onze salaris dat een float zal zijn.
Dus wat we hier doen is dat we... het creëren van deze mooie structuur.
Structuur is geweldig omdat jij kunt dingen in een
enkele variabele groeperen en u kunt gebruik het ook met arrays en je
kunt veel elementen opslaan.
Maar het is leuk dat we nu hebben deze
werknemersstructuur waaraan gegevens zijn gekoppeld.
Nu om daadwerkelijk een . te gebruiken structuur, moet u er
een variabele instantie van maken.
Dus hier gaan we gewoon maak een structuur werknemer type.
Alles wat we hoeven te doen om een structuur werknemer type
is gebruik het structwoord gevolgd door de naam, die werknemer is en vervolgens de naam
van een instantie of variabele.
En hier zeggen we dat we een medewerker Mike, en we
hebben nu echt de tweede parameter.
We gaan het
definiëren als een datum in een citaat, dus we zeggen gewoon 16-7-2015.
En dan het laatste ding is hun salaris 76.909.
Ze verdienen behoorlijk goed.
En dan willen we dit uitprinten.
Je zult merken dat in regel 14, we hebben geen aanwijzer gemaakt.
Dus om toegang te krijgen tot werknemers struct, hoeven we
alleen de puntmodifier of de ledentoegang te gebruiken.
En dan gebruiken we gewoon de
formaatspecificaties voor elk type variabele dat procent is s procent s en procent f.
Dit is dus vrij eenvoudig.
Om de gegevens in de . af te drukken struct die we al
hebben geïnitialiseerd, we kunnen gewoon een regel uitspreken feeds en formaatspecificaties.
Nogmaals, de manier waarop u toegang krijgt de structuurvariabele is dat je
gewoon de punt gebruikt en dat zal geef het element erin.
En we hebben het geïnitialiseerd met de accolades met
komma-specifiek scheiden de variabelen.
Dus laten we proberen dit te bouwen en kijk wat de output is.
Het moet precies zijn wat je denk dat het zou zijn waar we
het op hebben geïnitialiseerd.
We hebben een fout.
We hebben geen werknemers-ID, heb om er zeker van te zijn dat ik de juiste gebruikte.
Dit is een datum.
Ik had verschillende variaties hiervan programma besloot een
datum te gebruiken, en het wordt ook een procent s.
Dus als we nu bouwen, hopelijk, we zijn oké, en we zijn.
Dus als we dit uitvoeren, zijn we... Ik ga Mike ID eruit halen.
Ik moet die datum veranderen 16-7-15 en dan ons salaris.
Het zou waarschijnlijk leuk zijn om doe hier wat opmaak.
We willen dit wijzigen naar huurdatum.
En we willen waarschijnlijk gewoon om punt 2 te zeggen voor ons formaat.
En nu draaien we het in het formaat, de gegevensuitvoer
ziet er een beetje beter uit, 76.909. 00... 7/16 Alles ziet er
goed uit.
Dus laten we nu inlezen uit de toetsenbord enkele van de waarden en opgeslagen
in de struc.
We kunnen nog steeds dezelfde instantie gebruiken of dezelfde variabelenaam.
Hier gaan we het gewoon vertellen gebruiker om wat informatie in te voeren.
Dus we gaan printf zeggen, en we zullen gewoon wat regelfeeds toevoegen.
En we gaan zeggen personeelsgegevens invoeren.
En we eindigen met een regelinvoer, een puntkomma.
En dan gaan we zeggen printf name en beëindig het zo.
En dan gaan we om de echte naam te krijgen.
We gaan get gebruiken sinds we heb het al een paar keer gebruikt.
Laten we scanf gebruiken.
We gaan procent s zeggen en dat gaat voorlezen in de naam van de werknemer.
Dus alles wat we hier hoeven te doen is medewerker. naam en dit is een
tekenreeks, dus dat doen we niet het adres moet opgeven.
En dan gaan we printf zeggen.
Nadat ze hun name, we gaan printf zeggen,
we voegen een line feed toe.
En dan zijn we deze keer... ga zeggen huurdatum.
En dan deze keer wanneer we een scanf, we gaan een procent
d of eigenlijk procent f doen voor float.
En dan hebben we deze keer de adres van de operator
omdat dit geen aanwijzer is en de scanf functie heeft
wel een pointer nodig, dus we hoeven alleen maar werknemer te zeggen. medewerker huurdatum recht of datum.
En dan willen we printen uit het salaris, vertel hen om hun salaris in
te voeren.
Ik wil een line feed hebben voor dat, en we willen scanf gebruiken om in te lezen en de datum
is in procenten s en het salaris is een procent f.
En de datum is weer verkeerd, niet doen heb het ampersand nodig voor de datum, want dat
is een karakterbuffer.
Ik heb de ampersand nodig voor het salaris, zomaar.
We kunnen waarschijnlijk een regel toevoegen feed, zodat het een beetje gemakkelijker
te lezen is, plaats daar wat opmerkingen.
En dan willen we gewoon print de informatie uit.
We kunnen het uitprinten net zoals we eerder deden.
Zodat we konden kopiëren en plak regels 16, 18.
Doe gewoon een control+c, control+v. En nu zitten we goed.
Laten we proberen te bouwen en zien waar we zijn.
Dus het gaat eerst... als het loopt, het gaat de informatie uitvoeren
die we hard hebben gecodeerd of geïnitialiseerd.
En dan gaan we voer wat informatie in.
Dus voor mijn naam, ik ben ga gewoon Jason zeggen.
De huurdatum, ik ben ga 8/9/10 plaatsen.
En het salaris, ik ben gaan 32.000 zetten.
En het wordt afgedrukt, Jason 8/9/10, 32.000.
Dus dit is maar een simpel voorbeeld hoe u structuren kunt creëren, eerst
globaal definiëren en maak er dan een instantie van of een variabel type van
en druk dan af de informatie uit en het invoeren van informatie, waarbij
we ons ervan bewust zijn dat we moeten de ampersand, het adres
van de operator, gebruiken wanneer we gegevens invoeren.
En in andere gevallen hebben we geen om dat te doen voor de tekenreeks.
Ik zal een oplossing bieden hiervoor als zip-bestand.
Veel succes, en vraag het alsjeblieft vragen als dat nodig is.
Dank u.