Help with C++

Programovacie jazyky, rady, poradňa...
K€NNY
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 258
Registrovaný: 14 sep 2008, 10:21
Bydlisko: Trnava
Kontaktovať používateľa:

Help with C++

Príspevok od používateľa K€NNY »

Caute prosim vas kto vie programovat v C++ napiste mi SS prosim vas. Do piatka mam odovzdat semestralku a polku uz vyhodil s tym ze to je zle. Podrobnosti napisem konkretnemu znalcovi :) thx

//autoeditácia príspevku ( 14 May 2009, 14:42 )
uz som s tym zacal nieco mi ide nieco treba dorobit jedna sa o evidenciu knih. Potrebujem pomoct s par procedurami :)

//autoeditácia príspevku ( 14 May 2009, 16:31 )
nikto? :( potrebujem pomoct s procedurami edituj zmaz vyhladaj a zorad...pls
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

čiže zatial máš iba pridaj? Prečo rovno nenapíšeš že to potrebuješ celé?
K€NNY
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 258
Registrovaný: 14 sep 2008, 10:21
Bydlisko: Trnava
Kontaktovať používateľa:

Príspevok od používateľa K€NNY »

aby to nevyzeralo blbo :D
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Príspevok od používateľa BX »

Napis sem sakra co potrebujes :-D
K€NNY
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 258
Registrovaný: 14 sep 2008, 10:21
Bydlisko: Trnava
Kontaktovať používateľa:

Príspevok od používateľa K€NNY »

Vytvorte program evidencie podľa ľubovoľného výberu, ktorý bude spĺňať minimálne nasledovné kritéria:
- evidencia sa bude realizovať pomocou tried, v ktorých budú zadefinované potrebné vlastnosti (premenné) a metódy(funkcie), pričom evidencia môže obsahovať maximálne 30 záznamov (premenná typu pole o rozsahu max. 30 na danú štruktúru, teda TStruktura premenna[30])
- v rámci štruktúry musí byť zadefinovaných najmenej 7 vlastností a 5 funkcií (nerátajúc funkcie pre položky menu pridaj, edituj atď)
- užívateľ má možnosť vyberať minimálne z nasledovných položiek menu:
o pridaj
o edituj
o zmaž
o Vyhľadaj (aspoň na dve položky umožniť vyhladanie)
o Zoraď(aspoň podľa jednej položky)
o koniec
- Program beží dovtedy, až kým ho užívateľ sám neukončí
- V rámci programu realizujte načítanie a zápis do súboru (všetky aktuálne údaje sú vždy zapísané, resp. načítané z daného súboru)


pls aspon nieco mi z toho urob som z toho vypatlany a zajtra to mam odovzdat :( napis mi potom SS dik

//autoeditácia príspevku ( 14 May 2009, 21:44 )

Kód: Vybrať všetko

#include "stdafx.h"
#include "iostream"
#include "fstream"
using namespace std;

class Kniha
{
public:
	Kniha();
	~Kniha();
	void pridaj(int i);
	void vypis();
private:
	char Meno[30];
	char Priezvisko[30];
	char Nazov[30];
	int Rok;
	int Ev_cislo;
	unsigned short int Cena;
};
char menu()
{
		char ans;
		
		cout << " __________________________________________ \n";
		cout << "             M E N U                        \n";
	    cout << "                   K N I Z N I C E          \n";
   		cout << " __________________________________________ \n";
		cout << "           - 1 - Pridanie knihy - 1 -       \n";
		cout << "           - 2 -    Editacia    - 2 -       \n";
		cout << "           - 3 -    Mazanie     - 3 -       \n";
		cout << "           - 4 -  Vyhladavanie  - 4 -       \n";
		cout << "           - 5 -    Zoradenie   - 5 -       \n";
		cout << "           - 6 -      Vypis     - 6 -       \n";
		cout << "           - 0 -     Koniec     - 0 -       \n";
		cout << " __________________________________________ \n";
		cin >> ans;
		return ans;
		
}
Kniha::Kniha()
{
}
Kniha::~Kniha()
{
}
void Kniha::pridaj(int i)
{
	    Kniha TKniha[30];
		fstream subor;
		subor.open ("Knihy.txt",fstream::out | fstream::app);
		cout << "Zadajte meno autora " << i << ". knihy:\n";
		cin >> TKniha[i].Meno;
		cout << "Zadajte priezvisko autora " << i << ". knihy\n";
		cin >> TKniha[i].Priezvisko;
		cout << "Zadajte nazov " << i << ". knihy\n";
		cin >> TKniha[i].Nazov;
		cout << "Zadajte rok vydania " << i << ". knihy\n";
		cin >> TKniha[i].Rok;
		cout << "Zadajte evidencne cislo " << i << ". knihy\n";
		cin >> TKniha[i].Ev_cislo;
		cout << "Zadajte cenu " << i << ". knihy\n";
		cin >> TKniha[i].Cena;
		
		subor << i << " " << TKniha[i].Meno << " " << TKniha[i].Priezvisko << " " <<  TKniha[i].Nazov << " " << TKniha[i].Rok << " " << TKniha[i].Ev_cislo << " " << TKniha[i].Cena <<endl;
		subor.close();
}
void Kniha::vypis()
{
	Kniha TKniha [30];
	char vypis[100];
	fstream subor;
	subor.open ("Knihy.txt",fstream::in);
	while(!subor.eof())
	{
		subor.getline(vypis,100);
		cout << vypis << endl;
	}
    subor.close();

}
int _tmain(int argc, _TCHAR* argv[])
{
	int i=0;
	fstream subor;
	Kniha TKniha[30];
	char ans;
	do
	{
     ans=menu();
	 switch(ans)
	 {
	 case '0': ans='0';
			   break;
	 case '1': system("cls");
		       i++;
			   TKniha[i].pridaj(i); 
		       break;
	 case '6': system("cls");
			   TKniha[i].vypis();
		       break;
	}
	}while (ans != '0');

	return 0;
}
toto mam hotove...nic moc ja viem ale viac nezvladam :roll:
reDo
Star
Star
Používateľov profilový obrázok
Príspevky: 661
Registrovaný: 26 apr 2009, 18:36
Bydlisko: 00100100
Kontaktovať používateľa:

Príspevok od používateľa reDo »

skus to spravit podla tohto neni moje

Kód: Vybrať všetko

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

typedef struct Zakaznik{
char *Meno;
char *Priezvisko;
char *ID;
char *Adresa;
char *Rok;
char *Tel;
char *Tovar;
int Cena;
}ZAKAZNIK;

#define MAX_POLOZIEK 500
#define STRUCT_SIZE sizeof(ZAKAZNIK)

ZAKAZNIK **Polozka;
int Pocet=0;

void UvolniPamat(void)
{ int i;

for(i=0;i<Pocet;i++){
free(Polozka[i]->Meno);
free(Polozka[i]->Priezvisko);
free(Polozka[i]->Adresa);
free(Polozka[i]->ID);
free(Polozka[i]->Tel);
free(Polozka[i]->Rok);
free(Polozka[i]->Tovar);
free(Polozka[i]);
}
free(Polozka);
Pocet = 0;
}

int Menu()
{ char akcia;

printf("\n\nZADANIE Z PROGRAMOVANIA\n\n");
printf(" 1. Pridaj zakaznika\n 2. Odober zakaznika\n 3. Usporiadaj podla ceny\n");
printf(" 4. Usporiadaj podla priezviska\n 5. Vypis zoznamu\n 6. Uloz do suboru\n");
printf(" 7. Nacitaj zo suboru\n 8. Ukonci program\n");
printf("\nZadaj cislo pozadovanej akcie: ");
do{
akcia = getchar();
}while(akcia > '8' || akcia < '1');

return (akcia);
}

char flushkbd(void)
{ char key;
do{}while((key = getchar()) == '\n');
return key;
}

char *fgetstr(FILE *fp)
{ char pom[1000], ch, *ret;
int i=0;

do{
ch = fgetc(fp);
pom[i] = ch;
i++;
}while(ch != '\n');
pom[i-1] = '\0';
ret = (char *)malloc(strlen(pom)+1);
strcpy(ret, pom);
return ret;
}

char *ReadStr()
{ char pom[1000]="", ch, *ret;
int index=1;
pom[0] = flushkbd();
do{
ch = getc(stdin);
if(ch != '\n') pom[index] = ch; else pom[index] = '\0';
index++;
}while(ch != '\n');
ret = (char *)malloc(strlen(pom)+1);
strcpy(ret, pom);
return ret;
}

void Pridaj()
{ char ch;
int len,i;

if(Pocet < MAX_POLOZIEK){
Polozka = (ZAKAZNIK **)realloc(Polozka, (Pocet+1)*8);
Polozka[Pocet] = (ZAKAZNIK *)malloc(STRUCT_SIZE);
printf("\nMeno: ");
Polozka[Pocet]->Meno = ReadStr();
printf("\nPriezvisko: ");
Polozka[Pocet]->Priezvisko = ReadStr();
printf("\nID Cislo: ");
Polozka[Pocet]->ID = ReadStr();
printf("\nAdresa: ");
Polozka[Pocet]->Adresa = ReadStr();
printf("\nTelefon: ");
Polozka[Pocet]->Tel = ReadStr();
printf("Rok posledneho odberu: ");
Polozka[Pocet]->Rok = ReadStr();
printf("\nNazov Tovaru: ");
Polozka[Pocet]->Tovar = ReadStr();
printf("\nCena: ");
scanf("%d", &Polozka[Pocet]->Cena);
Pocet++;
}
}

void Odober(int Index)
{ int i;
if(Index < Pocet){
free(Polozka[Index]->Meno);
free(Polozka[Index]->Priezvisko);
free(Polozka[Index]->Adresa);
free(Polozka[Index]->ID);
free(Polozka[Index]->Tel);
free(Polozka[Index]->Rok);
free(Polozka[Index]->Tovar);
free(Polozka[Index]);
for(i=Index;i<Pocet-1;i++) Polozka[i] = Polozka[i+1];
Pocet--;
Polozka = (ZAKAZNIK **)realloc(Polozka, Pocet*8);
}
}

void Uloz(const char *Nazov)
{ FILE *fp;
int i;

if((fp = fopen(Nazov,"w+")) != NULL){
fprintf(fp,"%d\n", Pocet);
for(i=0;i<Pocet;i++){
fprintf(fp,"%s\n%s\n%s\n%s\n%s\n%s\n%s\n%d\n", Polozka[i]->Meno, Polozka[i]->Priezvisko, Polozka[i]->Adresa,
Polozka[i]->ID, Polozka[i]->Tel,
Polozka[i]->Rok, Polozka[i]->Tovar,
Polozka[i]->Cena);
}
fclose(fp);
}
}

void Nacitaj(const char *Nazov)
{ FILE *fp;
char *pom;
int i;

if((fp = fopen(Nazov,"r")) != NULL){
Pocet = 0;
fscanf(fp,"%d\n", &Pocet);
Polozka = (ZAKAZNIK **)realloc(Polozka, Pocet*8);
for(i=0;i<Pocet;i++){
Polozka[i] = (ZAKAZNIK *)malloc(STRUCT_SIZE);
Polozka[i]->Meno = fgetstr(fp);
Polozka[i]->Priezvisko = fgetstr(fp);
Polozka[i]->ID = fgetstr(fp);
Polozka[i]->Adresa = fgetstr(fp);
Polozka[i]->Tel = fgetstr(fp);
Polozka[i]->Rok = fgetstr(fp);
Polozka[i]->Tovar = fgetstr(fp);
fscanf(fp,"%d\n", &Polozka[i]->Cena);
}
fclose(fp);
}
}

// podla = 1 (Priezv) 2 = (Cena)
void Tried(int podla)
{ int i,j,vymen=0;
ZAKAZNIK *Pom;

for(i=0;i<Pocet-1;i++){
for(j=0;j<Pocet-1;j++){
if(podla == 1){
if(strcmp(Polozka[j]->Priezvisko, Polozka[j+1]->Priezvisko) > 0) vymen = 1; else vymen = 0;
}else if(podla == 2){
if(Polozka[j]->Cena > Polozka[j+1]->Cena ) vymen = 1; else vymen = 0;
}
if(vymen){
Pom = Polozka[j];
Polozka[j] = Polozka[j+1];
Polozka[j+1] = Pom;
}
}
}
}

void Vypis(void)
{ int i;

for(i=0;i<Pocet;i++){
printf("--------------------------%3d -----------------------------", i+1);
printf("\nMeno zakaznika: %s %s", Polozka[i]->Meno, Polozka[i]->Priezvisko);
printf("\nIdentifikacne cislo: %s", Polozka[i]->ID);
printf("\nAdresa zakaznika: %s", Polozka[i]->Adresa);
printf("\nTelefon zakaznika: %s", Polozka[i]->Tel);
printf("\nRok posledneho odberu: %s", Polozka[i]->Rok);
printf("\nNazov tovaru: %s", Polozka[i]->Tovar);
printf("\nCena tovaru: %d\n", Polozka[i]->Cena);
if((i+1)%3 == 0){
printf("\n");
getchar();
}
}
printf("-----------------------------------------------------------\n");
printf("\n");
getchar();
}

int main(int argc, char *argv[])
{ char Volba, fname[500];
int idx;

while((Volba = Menu()) != '8'){
switch(Volba){
case '1': Pridaj();
break;
case '2': printf("\nZadaj index zakaznika: ");
scanf("%d", &idx);
Odober(idx-1);
break;
case '3': Tried(2);
break;
case '4': Tried(1);
break;
case '5': Vypis();
break;
case '6': printf("\nZadaj nazov suboru do ktoreho sa ma ulozt obsah zoznamu: ");
scanf("%s", &fname);
Uloz(fname);
break;
case '7': printf("\nZadaj nazov suboru z ktoreho sa ma nacitat obsah zoznamu: ");
scanf("%s", &fname);
Nacitaj(fname);
break;
}
}
UvolniPamat();
printf("\n");
return EXIT_SUCCESS;
}


  
:)
K€NNY
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 258
Registrovaný: 14 sep 2008, 10:21
Bydlisko: Trnava
Kontaktovať používateľa:

Príspevok od používateľa K€NNY »

jo lenze to je struct... ja potrebujem class...
tuti
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 740
Registrovaný: 01 okt 2006, 19:23
Bydlisko: Prievidza

Príspevok od používateľa tuti »

class, kde su vsetky premenne public je ekvivalentna struct :wink:
K€NNY
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 258
Registrovaný: 14 sep 2008, 10:21
Bydlisko: Trnava
Kontaktovať používateľa:

Príspevok od používateľa K€NNY »

ano lenze pristup k polozkam triedy je iny...a navyse to potrebujem v C++
reDo
Star
Star
Používateľov profilový obrázok
Príspevky: 661
Registrovaný: 26 apr 2009, 18:36
Bydlisko: 00100100
Kontaktovať používateľa:

Príspevok od používateľa reDo »

ale princip som nevedel
:(
K€NNY
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 258
Registrovaný: 14 sep 2008, 10:21
Bydlisko: Trnava
Kontaktovať používateľa:

Príspevok od používateľa K€NNY »

v pohodke :D

//autoeditácia príspevku ( 15 May 2009, 13:01 )
tak pani stal sa zazrak a mozem to odovzdat az v pondelok....tak najde sa niekto kto by mi pomohol? :?:
reDo
Star
Star
Používateľov profilový obrázok
Príspevky: 661
Registrovaný: 26 apr 2009, 18:36
Bydlisko: 00100100
Kontaktovať používateľa:

Príspevok od používateľa reDo »

keby som vedel pomozem :( :( :( :)
K€NNY
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 258
Registrovaný: 14 sep 2008, 10:21
Bydlisko: Trnava
Kontaktovať používateľa:

Príspevok od používateľa K€NNY »

pani potrebujem sa spytat len par otazok....napiste mi niekto pls kto ovlada C++
neutronmind
Expert
Expert
Príspevky: 189
Registrovaný: 05 aug 2008, 14:17

Príspevok od používateľa neutronmind »

Tak sa pytaj. :) Mozes v tejto teme...
K€NNY
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 258
Registrovaný: 14 sep 2008, 10:21
Bydlisko: Trnava
Kontaktovať používateľa:

Príspevok od používateľa K€NNY »

mozte lock :lock:
neutronmind vrela vdaka :)
Napísať odpoveď