» »

c++ vaja

c++ vaja

kretze ::

Zdravo jas mam 2 vprašanji na program ki ga bom prilimal spodaj in sicer zakaj mi pri for zanki izpiše samo prvi ime in prvi priimek?? in zanima me tudi kak bi se naredilo random imen in priimkov?? za odgovore se vam že vnaprej lepo zahvaljujem
#include <iostream>	// vhodno-izhodni ukazi
#include <stdlib.h> //standardni ukazi
#include <string> // za la&#65533;je delo z nizi, veljavno le v C++ in ne v C#
#include <ctime>
#include <time.h>

using namespace std; // uporaba imenskega prostora	ni treba pisati std::ukaz

class kandidat
{
public:
	string ime;
	string priimek;
	int leta;
	int st_izobrazbe;

  

	kandidat()
	{
		ime="neznani";
		priimek="neznanec";
		leta=20;
		st_izobrazbe=6;
	}

	kandidat(string i,string p,int l,int s)
	{
		ime=i;
		priimek=p;
		leta=l;
		st_izobrazbe=s;
	}

	void nastaviIme(string *i)
	{
		if(i!=NULL)
			ime=*i;
	}

	void nastaviPriimek(string *p)
	{
		if(p!=NULL)
			priimek=*p;
	}


	string VrniIme()
	{
		return ime;
	}

	string vrniPriimek()
	{
		return priimek;
	}

	
		
			



	

	void nastavisatros(int s)
	{
		if((s>=20)&&(s<80))
		{
			leta=s;
		}
	}

	int vrniLeta()
	{
		return leta;
	}

	void nastaviIzobrazbo(int i)
	{
		if((i>=3)&&(i<=8))
		{
			st_izobrazbe=i;
		}
	}
	int vrniIzobrazbo()
	{
		return st_izobrazbe;
	}

	void izpis()
	{
		cout<<"kandidatu je ime "<<VrniIme()<<" kandidat se pise "<<vrniPriimek()<<" kandiatu je "<<vrniLeta()<<" let star "<<" in ima" <<vrniIzobrazbo()<<" stopnjo izobrazbe "<<endl;
	}
};


int main() 
{
  kandidat k;
  k.izpis();

  kandidat d("dejan","horvat",22,6);
  d.izpis();

  string imena[]={"leo","andres","paul","santi","stephen","derrick","roger","uros","kevin","goran"};
  string priimki[]={"messi","iniesta","pogba","cazorla","cury","rose","federer","zorman","kaml","dragic"};
  kandidat *kandidati=new kandidat[30];
  srand(time(NULL));

  for(int i=0;i<30;i++)
  {
	  kandidat tmp;
	  
	  int randIzobrazba=rand()%8;
	  int randstarost=rand()%60;

	  tmp.nastaviIme(imena);
	  tmp.nastaviPriimek(priimki);
	  tmp.nastaviIzobrazbo(randIzobrazba);
	  tmp.nastavisatros(randstarost);
	  

	  cout<<tmp.ime<<" "<<tmp.priimek<<" "<<tmp.st_izobrazbe<<" "<<tmp.leta<<" ";
	  kandidati[i]=tmp;
  }


 

Irbis ::

[rand()%10]

Excalibrus ::

Slovenija moj doma.

kretze ::

ej irbis zakaj bi naj bil ta del kode??

AnriK ::

  tmp.nastaviIme(imena);
  tmp.nastaviPriimek(priimki);


V teh dveh vrsticah uporabljaš samo prvo ime in prvi priimek iz arraya.

Irbis ti je na kratko nakazal.

kretze ::

glede na to da sem še bolj začetnik bi mi lahko natančneje pokazal kako se to naredi??

Zgodovina sprememb…

  • spremenilo: kretze ()

66speeder66 ::

Podobn ko za randIzobrazba%8, zdaj pa še za imeana in primke kot je Irbis pokazal:

std::string& ime = imena[rand()%10];
std::string& priimek = priimki...

pa združiš, če je treba:
std::string skup = ime + priimek;


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

c++ rabim pomoč konstuktorji

Oddelek: Programiranje
61105 (800) Snowflake2
»

[C#] Evidenca oseb

Oddelek: Programiranje
71162 (847) DaMachk
»

c++ napaka

Oddelek: Programiranje
101720 (1045) lebdim
»

c++ ned help

Oddelek: Programiranje
91731 (1459) barcaFan
»

c# seminarska

Oddelek: Programiranje
112678 (2351) tuned

Več podobnih tem