Olisko täällä foorumissa sellasta todellista koodigurua, joka osaisi antaa vinkkejä niinkin "helppoon" tehtävään kuin luokan suunnitteluun?
Kyseessä on tehtävä, jossa tulisi antaa henkilön nimi(char*), hänen tekemänsä 3 pituushyppytulosta(int hypyt[3]) ja niistä ohjelman tulisi valita pisin(int) hyppy.
Luokalla tulee olla rakennin, joka asettaa nimen tyhjäksi merkkijonoksi ("") ja pisimmäksi sekä hyppytuloksiksi arvon 0.
Tämän lisäksi tulee olla jäsenfunktiot:
void syota_nimi(char*)
void syota_hyppy(int kierros, tulos)
int kerro_pisin()
char* kerro_nimi()
Ohjelma vaatii .cpp ja .h tiedostot sekä toisen .cpp tiedoston testiin.
Siinä esitellään uusi kilpailija- olento (vaikkapa kilpailija oma_kilpailija), kysytään käyttäjältä nimi kilpailijalle ja syötetään se oma_kilpailija- olennolle.
Arvotaan 3 tulosta ja syötetään ne oma_kilpailija- olennolle.
Lopuksi tulostetaan näytölle pisin hyppytulos.
Tässä tehtävä lyhyesti. Olen kiitollinen, jos joku osaisi auttaa!
Ei tähän tehtävään mitään koodigurua tarvita. Luokan jäseniksi kannattanee pistää joko char taulukko (char nimi[256] tms) tai sitten käyttää standardikirjaston string-luokkaa. Ehkä tässä tapauksessa char-taulukko on ihan riittävä tapa, kunhan vain muistat tarkistaa että käyttäjän antama nimi ei ylitä esimerkiksi tuota 256:ta merkkiä.
syota_nimi on niinkin yksinkertainen funktio, että se nimen pituustarkistuksen jälkeen kopioi nimen vaikkapa memcpy:llä luokan nimi-jäseneen.
syota_hyppy sijoittaa tuloksen annetun kierroksen paikalla hypyt-jäsenen tiettyyn soluun. Kierrokselle kannattaa tietty tehdä arvoalueen tarkistus.
kerro_pisin-funktion voisi tehdä parilla if-vertailulla kun vertailtavia on noin vähän, tai sitten voi käyttää hieman hitaampaa for-looppia (mikä on tietysti hieman geneerisempi, yksittäisten if:ien kirjoittaminen esimerkiksi 100:lle vertailtavalle voisi olla hieman tuskaista):
int suurin = hypyt[0]; for(int c = 1; c < 3; ++c) if(hypyt[c] > suurin) suurin = hypyt[c]; // suurin sisältää suurimman arvon hypyt-taulukosta
Kerro nimi palauttaa yksinkertaisesti luokan nimi-jäsenmuuttujan, tottakai mielellään "const char *"-tyyppisenä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.