Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: vanha valintakoe

newc [05.05.2010 11:39:22]

#

Hei kaikki olen uusi c++ opiskelija. Ja yritän päästä nyt tässä kuussa yliopistoon opiskelemaan sitä niin tässä vähän kertailen vanhoja pääsykokeita. Mutta mulla varmaan tulee paljon virheitä niin pyytäisin teidän apuanne

Tässä ois vanhta 2002 pääsykoe:
-erroreita ei ollut vaan 2 warning:
Warning 1

warning C4700: uninitialized local variable 'iltahinnat' used

Warning 2

warning C4700: uninitialized local variable 'kkmaksut' used
//=============================================================

#include <iostream>

using namespace std;

#define MAXLIIT 30
#define MAXMIN 300
#define TAULVALI 30

int main()
{
	int liitlkm, liittyma;
	int paivahinnat[MAXLIIT], iltahinnat[MAXLIIT], kkmaksut[MAXLIIT];
	int paivaosuus, minuutti = 0;
	int paiva, ilta;
	int edullisin, hinta;
	int min;

	cout << "Montako liittymatyyppia verrataan: ";
	cin >> liitlkm;

	for (liittyma = 0; liittyma < liitlkm; liittyma++)
	{
		cout << "Anna liittyman" << liittyma+1 <<  " paivahinta(c) iltahinta(c) kkmaksu(e):  " << endl;
		cin >> paivahinnat[liittyma], iltahinnat[liittyma], kkmaksut[liittyma];
	}

	cout << "Anna paivapuheluiden osuus prosentteina (0..100): " << endl;
	cin >> paivaosuus;

	for (minuutti = 0; minuutti <= MAXMIN; minuutti+= TAULVALI)
	{
		paiva = minuutti * paivaosuus / 100;
		ilta = minuutti * (100-paivaosuus) / 100;

		min = paivahinnat[0] * paiva + iltahinnat[0] * ilta + kkmaksut[0] * 100;
		edullisin = 0;

		for (liittyma = 1; liittyma < liitlkm; liittyma++)
		{
			hinta = paivahinnat[liittyma] * paiva + iltahinnat[liittyma] * ilta + kkmaksut[liittyma] * 100;

			if (hinta < min)
			{
				min = hinta;
				edullisin = liittyma;
			}

		}

		cout << "Puhelumaaralla" << minuutti << "min/kk edullisin liittyma = " << edullisin+1 << endl;

	}

}

Kiitoksia paljon etukäteen

Teuro [05.05.2010 11:59:30]

#

Muuta tämä rivi

cnew kirjoitti:

cin >> paivahinnat[liittyma], iltahinnat[liittyma], kkmaksut[liittyma];

Tällaiseksi

cin >> paivahinnat[liittyma] >> iltahinnat[liittyma] >> kkmaksut[liittyma];

Tällä pääset yhdestä ongelmasta eroon. c++ sallii muuttujien esittelyn kesken koodin, joten alussa esitellyt selkeät laskurimuuttujat voi poistaa ja esitellä lokaalisti for loopeissa tyyliin int i = 0; i < ...

newc [05.05.2010 13:52:14]

#

Kiitoksia:D se auttoikin koko koodia:D nyt voi suorittaa sitä ettei tuu erroria:D

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta