Ciao e bentornato.
In questa conferenza, voglio fornire una dimostrazione di una soluzione per
la nostra precedente sfida.
Quindi quello che voglio fare è mostrare tu come puoi dichiarare
una struttura, definire anche una struttura, il suo contenuto e quindi inizializzalo, quindi leggi
alcuni dati e stampalo.
Quindi questo ti renderà familiare con le basi delle strutture.
Qui abbiamo blocchi di codice.
Creerò un nuovo progetto.
E lo nominerò solo qualcosa di semplice, applicazione console.
Chiamiamolo esempio di struttura di base.
E questo creerà la nostra forza principale.
Sappiamo tutto di questo.
Creerà include due anche i file e cancelleremo il
mondo hello.
Quindi volevo che creassi un file struttura di tipo impiegato
o nome impiegato con tre elementi, a nome, un ID dipendente e uno stipendio.
In realtà, penso che volevo che lo facessi creare un nome, una data di assunzione e uno stipendio.
Quindi per creare una struttura in c, tutti voi non devi fare altro che usare una parola chiave struct.
E vogliamo definirlo al di fuori del main in modo
da poterlo utilizzare in altre funzioni.
È una definizione globale, ma lo è non è
un grosso problema perché puoi ancora creare le istanze o l'effettivo variabili all'interno di ogni funzione.
Quindi diciamo struct e poi forniamo un nome di tag.
Se ricordi dalle lezioni il nome del tag è in realtà facoltativo.
Non devi fornire un tag name se stai solo creando una
struttura locale con una sola variabile.
Ma dal momento che questo sarà utilizzato in più funzioni, forniremo un
nome di tag.
Forniremo il nome del tag del dipendente, e quindi
avremo le parentesi graffe sinistra e destra.
Lo ha automaticamente il punto e virgola per noi.
Potremmo creare una variabile istanza allo stesso tempo stiamo definendo la struttura da
soli mettendo un nome di variabile qui, ma
non lo faremo.
Quindi qui voglio solo creare un nome.
Sarà un array di caratteri.
Sto solo andando a posizionare come 30 caratteri.
Avrò anche una data di assunzione.
Penso di aver detto il noleggio la data dovrebbe essere un int.
Ma potresti renderlo un file int o un array di caratteri.
Lo metterò come personaggio array, e lo faremo anche
solo 15 e poi il nostro stipendio che sarà un galleggiante.
Quindi quello che stiamo facendo qui è che siamo creando questa bella struttura.
La struttura è fantastica perché tu puoi raggruppare le cose
insieme in una singola variabile e puoi farlo usalo anche con gli array e
puoi memorizzare molti elementi.
Ma è bello che ora abbiamo questa struttura dei
dipendenti a cui sono associati dati.
Ora per utilizzare effettivamente un file struttura,
devi crearne un'istanza variabile.
Quindi qui andremo solo creare una struttura tipo dipendente.
Tutto quello che dobbiamo fare per creare un file il tipo di
dipendente della struttura utilizza la parola chiave struct seguita da il nome, che è impiegato e quindi
un nome di istanza o variabile.
E qui stiamo dicendo che abbiamo un file dipendente Mike,
e avremo effettivamente il secondo parametro.
Lo definiremo come
una data all'interno della citazione, quindi diremo solo il 16/7/2015.
E poi l'ultima cosa è il loro stipendio 76.909.
Stanno guadagnando abbastanza bene.
E poi vogliamo stamparlo.
Noterai che nella riga 14, non abbiamo creato un puntatore.
Quindi per accedere ai dipendenti struct, tutto ciò che dobbiamo fare è
usare il modificatore del punto o l'accesso ai membri.
E poi usiamo solo il file identificatori
di formato per ogni tipo di variabile che è percentuale s percento se percento f.
Quindi questo è abbastanza semplice.
Per stampare i dati all'interno del file struct che abbiamo già inizializzato,
possiamo solo pronunciare qualche riga feed e specificatori di formato.
Di nuovo, il modo in cui accedi la variabile di struttura è che usi
solo il punto e lo farà dare l'elemento al suo interno.
E l'abbiamo inizializzato con parentesi graffe con virgola specifica
separata separano le variabili.
Quindi proviamo a costruirlo e vedere qual è l'output.
Dovrebbe essere esattamente quello che hai penso che sarebbe quello su cui
lo abbiamo inizializzato.
Abbiamo un errore.
Non abbiamo un ID dipendente, capito per assicurarmi di aver usato quelli giusti.
Questo è un appuntamento.
Ho avuto diverse varianti di questo programma ha
deciso di utilizzare una data, e sarà anche una percentuale.
Quindi ora quando costruiamo, si spera, stiamo bene, e lo siamo.
Quindi, quando eseguiamo questo, siamo uscirà Mike ID.
Devo cambiare quella data 16/7/15 e poi il nostro stipendio.
Probabilmente sarebbe carino fare un po 'di formattazione qui.
Vogliamo cambiare questa data per l'assunzione.
E probabilmente lo vogliamo solo per dire punto 2 per il nostro formato.
E ora eseguiamo il formato, l'output dei
dati sembra leggermente migliore, 76,909. 00 ... 7/16 Sembra tutto a
posto.
Quindi ora leggiamo dal tastiera alcuni dei valori e memorizzati
nella struttura.
Possiamo ancora usare la stessa istanza o lo stesso nome di variabile.
Qui parleremo solo del file utente per inserire alcune informazioni.
Quindi diremo printf e aggiungeremo solo alcuni avanzamenti di riga.
E stiamo per dire inserire le informazioni sui dipendenti.
E lo finiremo con un file avanzamento riga, un punto e virgola.
E poi diremo printf name e terminalo in questo modo.
E poi andiamo per ottenere il nome effettivo.
Useremo i get da noi l'ho già usato un paio di volte.
Usiamo scanf.
Diremo le percentuali e quello leggerà il nome del dipendente.
Quindi tutto quello che dobbiamo fare qui è dipendente. name e questo è un
array di caratteri, quindi non lo facciamo fornire l'indirizzo.
E poi diremo printf.
Dopo che sono entrati nel file name,
diremo printf aggiungeremo un line feed.
E poi questa volta, siamo andando a dire data di assunzione.
E poi questa volta quando facciamo un file scanf, faremo una percentuale
d o effettivamente una percentuale f per float.
E poi questa volta, abbiamo bisogno del file indirizzo dell'operatore
perché questo non è un puntatore e lo scanf
la funzione accetta un puntatore, quindi dobbiamo solo dire dipendente. dipendente data di assunzione a destra o data.
E poi vogliamo stampare fuori lo stipendio, dì loro di entrare nel
loro stipendio.
Voglio avere un avanzamento riga per quello, e vogliamo usare scanf per leggere e la data è
in percentuale se lo stipendio è una percentuale f.
E la data è di nuovo sbagliata, non farlo è necessaria la e commerciale per la data perché è
un buffer di caratteri.
Ho bisogno della e commerciale per lo stipendio, proprio così.
Probabilmente potremmo aggiungere qualche riga feed, quindi è un po 'più facile
da leggere, inserisci alcuni commenti lì dentro.
E poi vogliamo solo farlo stampare le informazioni.
Possiamo stamparlo proprio come abbiamo fatto prima.
Quindi potremmo copiare e incolla le righe 16, 18.
Basta fare un control + c, control + v. E adesso siamo a posto.
Proviamo a costruire e guarda dove siamo.
Quindi è la prima volta che ... quando viene eseguito, produrrà le
informazioni che abbiamo codificato o inizializzato.
E poi lo faremo inserire alcune informazioni.
Quindi per il mio nome, io sono dirò solo Jason.
La data di assunzione, io andando a mettere 8/9/10.
E lo stipendio, io andando a mettere 32.000.
E stampa, Jason 8/9/10, 32.000.
Quindi questo è solo un semplice esempio di come creare strutture
definendole prima a livello globale e quindi crearne un'istanza o un tipo
variabile di esso e quindi stampare le informazioni e l'inserimento di
informazioni, tenendo presente che noi è necessario utilizzare la e
commerciale, l'indirizzo dell'operatore quando inseriamo i dati.
E in altri casi, non ne abbiamo bisogno per farlo per l'array di caratteri.
Fornirò una soluzione per questo come file zip.
Buona fortuna e per favore chiedi domande se necessario.
Grazie.