Taulukot ja Rakenteet
Rakenteista muodostetun taulukon luominen on täysin samanlaista kuin taulukon luominen muilla tietotyypeillä.
Tällaisten taulukoiden alkioihin pääsee käsiksi samalla tavalla kuin tavallisten taulukoiden alkioihin indeksien avulla.
struct Person {
char name[50];
int age;
double height;
};
struct Person people[2];
Esimerkkinä luodaan rakenne-taulukko, joka tallentaa henkilön tietoja.
main.c
12345678910111213141516171819202122232425262728293031323334353637#include <stdio.h> #include <string.h> // structure definition struct Person { char name[50]; int age; double height; }; int main() { // declaring an array of structures struct Person people[3]; strcpy(people[0].name, "Alice"); people[0].age = 25; people[0].height = 1.75; strcpy(people[1].name, "Bob"); people[1].age = 30; people[1].height = 1.80; strcpy(people[2].name, "Charlie"); people[2].age = 35; people[2].height = 1.70; // output information about people from the array for (int i = 0; i < 3; ++i) { printf("Person %d:\n", i + 1); printf("Name: %s\n", people[i].name); printf("Age: %d\n", people[i].age); printf("Height: %.2f\n", people[i].height); printf("\n"); } return 0; }
Jokainen people-taulukon alkio edustaa erillistä Person-rakennetta. Voimme käyttää tietyn henkilön kenttiä taulukon indeksin avulla, esimerkiksi: people[0].name tai people[1].age.
Käymme sitten koko taulukon läpi for-silmukalla ja tulostamme jokaisen henkilön tiedot näytölle.
Rakenteiden taulukoiden avulla voit tallentaa useita saman tyyppisiä olioita yhteen paikkaan ja käyttää niitä helposti indeksin avulla, mikä on erityisen hyödyllistä suurten tietomäärien käsittelyssä.
Swipe to start coding
Toteuta funktio calculateWarehouseTotal, joka laskee varastossa olevien tuotteiden kokonaisarvon. Jokaisella tuotteella on nimi, määrä ja hinta. Funktion tulee käydä tuotteiden taulukko läpi ja laskea yhteen kaikkien tuotteiden quantity * price -tulokset.
- Luo funktion
calculateWarehouseTotalsisälle muuttujatotal, jonka arvo on aluksi0.0f. - Käytä
for-silmukkaa, joka käy läpi indeksit0–n. - Kerro kunkin tuotteen
quantityarvollapriceja lisää tulos muuttujaantotal. - Palauta lopuksi muuttujan
totalarvo varaston kokonaiskustannuksena.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you show me how to initialize the array of structures with data?
How do I print all the information for each person in the array?
Can you explain how to modify a specific field in one of the structures?
Mahtavaa!
Completion arvosana parantunut arvoon 4.35
Taulukot ja Rakenteet
Pyyhkäise näyttääksesi valikon
Rakenteista muodostetun taulukon luominen on täysin samanlaista kuin taulukon luominen muilla tietotyypeillä.
Tällaisten taulukoiden alkioihin pääsee käsiksi samalla tavalla kuin tavallisten taulukoiden alkioihin indeksien avulla.
struct Person {
char name[50];
int age;
double height;
};
struct Person people[2];
Esimerkkinä luodaan rakenne-taulukko, joka tallentaa henkilön tietoja.
main.c
12345678910111213141516171819202122232425262728293031323334353637#include <stdio.h> #include <string.h> // structure definition struct Person { char name[50]; int age; double height; }; int main() { // declaring an array of structures struct Person people[3]; strcpy(people[0].name, "Alice"); people[0].age = 25; people[0].height = 1.75; strcpy(people[1].name, "Bob"); people[1].age = 30; people[1].height = 1.80; strcpy(people[2].name, "Charlie"); people[2].age = 35; people[2].height = 1.70; // output information about people from the array for (int i = 0; i < 3; ++i) { printf("Person %d:\n", i + 1); printf("Name: %s\n", people[i].name); printf("Age: %d\n", people[i].age); printf("Height: %.2f\n", people[i].height); printf("\n"); } return 0; }
Jokainen people-taulukon alkio edustaa erillistä Person-rakennetta. Voimme käyttää tietyn henkilön kenttiä taulukon indeksin avulla, esimerkiksi: people[0].name tai people[1].age.
Käymme sitten koko taulukon läpi for-silmukalla ja tulostamme jokaisen henkilön tiedot näytölle.
Rakenteiden taulukoiden avulla voit tallentaa useita saman tyyppisiä olioita yhteen paikkaan ja käyttää niitä helposti indeksin avulla, mikä on erityisen hyödyllistä suurten tietomäärien käsittelyssä.
Swipe to start coding
Toteuta funktio calculateWarehouseTotal, joka laskee varastossa olevien tuotteiden kokonaisarvon. Jokaisella tuotteella on nimi, määrä ja hinta. Funktion tulee käydä tuotteiden taulukko läpi ja laskea yhteen kaikkien tuotteiden quantity * price -tulokset.
- Luo funktion
calculateWarehouseTotalsisälle muuttujatotal, jonka arvo on aluksi0.0f. - Käytä
for-silmukkaa, joka käy läpi indeksit0–n. - Kerro kunkin tuotteen
quantityarvollapriceja lisää tulos muuttujaantotal. - Palauta lopuksi muuttujan
totalarvo varaston kokonaiskustannuksena.
Ratkaisu
Kiitos palautteestasi!
single