5. Zmienne strukturalne w języku C++
5.2. Struktura w języku C++ - definicja, zmienne i zastosowanie
Cele ćwiczenia:
umiejętność budowania algorytmów i ich postaci graficznej,
zapoznanie ze zmiennymi strukturalnymi i zastosowaniem ich jako reprezentantów pojęć rekordu w programach.
Nowe zagadnienia:
struktura jako nowy typ danych,
sposób definiowania struktur i ich zmiennych,
sposób wprowadzania elementów do pól struktury, wyprowadzania ich na ekran, przykładowe operacje na strukturach.
Definicje nowych pojęć
Struktura jest obiektem grupującym składowe (pola) różnych typów danych, zarówno podstawowych, jak i pochodnych.
Struktury są odpowiednikiem pojęcia rekord stosowanym w bazach danych czy innym języku programowania Pascal.
Definicja struktury:
Deklaracja zmiennej zdefiniowanej struktury
Odwoływanie sie do poszczególnych pól struktury (rekordu) z wykorzystaniem notacji z kropką
samochod.model odwołanie się do pola model zmiennej samochod należącej do struktury
pojazd.
samochod[3].model odwołanie się do pola model w 4 rekordzie zmiennej samochod
należącej do struktury pojazd.
Inicjowanie pól struktury (rekordu)
samochod= {1,”FIAT”,”Punto”, 40800, 23};
samochod[2]={3,”FORD”,”Fiesta”, 45000, 15};
Wprowadzanie wartości pól struktury (rekordu)
samochod.lp=3;
samochod[3].lp=4;
strcpy(samochod[3].marka,”FIAT”);
cin>>samochod[3].cena;
Wyprowadzanie wartości pól struktury (rekordu)
cout<<samochod.model;
cout<<samochod[3].model;
Zadanie 1
Napisz program do prowadzenia magazynu opon samochodowych o rozmiarach 14,15 i 16 cali różnych producentów.
#include <iostream>
#include <conio.h>
#include <string>
#include <iomanip>
using namespace std;
struct opona
{
int lp;
char producent[20];
char rozmiar[5];
float cena;
int ilosc;
};
const int n=9;
int i;
float ceny[n]={200,220,240,240,234,234,245,234,179};
int ilosci[n]={12,13,12,14,15,16,14,16,13};
main ()
{
opona osobowe[n];
for(i=0;i<n;i++)
osobowe[i].lp=i+1;
strcpy(osobowe[0].producent,"MICHELIN");
strcpy(osobowe[0].rozmiar, "14");
strcpy(osobowe[1].producent,"MICHELIN");
strcpy(osobowe[1].rozmiar, "15");
strcpy(osobowe[2].producent,"MICHELIN");
strcpy(osobowe[2].rozmiar, "16");
strcpy(osobowe[3].producent,"FULDA");
strcpy(osobowe[3].rozmiar, "14");
strcpy(osobowe[4].producent,"FULDA");
strcpy(osobowe[4].rozmiar, "15");
strcpy(osobowe[5].producent,"FULDA");
strcpy(osobowe[5].rozmiar, "16");
strcpy(osobowe[6].producent,"DEBICA");
strcpy(osobowe[6].rozmiar, "14");
strcpy(osobowe[7].producent,"DEBICA");
strcpy(osobowe[7].rozmiar, "15");
strcpy(osobowe[8].producent,"DEBICA");
strcpy(osobowe[8].rozmiar, "16");
for(i=0;i<n;i++)
{
osobowe[i].cena=ceny[i];
osobowe[i].ilosc=ilosci[i];
}
cout<<"drukuj tabele"<<endl;
cout<<"lp "<<"Producent "<<" rozmiar"<<" cena"<<" sztuk"<<endl;
for(i=0;i<n;i++)
cout<<setw(2)<<osobowe[i].lp<<setw(10)<<osobowe[i].producent<<setw(8)<<osobowe[i].rozmiar<<" cali"<<setw(5)<<osobowe[i].cena<<setw(5)<<osobowe[i].ilosc<<endl;
getch();
return 0;
}
Ćwiczenia laboratoryjne nr 5.2
„Język Programowania” str. 3