C++ instrukcije

poruka: 5
|
čitano: 5.412
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
9 godina
neaktivan
offline
C++ zadatak

Pozdrav, trebao bi pomoc oko jednog zadatka u C++, ide ovako: Učitaj neki broj, ako je broj pozitivan, treba ga oduzeti od sume, a ako je negativan dodati ga sumi, učitavaj taj broj dok nebude troznamenkasti, na kraju, broj koji dobijes, znamenke odvoji i međusobno ih zbroji

 

trebao bih nekog da mi pokaze kako bi rjesio zadatak (step by step), to bi mi vise pomoglo nego li samo riješen zadatak

 
0 0 hvala 0
13 godina
offline
Re: C++ zadatak
7734 kaže...

Pozdrav, trebao bi pomoc oko jednog zadatka u C++, ide ovako: Učitaj neki broj, ako je broj pozitivan, treba ga oduzeti od sume, a ako je negativan dodati ga sumi, učitavaj taj broj dok nebude troznamenkasti, na kraju, broj koji dobijes, znamenke odvoji i međusobno ih zbroji

 

trebao bih nekog da mi pokaze kako bi rjesio zadatak (step by step), to bi mi vise pomoglo nego li samo riješen zadatak

Oduzeti/dodati od koje sume?

“The only thing standing between you and your goal is the bullshit story you keep telling yourself as to why you can't achieve it.”
15 godina
offline
Re: C++ zadatak
7734 kaže...

Pozdrav, trebao bi pomoc oko jednog zadatka u C++, ide ovako: Učitaj neki broj, ako je broj pozitivan, treba ga oduzeti od sume, a ako je negativan dodati ga sumi, učitavaj taj broj dok nebude troznamenkasti, na kraju, broj koji dobijes, znamenke odvoji i međusobno ih zbroji

 

trebao bih nekog da mi pokaze kako bi rjesio zadatak (step by step), to bi mi vise pomoglo nego li samo riješen zadatak

 

Ugrubo:

 

Treba ti varijabla suma u koju ćeš zbrajati sve i na početku programa je postaviš na 0

 

Onda u while petlji kojoj je uvjet da suma bude manja od 100 i veća od -100 (troznamenkasti broj) vrtiš upit korisniku da unese broj i oduzmeš ga od sume.

 

dakle ako je pozitivan broj se oduzima a kada oduzimaš negativni broj.... minus minus je plus i tako to.

 

Sada pretpostavljam da je zadatak sa cjelim brojevima, tako da radiš sa integerom.

 

recimo da završiš sa sumom od 134.

 

zadnja znamenka je 134%10 = 4

 

onda podjeliš to sa 10, 134/ 10 = 13 (0.4 se gubi zbog tipa podataka)

 

druga znamenka je 13%10 = 3

 

I tako za zadnju isto.

 

I onda zbrojiš ta tri broja koja dobiješ.

 

@Top Bugovac: od sume učitanih brojeva.

 

*edit: ispravljena greska

Poruka je uređivana zadnji put ned 24.8.2014 1:00 (Dr. Zoidberg).
14 godina
neaktivan
offline
Re: C++ zadatak
7734 kaže...

Pozdrav, trebao bi pomoc oko jednog zadatka u C++, ide ovako: Učitaj neki broj, ako je broj pozitivan, treba ga oduzeti od sume, a ako je negativan dodati ga sumi, učitavaj taj broj dok nebude troznamenkasti, na kraju, broj koji dobijes, znamenke odvoji i međusobno ih zbroji

 

trebao bih nekog da mi pokaze kako bi rjesio zadatak (step by step), to bi mi vise pomoglo nego li samo riješen zadatak

 

 

#include <iostream>
#include <sstream>
#include <cmath>

using namespace std;

/***** GLOBAL *****/
int sum = 0;
/*****************/


bool
isNegative(int val)
{
    /*provjeravamo da li je broj
    negativan ili pozitivan*/

    return (signbit(val) > 0) ? true : false;
}

bool
isThreeDigit(int num)
{
    /*ukoliko je broj u rasponu
    -99 do 99 onda je dvoznamenkast
    van toga ili tro ili više znamenkast*/

    return (abs(num) > 99) ? true : false;
}

int processDigits(int sum)
{
    /*brojeve mozemo pretvoriti
    u string preko stringstream-a
    sto ce nam pomoci da zbrojimo
    na kraju znamenke*/

    stringstream ss;
    ss<< abs(sum);

    string res;
    ss>> res;

    int digit_sum {0};
    for(unsigned i=0 ; i<res.size() ; ++i)
    {
        /*razlomimo string na char pa
        preko funkcije atoi iz char-a
        vadimo vrijednost int-a*/

        string tmp;
        tmp += res[i];
        digit_sum += atoi(tmp.c_str());
    }

    return digit_sum;
}


void
mainLoop(int & sum)
{
    /*UNOS PODATAKA*/

    while ( ! isThreeDigit(sum) )
    {
        int num;
        cin>> num;

        switch (isNegative(num))
        {
        case true:
        {
            sum += num;
            break;
        }
        case false:
        {
            sum -= num;
            break;
        }
        }

        cout<< "trenutacna suma : " << sum << endl;
    }
}


int main()
{
    /*WARNING
    napravio sam ti rjesenje za tocno onako
    kako je glasio zadatak a po tome ispada
    da suma nikad nije pozitivna
    ---ako je broj pozitivan, treba ga oduzeti o
    d sume, a ako je negativan dodati ga sumi ---
    sad ili si krivo napisao ili su ti profesori
    neprecizni ili nepismeni -> u oba slučaja je
    pogubna situacija prilikom kodiranja jer compiler
    ne cita misli pa jedan krivi minus daje sasvim
    drugacije rezultate.
    kako god , preuredi kod ukoliko je navedena greska
    istinita sto mi se cini da je velika vjerovatnost*/



    /*u mainLoop predajemo sum preko reference
    koja je pozicionirana kao global object*/
   
    mainLoop(sum);

    cout<< "\nzbroj znamenki : "
        << processDigits(sum) << endl;

    /*pozdrav*/

    return 0;
}

moje aplikacije na play-u : https://play.google.com/store/search?q=nik02droid
Poruka je uređivana zadnji put ned 24.8.2014 0:43 (nik_02).
9 godina
neaktivan
offline
C++ instrukcije

Pozdrav, trebao bi pomoc oko jednog zadatka u C++,unaprijed hvala

Napišite program za:
Izradite program koji će omogućiti naplatu iznajmljivanja sportskih terena i opreme .
Tereni koji se iznajmljuju su:
 nogomet,
 tenis,
 stolni tenis
Oprema:
 lopta,
 reketi,
 reketi za stolni tenis.
Najam terena naplaćuje se po satu (obračunska jedinica je 1 sat)
Program mora nuditi mogućnost odabira usluge iznajmljivanja, te najma opreme. Cijene su
podložne pregovorima pa ih nije potrebno "hardkodirati" u programu već treba omogućiti
unos.
Djelatnik blagajne mora imati mogućnost naplate iznajmljivanja ili usluge te odabire jednu od
ponuđenih opcija.
Nakon toga unosi trajanje i cijenu, a program računa i ispisuje iznos za naplatu. Moguće je
unijeti vise stavki računa, ako korisnik želi.
U zadatku obavezno koristiti funkcije

 
0 3 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice