Studenci i ich oceny

Zad. 1. Napisz program, który będzie symulował klasę studentów z ich ocenami. Program powinien wczytać pięciu studentów o następujących właściwościach:

  • imię studenta
  • ocena z j. polskiego, matematyki, informatyki oraz biologii

a następnie odpowiadał na pytania o ocenę z danego przedmiotu podając najpierw numer studenta a następnie numer przedmiotu.

Rozwiązanie:

 

#include<iostream>
#include<cstdlib>
#define klasa 5

using namespace std;

struct student{	//stworzenie własnego typu o nazwie student
	char imie[25];
	//oceny
	int polski, matematyka, informatyka, biologia;
};

int main()
{
	student A[klasa]; //stworzenie tablicy 5 studentów
	
	//wczytanie kolejnych studentów oraz ich ocen 
	for(int i=0;i<klasa;i++)
	{
		cout<<"Podaj imie studenta nr "<<i+1<<": ";
		cin>>A[i].imie;
		cout<<"Podaj ocenę z j. polskiego: ";
		cin>>A[i].polski;
		cout<<"Podaj ocenę z matematyki: ";
		cin>>A[i].matematyka;
		cout<<"Podaj ocenę z informatyki: ";
		cin>>A[i].informatyka;
		cout<<"Podaj ocenę z biologii: ";
		cin>>A[i].biologia;
	}
	
	int q;
	cout<<"Podaj liczbę zapytań: ";
	cin>>q;
	
	int nr, przedmiot;
	//wybieranie danych z bazy
	while(q--)
	{
		cout<<"Podaj nr studenta [1.."<<klasa<<"]: ";
		cin>>nr;
		--nr;
		if(nr<0||nr>=klasa)
		{
			cout<<"W bazie nie ma studenta o takim numerze!"<<endl;
			continue;
		}
		cout<<"Podaj nr przedmiotu [0..3]: ";
		cin>>przedmiot;
		if(przedmiot<0||przedmiot>3)
		{
			cout<<"Podałes niewlasciwy przedmiot!"<<endl;
			continue;
		}
		
		switch(przedmiot)
		{
			case 0:
				cout<<"Student: "<<A[nr].imie<<", ocena z j. polskiego: "
				<<A[nr].polski<<endl;
				break;
			case 1:	
				cout<<"Student: "<<A[nr].imie<<", ocena z matematyki: "
				<<A[nr].matematyka<<endl;
				break;
			case 2:
				cout<<"Student: "<<A[nr].imie<<", ocena z informatyki: "
				<<A[nr].informatyka<<endl;
				break;
			case 3:
				cout<<"Student: "<<A[nr].imie<<", ocena z biologii: "
				<<A[nr].biologia<<endl;
				break;
		}
	}
	cout<<endl;
	system("pause");
	return 0;
}