Pereiti prie turinio

Neasikumas susijes su C++


Rekomenduojami pranešimai

Sveiki, iskilo viena problemele :) Bandau kompiliutoi programa ir man ismeta nerealius skaicius -85899...... Zodziu skaiciai is atminties. Niekaip nerandu klaidos. Imetu programa cia SAKE KAD VIRUSUOTAS!!! KODAS ZEMIAU jei turesit laiko pasiziurekit ir pasakykit ka darau blogai ;)

Redagavo deividas707
Nuoroda į pranešimą
Dalintis kituose puslapiuose

failas virusuotoas tavo :D

Ka virusuotas? Pala tada imesiu koda

cia main

#include <iostream>
//#include "obelis.h" negaliu sita deti nes 2 kartus inkludina
#include <fstream>
#include <sstream>
#include <iomanip>
#include "sodas1.h"

using namespace std;

const char CD[] = "Duomenys.txt";
//const char FR[] = "Rezultatai.txt";

void Įvesti(Sodas & sodas, const char CD[]);
void Isvesti(Sodas & sodas);

int main(){
setlocale (LC_ALL, "Lithuanian");
Sodas sodas;
Įvesti(sodas, CD);
Isvesti(sodas);
system("pause");
return 0;
}
void Įvesti(Sodas & sodas, const char CD[]){
ifstream fd(CD);
int n;
fd >> n;
int koef1, koef2, kiek, priaug;
for (int i = 0; i < n; i++) {
	fd >> koef1 >> koef2 >> kiek >> priaug;
	sodas.Dėti(Obelis(kiek, priaug, koef1, koef2));
}
fd.close();
}

void Isvesti(Sodas & sodas){
cout << " Informacija apie obelis" << endl;
cout << " Koef1 koef2 kiek priaug" << endl;
for(int i=0; i< sodas.Imti(); i++){
	cout << sodas.Imti(i).Spausdinti() << endl;
}
}

cia obelis.h

#include <string>
//#include "sodas1.h"

using namespace std;

class Obelis{
private:
	int kiek, priaug; // atitinka užduotyje z0 ir zh
	int koef1, koef2; // atitinka užduotyje a ir b
public:
	Obelis():kiek(0), priaug(16), koef1(1), koef2(2){} // reiktu deti i obelis.cpp
	Obelis(int kiek, int priaug, int koef1, int koef2){}
	string Spausdinti();
};

cia sodas1.h

#pragma once
#include <string>
#include "obelis.h"

using namespace std;

class Sodas
{
public:
static const int CMaxi = 100;
private:
Obelis Obelys[CMaxi];
int n;
public:
Sodas():n(0) { }
Obelis Imti(int i) { return Obelys[i]; }
int Imti() { return n; } // užklotas metodas
void Dėti(Obelis ob) { Obelys[n++] = ob; }
};

obelis.cpp

#include "obelis.h"
#include <string>
#include <sstream>
#include <iomanip>

string Obelis::Spausdinti()
{
stringstream srautas;
srautas << setw(6) << koef1 << setw(6) << koef2
	<< setw(5) << kiek << setw(7) << priaug ;
return srautas.str();
}

sodas1.cpp

#include "sodas1.h"

Duomenu failas:

4

2 8 8 10

1 12 10 14

3 8 7 10

5 12 6 14

Siaip keista kad virusuotas :/ Jokiu keylogu as neplatinu... Reiks persirasyti windowsus jau :)

Redagavo deividas707
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Neturintys prasmės skaičiai atsiranda tada, kai arba peržengi masyvo ribas, arba nepriskiri pradinės reikšmės kintamąjam, arba skaitai iš failo, bet nieko neperskaitai (kas baigiasi tuo, jog kintamasis neturi priskirtos reikšmės).

 

Galbūt duomenų failo programa neranda?

Redagavo wi_lius
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Neturintys prasmės skaičiai atsiranda tada, kai arba peržengi masyvo ribas, arba nepriskiri pradinės reikšmės kintamąjam, arba skaitai iš failo, bet nieko neperskaitai (kas baigiasi tuo, jog kintamasis neturi priskirtos reikšmės).

Del perskaitymo tai tikrai perskaitau :) cout'inu i ekrana viskas ok buna. Manau kad problemos cia su Deti f-unkcija. Tik klasumas kokios?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tai tada sudėk cout'us visose vietose, kur galimai pradingsta duomenys (metoduose Imti, Dėti ir kt.) Pamatysi konkrečiai kurioje vietoje nesklandumai prasideda.

 

EDIT: Eureka! Default konstruktorius implementuotas, o su parametrais — ne:

Obelis(int kiek, int priaug, int koef1, int koef2){}

Redagavo wi_lius
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tai tada sudėk cout'us visose vietose, kur galimai pradingsta duomenys (metoduose Imti, Dėti ir kt.) Pamatysi konkrečiai kurioje vietoje nesklandumai prasideda.

 

EDIT: Eureka! Default konstruktorius implementuotas, o su parametrais — ne:

Obelis(int kiek, int priaug, int koef1, int koef2){}

Labai labai dekui! Galesiu beveik ramiai miegoti jau eiti :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Imetu programa cia SAKE KAD VIRUSUOTAS!!! KODAS ZEMIAU jei turesit laiko pasiziurekit ir pasakykit ka darau blogai ;)

Visada mesk kodą, ne sukompiliuotą programą:

  • Galima debugginti vien pažiūrėjus į kodą
  • Galima sukompiliuoti pačiam su debug simboliais ir naudotis debuggeriu
  • Tavo .exe atmes visada, forumas net netikrina, ar virusuotas – tiesiog neleidžia tam tikrų galūnių
  • Tavo .exe žmonėms, naudojantiems kitas OS, nelabai kuo padės...

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...