Peršokti į turinį

c++ pagalba


Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 1293 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, noriu paprasyti pagalbos,gal kas nors galit pasakyti kur yra klaida,kad nespausdina savaites dienu pagal indexus ir kartais skaiciuoja kartais ne, kazka yra su 2 paskutiniais ciklais

 

#include <iostream>

using namespace std;

int main()
{
    int dienos;
    double pelnas,suma,vidurkis;
    double A[dienos];
    string B[7] = {"Pirmadienis", "Antradienis", "Treciadienis", "Ketvirtadienis", "Penktadienis", "Sestadienis" , "Sekmadienis"};
    cout <<"Iveskite dienu skaiciu kurias dirbo knygynas: 1-7 " <<endl;
    cin>>dienos;
    while(dienos==0)
    {
        cout<< '\a' <<" Knygynas nedirbo! " << "Prasome pasirinkti dienas nuo 1-7 " <<endl;
        cin>>dienos;

    }
    while(dienos <0 || dienos > 7)
    {
        cout<< '\a' << " Ivedete neteisina skaiciu, prasome pasirinkti dienas nuo 1-7 " <<endl;
        cin>>dienos;
    }

    cout<< "Iveskite sumas kurias knygynas uzdirbo per  pasririnktas diena/s " <<endl;
    for(int i =0;i<dienos;i++)
    {
        cout<< i+1 << " Suma : ";
        cin>>pelnas;
        A = pelnas;
    }
    for (int i =0;i <dienos;i++)
    {
        suma = suma + A;
        vidurkis = suma/dienos;
    }

    cout<<"Sumos vidyrkys yra : " << vidurkis <<endl;
    cout<<"Knygynas dirbo pelningai : "<<endl;

    for(int i = 0;i <dienos;i++)
    {
        if(A >=vidurkis)
        {
            cout<<A<<B<<endl;
        }
    }

    cout<<"Knygynas dirbo nepelningai : "<<endl;

    for(int i = 1;i <dienos;i++)
    {
        if(A <vidurkis)
        {
            cout<<A<<B<<endl;
        }

    }

    return 0;
}

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

Pirmiausia, forume naudok redaktoriaus kodo įterpimo funkciją. Niekas nenori skaityti kreivo ir nespalvoto kodo. O šiaip, apart to, ką sakė kiti nariai, dar daug ką reikia taisyti...

  • Negalima kurti fiksuoto dydžio masyvų naudojant kintamąjį jo dydžiui nusakyti. Pas mane MSVC kompiliatorius tavo kodo nekompiliuoja. Jei nori kintamo dydžio kolekcijos, gali naudoti STL konteinerius arba dinaminius masyvus (nepamiršk atlaisvint atminties). Jei nenori nei vieno, nei kito, apsirašyk kažkur masyvo dydžio konstantą ir ją naudok. Iš vis, tu kuri A[] masyvą ir nurodai jo dydį dienos, kai dienos kintamasis net neinicializuotas.

    Dinaminiai masyvai atrodo taip:
    int dienos;
    std::cin >> dienos;
    double* A = new double[dienos];
    ...
    delete[] A;

     Masyvas su masyvo dydžio konstanta gali atrodyti taip:

    #define ARR_MAX 7
    
    int main()
    {
        double A[ARR_MAX];
        ...
    }
  • Kalbant apie inicializavimą, negalima skaičiuoti sumos su neinicializuotu kintamuoju, nes jis gali  turėti bet kokią reikšmę. Taip pat galima naudoti += operatorių.
    int suma = 0;
    suma += A[i];
  • Kiek žiūrėjau, tai programos logika greičiausiai neteisinga, bet čia turbūt pas tave work in progress, tai kaip ir fine.
  • Kodėl vidurkį vis perskaičiuoji skaičiuodamas sumą?
  • Nenaudok using namespace std. Apie tai gali paskaityti čia.
  • Vietoj std::endl, kuris iš esmės kviečia ir std::flush (ko tau nereikia), galima paprasčiausiai naudoti '\n'.
Redaguota , nario Tautedorus
Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 1293 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!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

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

Skelbimai


×
×
  • Sukurti naują...