Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

c++ uždavinys


Martynas .

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2025 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Sveiki, yra toks uždavinys, mokytoja nesugebėjo išaiškint temos, bet be masyvų reiktų jį atlikti, jei kas turi laisvo laiko, papieškit

Sukurkite programą kuri apskaičiuotų penkių kabinetų remonto kainą, kai žinomas kiekvieno kabineto ilgis, plotis ir perkamos damgos kaina (Lt už m2). Reikalavimai:1. Dvi funkcijos, viena skaičiuoja plotą, antroji reikalingą pinigų sumą vieno kabineto remontui. 2. Duomenys nuskaitomi iš tekstinio failo, kur pirmoje eilutėje užrašytas kabinetų skaičius, sekančiose po tris skaitmenis ( ilgis, plotis, kaina m2).

duomenis aš pats susirašysiu. 

Nuoroda į komentarą
Dalintis per kitą puslapį

Nuskaitant duomenis iš tekstinio failo paleisk ciklą, kuris eitų per visus kabinetus (kabinetų skaičius). Nuskaitęs duomenis jų nedėk į masyvą (iš esmės tai ir nėra jokio tikslo į jį dėti jeigu tik rezultatus reikia išvesti į langą iteracijos metu), o paduok į funkciją su nuskaitytais ilgio ir pločio parametrais.

void Plotas(int ilgis, int plotis)
{
	return Kaina(ilgis * plotis);
}

Cikle kiekvienoje iteracijoje nepamiršk nuskaityti ir kv. metro kainos.

Kita funkcija, kuri tau grąžins kainą:

void Kaina(int plotas)
{
	cout >> "Kabineto remonto kaina: " + plotas * kvMetroKaina;
}

Ir viskas! Šiaip tai nesuprantu, kam reikalingos būtent dvi funkcijos, kadangi čia laisvai galima padaryti ir su viena.

Galiu būti palikęs  kažkokių sintaksės klaidų, kadangi jau keletą metų nieko nedariau su c++ ir jos sintaksės gerai neprisimenu.

Redaguota , nario Inv1s
Nuoroda į komentarą
Dalintis per kitą puslapį

11 minutes prieš, Inv1s parašė:

Nuskaitant duomenis iš tekstinio failo paleisk ciklą, kuris eitų per visus kabinetus (kabinetų skaičius). Nuskaitęs duomenis jų nedėk į masyvą (iš esmės tai ir nėra jokio tikslo į jį dėti jeigu tik rezultatus reikia išvesti į langą iteracijos metu), o paduok į funkciją su nuskaitytais ilgio ir pločio parametrais.


void Plotas(int ilgis, int plotis)
{
	return Kaina(ilgis * plotis);
}

Cikle kiekvienoje iteracijoje nepamiršk nuskaityti ir kv. metro kainos.

Kita funkcija, kuri tau grąžins kainą:


void Kaina(int plotas)
{
	cout >> "Kabineto remonto kaina: " + plotas * kvMetroKaina;
}

Ir viskas! Šiaip tai nesuprantu, kam reikalingos būtent dvi funkcijos, kadangi čia laisvai galima padaryti ir su viena.

Galiu būti palikęs  kažkokių sintaksės klaidų, kadangi jau keletą metų nieko nedariau su c++ ir jos sintaksės gerai neprisimenu.

patikėk :dDD ji nori pamatyt 2 for ciklus :DDDD 

Nuoroda į komentarą
Dalintis per kitą puslapį

19 minutes prieš, Inv1s parašė:

O kam ir kur? Rašei juk funkcijas dvi, ne ciklus.

patikėk, ten mokytoja..ughh, kur galima tiesiog su skaičiuot su dviem eilutėm, ji nori ciklų, if'u ir t.t :DD aš jau pasimečiau, ką mokėjau ir ko nemoku ir ko išmokina ji blogai xD

Nuoroda į komentarą
Dalintis per kitą puslapį

Kaip supratau dar nėra pateikto atsakymo?

#include <iostream>
#include <fstream>


double ComputeArea( const double width, const double length ) {
    return width * length;
}


double ComputePrice( const double area, const double price ) {
    return area * price;
}


int main() {
    std::ifstream input( "input.txt" );

    unsigned n;

    input >> n;

    double price;
    double width;
    double length;

    for ( unsigned i = 0; i != n; ++i ) {
        input >> length >> width >> price;

        std::cout << ComputePrice( ComputeArea( width, length ), price ) << "Lt" << std::endl;
    }

    input.close();
}

O dėl tų dviejų ciklų: gali mokytojai pasiūlyt pereit elementaraus programavimo kursus.

prieš 19 valandas(-ų), Inv1s parašė:

Nuskaitant duomenis iš tekstinio failo paleisk ciklą, kuris eitų per visus kabinetus (kabinetų skaičius). Nuskaitęs duomenis jų nedėk į masyvą (iš esmės tai ir nėra jokio tikslo į jį dėti jeigu tik rezultatus reikia išvesti į langą iteracijos metu), o paduok į funkciją su nuskaitytais ilgio ir pločio parametrais.


void Plotas(int ilgis, int plotis)
{
	return Kaina(ilgis * plotis);
}

Cikle kiekvienoje iteracijoje nepamiršk nuskaityti ir kv. metro kainos.

Kita funkcija, kuri tau grąžins kainą:


void Kaina(int plotas)
{
	cout >> "Kabineto remonto kaina: " + plotas * kvMetroKaina;
}

Ir viskas! Šiaip tai nesuprantu, kam reikalingos būtent dvi funkcijos, kadangi čia laisvai galima padaryti ir su viena.

Galiu būti palikęs  kažkokių sintaksės klaidų, kadangi jau keletą metų nieko nedariau su c++ ir jos sintaksės gerai neprisimenu.

Pora klaidų:

  • >> yra standard input operatorius (t.y., jis naudojamas su istream objektais kaip, tarkim, cin), o << (standard output) operatorius naudojamas su ostream objektais kaip cout;
  • kvMetroKaina nėra abskelbtas nei parametrų sąraše, nei funkcijos kūne (body), tačiau yra jame naudojamas (na, nebent jis yra globalus - tada viskas gerai);
  • (tik pastaba) neprivalu naudoti return norint iškviesti kitą funkciją, tad užtektų tiesiog parašyti: Kaina( ilgis * plotis );.
Redaguota , nario hugegoofus
Nuoroda į komentarą
Dalintis per kitą puslapį

28 minutes prieš, hugegoofus parašė:

Kaip supratau dar nėra pateikto atsakymo?


#include <iostream>
#include <fstream>


unsigned ComputeArea( const unsigned width, const unsigned length ) {
    return width * length;
}


unsigned ComputePrice( const unsigned area, const unsigned price ) {
    return area * price;
}


int main() {
    std::ifstream input( "input.txt" );

    unsigned n;

    input >> n;

    for ( unsigned i = 0, price, width, length; i != n; ++i ) {
        input >> length >> width >> price;

        std::cout << ComputePrice( ComputeArea( width, length ), price ) << "Lt" << std::endl;
    }

    input.close();
}

O dėl tų dviejų ciklų: gali mokytojai pasiūlyt pereit elementaraus programavimo kursus.

Pora klaidų:

  • >> yra standard input operatorius (t.y., jis naudojamas su istream objektais kaip, tarkim, cin), o << (standard output) operatorius naudojamas su ostream objektais kaip cout;
  • kvMetroKaina nėra abskelbtas parametrų sąraše, tačiau yra naudojamas funkcijos 'kūne' (body) (na, nebent jis yra globalus - tada viskas gerai);
  • (tik pastaba) neprivalu naudoti return norint iškviesti kitą funkciją, tad užtektų tiesiog parašyti: Kaina( ilgis * plotis );.

Pamiršęs jau kada naudoti <<, o kada >> :/ kaip minėjau keleta metų nieko nedariau su c++, ačiū už priminimą! kvMetroKaina apskritai turėtų būti kaip globalus kintamasis (bent jau taip mąsčiau rašydamas atsakymą), kuriam būtų priskiriama nuskaityta reikšmė iteracijos metu. Nekūriau kintamojo, nes manau jeigu autorius moka nusiskaityti duomenis iš failo, kintamąjį irgi mokės sukurti be problemų. return neprivalu, bet ir nėra nieko blogo. Ačiū už pastabas ir skirtumų priminimą tarp >> ir << :D

Nuoroda į komentarą
Dalintis per kitą puslapį

#include <iostream>
#include <fstream>

using namespace std;
const char DFV [] = "input.txt";

double Plotas( const double a, const double b ) {
    return a * b;
}

double Kaina( const double s, const double c ) {
    return s * c;
}

int main()
{
    double n, a, b, c;
    ifstream fd (DFV);
    fd >> n;
    double s = 0;

    for (double i = 0; i <= n; ++i)
    {
    fd >> a >> b >> c;
    cout << Kaina( Plotas( a, b ), c ) << " eur" << endl;
    }
    fd.close();
    return 0;
}

pasidariau šitaip xD ačiū visiems.

Nuoroda į komentarą
Dalintis per kitą puslapį

  • d0Se užrakino šią temą

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2025 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...