Nedan har du koden till det program som till viss del skisserades på föregående sida. Programmet kan lagra elevuppgifter om maximalt 30 elever där all data lagras i en strukturvektor (elev). Observera att funktionen "visa_elevdata" tar emot strukturen som ett funktionsargument.

 

 Exempel 4.2

 #include <iostream>
 
 using namespace std;
 
 struct elevdata
 {
  char namn[30];
  int prov;
  char betyg[4];
 };
 
 void visa_elevdata(elevdata anonym, int nr);
 
 int main()
 {
  elevdata elev[30]; //Strukturvektor
  int n,i=0;
  char svar;
  do
  {
   cout<<"Ange elevens namn: ";
   cin.getline(elev[i].namn,30);
   cout<<"Ange provresultat: ";
   cin>>elev[i].prov;
   cout<<"Ange betyg: ";
   cin.get();  //"Äter upp" enter-tryckningen
   cin.getline(elev[i].betyg,4);
   cout<<endl<<"Tryck på j-tangenten för att fortsätta"<<endl;
   cout<<"eller annan tanget för att avsluta inmatningen"<<endl;
   cin>>svar;
   cin.ignore(100,'\n');
   cout<<endl;
   i++;
  }
  while(svar=='j'||svar=='J');
  cout<<endl<<endl;
  for(n=0;n<i;n++) visa_elevdata(elev[n], n);
  return 0;
 } 
 
 void visa_elevdata(elevdata anonym, int nr)
 {
  cout<<"--------------------------------"<<endl;
  cout<<"Elev nr"<<nr+1<<endl;
  cout<<anonym.namn<<endl;
  cout<<"Provresultat: "<<anonym.prov<<endl;
  cout<<"Betyg: "<<anonym.betyg<<endl<<endl;
 }

 

Vill du se ett exempel på programkörning (endast 3 elever anges) klickar du här. Inget fantastiskt program, men förhoppningsvis tydliggör det hur strukturer kan användas.

 

 
© Stockholms Stad 2001