Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 166 ] Choď na stránku: predchádzajúca 1, 2, 3, 4, 5, 6 ďalšia
AutorSpráva
Offline

Užívateľ
Užívateľ
C pomoc s funkciami

Registrovaný: 08.03.09
Prihlásený: 06.10.20
Príspevky: 1116
Témy: 88
Bydlisko: 00100100
Príspevok Napísal autor témyOffline : 22.04.2009 16:10

a co je ten in







_________________
Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-)
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
C pomoc s funkciami

Registrovaný: 01.05.05
Príspevky: 13350
Témy: 1497
Bydlisko: Bratislava
Príspevok NapísalOffline : 22.04.2009 18:58

premenna







_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server
Offline

Užívateľ
Užívateľ
C pomoc s funkciami

Registrovaný: 08.03.09
Prihlásený: 06.10.20
Príspevky: 1116
Témy: 88
Bydlisko: 00100100
Príspevok Napísal autor témyOffline : 22.04.2009 20:07

myslel som si







_________________
Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-)
Offline

Užívateľ
Užívateľ
C pomoc s funkciami

Registrovaný: 08.03.09
Prihlásený: 06.10.20
Príspevky: 1116
Témy: 88
Bydlisko: 00100100
Príspevok Napísal autor témyOffline : 19.05.2009 20:38

Mam tu jeden vlastny program skuste ho mne h oneche spustit ja viem ze je na nizkej urovni je to len ako test :roll: :roll: :roll: :roll:
Kód:
#include <stdio.h>
#include <string.h>
typedef struct kniha{
        char nazov[101];
        char autor[101];
        int rok;
        float cena;
        }KNIHA;
int pocet=0;
 KNIHA pole[25];
 void Cisti(void) {
      for(;pocet<25;pocet++) {
      strcpy(pole[pocet].nazov,"\0");
      strcpy(pole[pocet].autor,"\0");
      pole[pocet].rok=0;
      pole[pocet].cena=0.0;
      }
      pocet=0;
}
 void Pridaj(void) {
      printf("Zadajte nazov knihy\n");
      gets(pole[pocet].nazov);
      printf("Zadajte naov autorov\n");
      scanf("%s",pole[pocet].autor);
      printf("Zadajte z akeho roku je\n");
      scanf("%d",pole[pocet].rok);
      printf("Zadajte cenu knihy\n");
      scanf("%f",pole[pocet].cena);
      pocet++;
}
 void Vypis(void) {
      int i;
      for(i=0;i<25;i++) {
                        printf("%s %s %d %f",pole[pocet].nazov,pole[pocet].autor,pole[pocet].rok,pole[pocet].cena);
                        }
}
   int main() {
    Cisti();
    Pridaj();
    Pridaj();
    Vypis();
    system("pause");
    return 0;
}
     







_________________
Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-)
Offline

Skúsený užívateľ
Skúsený užívateľ
C pomoc s funkciami

Registrovaný: 11.01.09
Prihlásený: 30.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 20.05.2009 10:29

Kód:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

typedef struct kniha{
        char nazov[101];
        char autor[101];
        int rok;
        float cena;
        }KNIHA;

int pocet=0;
KNIHA pole[25];
 
void Cisti(void)
{
    for(;pocet<25;pocet++)
    {
    strcpy(pole[pocet].nazov,"\0");
    strcpy(pole[pocet].autor,"\0");
    pole[pocet].rok=0;
    pole[pocet].cena=0.0;
    }
    pocet=0;
}

void Pridaj(void)
{
    printf("Zadajte nazov knihy\n");
    gets(pole[pocet].nazov);
    printf("Zadajte naov autorov\n");
    scanf("%s", pole[pocet].autor);
    printf("Zadajte z akeho roku je\n");
    scanf("%d", &pole[pocet].rok);
    printf("Zadajte cenu knihy\n");
    scanf("%f", &pole[pocet].cena);
    fflush(stdin);
    pocet++;
}

void Vypis(void)
{
    for(int i=0; i<25; i++)
        printf("%s %s %d %f \n", pole[i].nazov, pole[i].autor, pole[i].rok, pole[i].cena);
}

int main()
{
    Cisti();
    Pridaj();
    Pridaj();
    Vypis();
    system("pause");
    return 0;
}


Skompilovať ti to nešlo, lebo funkcia system sa nachádza v stdlib.h. Ďalšie chyby si mal pri fukncii scanf - zabudol si na operátor &.


Offline

Užívateľ
Užívateľ
C pomoc s funkciami

Registrovaný: 08.03.09
Prihlásený: 06.10.20
Príspevky: 1116
Témy: 88
Bydlisko: 00100100
Príspevok Napísal autor témyOffline : 20.05.2009 14:04

aha diky este an tom makam snazim sa este o zmen zmaz a vyhladaj a este dake co ma napdnu :) :) :) ale nadari sa nefunguje to spravne :( :( :( :( :( :(







_________________
Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-)
Offline

Skúsený užívateľ
Skúsený užívateľ
C pomoc s funkciami

Registrovaný: 11.01.09
Prihlásený: 30.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 20.05.2009 14:34

Napíš, čo máš, niekto ti určite pomôže.


Offline

Užívateľ
Užívateľ
C pomoc s funkciami

Registrovaný: 08.03.09
Prihlásený: 06.10.20
Príspevky: 1116
Témy: 88
Bydlisko: 00100100
Príspevok Napísal autor témyOffline : 20.05.2009 15:00

to pridaj t to nacitavcanie je provblem stale to nacitava nejako blbo dajte riesenie pls







_________________
Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-)
Offline

Skúsený užívateľ
Skúsený užívateľ
C pomoc s funkciami

Registrovaný: 11.01.09
Prihlásený: 30.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 20.05.2009 15:24

Ako blbo. Veď som ti to opravil. A keď chceš volať funkciu Pridaj() viackrát, tak to sprav takto:

Kód:
for (int i=0; i<2; i++)
    Pridaj();


Keď cheš, aby sa volala 25 krát, tak tam dáš podmienku i < 25 (i keď ja by som skôr tú funkciu Pridaj zmenil tak, aby mala parameter int Pocet a nie aby sa inkrementovala nejaká premenná v tele tejto funkcie).


Offline

Užívateľ
Užívateľ
C pomoc s funkciami

Registrovaný: 08.03.09
Prihlásený: 06.10.20
Príspevky: 1116
Témy: 88
Bydlisko: 00100100
Príspevok Napísal autor témyOffline : 20.05.2009 18:14

nie je tvoja chyba ale toho gets







_________________
Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-)
Offline

Užívateľ
Užívateľ
C pomoc s funkciami

Registrovaný: 08.03.09
Prihlásený: 06.10.20
Príspevky: 1116
Témy: 88
Bydlisko: 00100100
Príspevok Napísal autor témyOffline : 23.05.2009 19:55

mma to tu vylepsene trochu som vazooval este t onie je hotove menu mi robi problemni vypise sa mi 2 razy nechapem a uz asi nic pozrite sa na to niekto pls popripade mozte neco pomenit ak chcetre a dat to sem nesmejte sa mi som len 7.dmak na ZS jasne takze ziadne smiechy :) :jaw: :jaw: :oops:
Kód:
#include <stdio.h>
#include <string.h>
typedef struct kniha{
        char nazov[101];
        char autor[101];
        int rok;
        float cena;
        }KNIHA;
int pocet=0;
 KNIHA pole[25];
 
 
 void Zmen() {
      int i=0;
      printf("\n\n\n\n\n");
      printf("Zadajte kolkatu knihu hcete zmenit\n");
      i=getchar();
      printf("Zadajte nazov knihy\n");
      scanf("%s",pole[i].nazov);
      printf("Zadajte nazov autora\n");
      scanf("%s",pole[i].autor);
      printf("Zadajte z akeho roku je\n");
      scanf("%d",&pole[i].rok);
      printf("Zadajte cenu knihy\n");
      scanf("%f",&pole[i].cena);
      }
 void Zmaz() {
      int i=0;
      printf("\n\n\n\n\n");
      printf("Zadajte cislo knihy ktoru chcete zmazat\n");
      i=getchar();
      strcpy(pole[i].nazov,"\0");
      strcpy(pole[i].autor,"\0");
      pole[i].rok=0;
      pole[i].cena=0.0;
      }
 
 
 void Cisti(void) {
      int i=0;
      for(;i<25;i++) {
      strcpy(pole[pocet].nazov,"\0");
      strcpy(pole[pocet].autor,"\0");
      pole[pocet].rok=0;
      pole[pocet].cena=0.0;
      }
     
}

 void Pridaj(void) {
      printf("\n\n\n\n\n");
      printf("Zadajte nazov knihy\n");
      scanf("%s",pole[pocet].nazov);
      printf("Zadajte nazov autora\n");
      scanf("%s",pole[pocet].autor);
      printf("Zadajte z akeho roku je\n");
      scanf("%d",&pole[pocet].rok);
      printf("Zadajte cenu knihy\n");
      scanf("%f",&pole[pocet].cena);
      pocet++;
}
 void Vypis(void) {
      int i;
      printf("\n\n\n\n\n");
      for(i=0;i<25;i++) {
                       
                        printf("%s_%s_%d_%6.1f\n",pole[i].nazov,pole[i].autor,pole[i].rok,pole[i].cena);
                        }
}
   int main() {
    char volba;
    printf("Vzor pri Pridaj nazov Adamko.z.jarku autor AdamKratkozraky,JohnyCash rok 1956 cena 889\n");
    while(volba!='q'&&volba!='Q') {
    printf("\n\n\n\n\n");
    printf("Zadajte volbu:\na)Pridaj\nb)Zmen\nc)Zmaz\nd)Vypis\nq/Q)Koniec\n");
    volba=getchar();
    switch(volba) {
                  case 'a': Pridaj();
                  break;
                  case 'b': Zmen();
                  break;
                  case 'c': Zmaz();
                  break;
                  case 'd': Vypis();
                  break;
                  default :
                  break;
                  }
                  }
                   
   
   
    system("pause");
    return 0;
}
     







_________________
Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-)
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.08
Prihlásený: 15.05.15
Príspevky: 884
Témy: 3
Príspevok NapísalOffline : 23.05.2009 20:12

Trochu som ti to upravil, teraz by sa uz meno malo zobrazovat spravne (vo vstupnom bufferi zostavali nejake znaky).
Tento program som nedavno riesil, ak chces, mozem ti poslat moj kod.
Kód:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

typedef struct kniha{
        char nazov[101];
        char autor[101];
        int rok;
        float cena;
        }KNIHA;
int pocet=0;
 KNIHA pole[25];



 void Zmen() {
      int i=0;
      printf("\n\n\n\n\n");
      printf("Zadajte kolkatu knihu hcete zmenit\n");
      i=getchar();
      printf("Zadajte nazov knihy\n");
      scanf("%s",pole[i].nazov);
      printf("Zadajte nazov autora\n");
      scanf("%s",pole[i].autor);
      printf("Zadajte z akeho roku je\n");
      scanf("%d",&pole[i].rok);
      printf("Zadajte cenu knihy\n");
      scanf("%f",&pole[i].cena);
      }
 void Zmaz() {
      int i=0;
      printf("\n\n\n\n\n");
      printf("Zadajte cislo knihy ktoru chcete zmazat\n");
      i=getchar();
      strcpy(pole[i].nazov,"\0");
      strcpy(pole[i].autor,"\0");
      pole[i].rok=0;
      pole[i].cena=0.0;
      pocet--;
      }



 void Cisti(void) {
      int i=0;
      for(;i<25;i++) {
      strcpy(pole[pocet].nazov,"\0");
      strcpy(pole[pocet].autor,"\0");
      pole[pocet].rok=0;
      pole[pocet].cena=0.0;
      }

}

 void Pridaj(void) {
      printf("\n\n\n\n\n");
      printf("Zadajte nazov knihy\n");
      scanf("%s",pole[pocet].nazov);
      printf("Zadajte nazov autora\n");
      scanf("%s",pole[pocet].autor);
      printf("Zadajte z akeho roku je\n");
      scanf("%d",&pole[pocet].rok);
      printf("Zadajte cenu knihy\n");
      scanf("%f",&pole[pocet].cena);
      while(getchar() != '\n')
        ;
      pocet++;
}
 void Vypis(void) {
      int i;
      printf("\n\n\n\n\n");
      for(i=0;i<pocet;i++) {

                        printf("%s_%s_%d_%6.1f\n",pole[i].nazov,pole[i].autor,pole[i].rok,pole[i].cena);
                        }
}
   int main() {
    char volba;
    printf("Vzor pri Pridaj nazov Adamko.z.jarku autor AdamKratkozraky,JohnyCash rok 1956 cena 889\n");
    while(volba!='q'&&volba!='Q') {
    printf("\n\n\n\n\n");
    printf("Zadajte volbu:\na)Pridaj\nb)Zmen\nc)Zmaz\nd)Vypis\nq/Q)Koniec\n");

    volba = getchar();
    while (getchar() != '\n')
        ;
    switch(volba) {
                  case 'a': Pridaj();
                  break;
                  case 'b': Zmen();
                  break;
                  case 'c': Zmaz();
                  break;
                  case 'd': Vypis();
                  break;
                  default :
                  break;
                  }
                  }



    system("pause");
    return 0;
}







_________________
Empty your memory, with a free()… like a pointer!
If you cast a pointer to an integer,
it becomes the integer, if you cast a pointer to a struct, it becomes the struct…
The pointer can crash…, and can overflow…
Be a pointer my friend…
Offline

Užívateľ
Užívateľ
C pomoc s funkciami

Registrovaný: 08.03.09
Prihlásený: 06.10.20
Príspevky: 1116
Témy: 88
Bydlisko: 00100100
Príspevok Napísal autor témyOffline : 23.05.2009 20:28

dikes za upravu jj daj pls dakujem :)







_________________
Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-)
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.08
Prihlásený: 15.05.15
Príspevky: 884
Témy: 3
Príspevok NapísalOffline : 23.05.2009 20:44

OK, povodne bol zdrojak v 3 suboroch (+ dalsich 3 hlavickovych suboroch), takze som to cele nahadzal do jedneho. Hned po spusteni sa nacitaju data zo suboru DATA.DAT, ktory moze byt napr. takyto
Kód:
Harry Potter 1
J.K. Rowling
320
159
ikar
Fantasy
2000
Harry Potter 2
J.K. Rowling
360
169
ikar
Fantasy
2001
Harry Potter 3
J.K. Rowling
440
199
ikar
Fantasy
2001

Po skonceni programu su vsetky nove knihy zapisane do tohto suboru. Tu je samotny zdrojak:
Kód:
/* headers.h */

#if !defined _HEADERS_H
#define _HEADERS_H

#define clrscr() system("cls");

#include <iostream>
#include <fstream>
#include <string>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <conio.h>
//#include "book.h"
//#include "menu.h"

using namespace std;

#endif


/* book.h */

#if !defined _BOOK_H
#define _BOOK_H

//#include "headers.h"

using std::string;

class book {
     private:
       string m_meno;
       string m_autor;
       double m_cena;
       int m_stran;
       int m_rok;
       string m_zaner;
       string m_vydavatel;

     public:
       book();
       book(const string & m, const string & a, const double c , const int s, const int r, const string & zaner, string & v);
       ~book();
       void zmen(const string & m, const string & a, const double c , const int s, const int r, const string & zaner, string & v);
       inline void vypis(void);
       inline string meno(void);
       inline string autor(void);
       inline double cena(void);
       inline int stran(void);
       inline int rok(void);
       inline string vydavatel(void);
       inline string zaner(void);
};
#endif

/* menu.h */

#if !defined _MENU_H
#define _MENU_H

enum {_koniec = 'Q', _pridaj = '1', _edituj = '2', _zmaz = '3', _vyhladaj = '4',
      _zorad = '5', _vypis = '6', _nazov = 'a', _autor = 'b', _spat = 'c'};

//#include "headers.h"

#define MAX 30

class menu {
      private:
              book *pole[MAX];
              char *nazov;
              int pocet_knih;
              std::ifstream fin;
              std::ofstream fout;
      public:
             menu(const char *n = "DATA.TXT");
             ~menu();
             int compare(book * a, book * b, int x = _nazov);
             void showmenu(void);
             void pridaj(void);
             int vyhladaj(string str = "", int x = _nazov, int h = 0);
             void zorad();
             void zmaz();
             void edituj();
             void vypis_evidenciu(void);
};

#endif


/* book.cpp */

//#include "headers.h"

book::book()
{
   m_cena = m_stran = 0;
}

book::book(const string & m, const string & a, const double c , const int s, const int r, const string & zaner, string & v)
{
   m_meno = m;
   m_autor = a;
   m_cena = c;
   m_stran = s;
   m_vydavatel = v;
   m_zaner = zaner;
   m_rok = r;
}

book::~book()
{
}

inline void book::vypis(void)
{
     std::cout << m_meno << ", " << m_autor << ", ";
     printf("%.2lf EUR, %d stran, ", m_cena, m_stran);
     std::cout << m_vydavatel << ", " << m_zaner << ", " << m_rok << std::endl;
}

void book::zmen(const string & m, const string & a, const double c , const int s, const int r, const string & zaner, string & v)
{
     this->m_meno = m;
     this->m_autor = a;
     this->m_cena = c;
     this->m_stran = s;
     this->m_vydavatel = v;
     this->m_zaner = zaner;
     this->m_rok = r;
}

inline int book::stran(void)
{
    return m_stran;
}

inline string book::meno(void)
{
    return m_meno;
}

inline string book::autor(void)
{
    return m_autor;
}

inline string book::vydavatel(void)
{
    return m_vydavatel;
}

inline double book::cena(void)
{
    return m_cena;
}

inline int book::rok(void)
{
    return m_rok;
}

inline string book::zaner(void)
{
    return m_zaner;
}

/* menu.cpp */
//#include "headers.h"

menu::menu(const char *n)
{
     int i;
     int stran, rok;
     string meno, autor, vydavatel, zaner;
     double cena;

     nazov = (char *) n;
     pocet_knih = 0;

     fin.open(nazov);

     if (!fin.is_open()) {
        printf("Subor sa nepodarilo otvorit. Bude preto vytvoreny novy\n");
     }else {

       while (!fin.eof() && pocet_knih < MAX) {
           pole[pocet_knih] = new book;

           //fin >> meno >> autor >> stran >> cena >> vydavatel >> zaner >> rok;
           getline(fin, meno);
           if (fin.eof()) {
              break;
           }
           getline(fin, autor);
           fin >> stran; fin.get();
           fin >> cena; fin.get();
           getline(fin, vydavatel);
           getline(fin, zaner);
           fin >> rok; fin.get();

           (*pole[pocet_knih++]).zmen(meno, autor, cena, stran, rok, zaner, vydavatel);
       }
       for (i = pocet_knih; i < MAX; i++)
         pole[i] = NULL;
     }
}

menu::~menu()
{
     int i;

     fout.open(nazov);

     if (!fout.is_open())
        printf("Nepodarilo sa vytvorit subor na zapis.\n");
     else {
       for (i = 0; i < pocet_knih; i++) {
         fout << pole[i]->meno() << endl << pole[i]->autor() << endl << pole[i]->stran() << endl << pole[i]->cena()
              << endl << pole[i]->vydavatel() << endl <<  pole[i]->zaner() << endl <<  pole[i]->rok() << endl;
         delete pole[i];
         pole[i] = NULL;
       }
     }
}


void menu::pridaj(void)
{
   if (pocet_knih == MAX) {
      printf("Plny zoznam.\n");
      return;
   }
   int stran, rok;
   string meno, autor, vydavatel, zaner;
   double cena;
   printf(" Zadaj nazov knihy: ");
   getline(cin, meno);
   printf(" Zadaj meno autora: ");
   getline(cin, autor);
   printf(" Zadaj pocet stran: ");
   cin >> stran; cin.get();
   printf(" Zadaj cenu knihy: ");
   cin >> cena; cin.get();
   printf(" Zadaj vydavatelstvo: ");
   getline(cin, vydavatel);
   printf(" Zadaj zaner: ");
   getline(cin, zaner);
   printf(" Zadaj rok vydania: ");
   cin >> rok; cin.get();
   pole[pocet_knih] = new book;
   (*pole[pocet_knih++]).zmen(meno, autor, cena, stran, rok, zaner, vydavatel);
}

void menu::showmenu(void)
{
   clrscr();
   printf("\n");
   printf("                 _________________________________________\n");
   printf("                                HLAVNE MENU               \n");
   printf("                   1 - Pridaj zaznam                      \n");
   printf("                   2 - Edituj zaznam                      \n");
   printf("                   3 - Zmaz zaznam                        \n");
   printf("                   4 - Vyhladaj zaznam                    \n");
   printf("                   5 - Zorad zaznamy                      \n");
   printf("                   6 - Vypis cely zoznam                  \n");
   printf("                                                          \n");
   printf("                   q - KONIEC                             \n");
   printf("                 _________________________________________\n");
   printf("                                                          \n");
   printf("                   Enter - Spat do menu                   \n");
}

void menu::zmaz()
{
     if (!pocet_knih) {
        printf(" Prazdny zoznam.\n");
        return;
     }
     string str;
     printf(" Zadaj nazov knihy, ktoru chces zmazat: ");
     getline(cin, str);
     int i = vyhladaj(str, _nazov, 1);

     if (i != -1) {
        pole[i] = pole[--pocet_knih];
        printf("\n Vymazane.\n");
     }else
        printf(" Kniha sa v zozname nenachadza.\n");
}

int menu::vyhladaj(string str, int x, int h)
{
     if (!pocet_knih) {
        printf(" Prazdny zoznam.\n");
        return -1;
     }
     int i;
     bool pom = 0, pom2 = 0;

     if (!h) {
        printf(" Zadaj nazov knihy, ktoru chces vyhladat: ");
        getline(cin, str);
        pom = 1;

     }
     for (i = 0; i < pocet_knih; i++) {
         if (x == _autor && pole[i]->autor() == str)
            if (pom) {
               pom2 = 1;
               (*pole[i]).vypis();
            }else
                return i;
         else if (x == _nazov, pole[i]->meno() == str)
            if (pom) {
               pom2 = 1;
               (*pole[i]).vypis();
            }else
                return i;
     }

     if (pom && !pom2)
        printf(" Zadana kniha sa v zozname nenachadza.\n");

     return -1;
}

int menu::compare(book * a, book * b, int x)
{
    if (x == _autor)
       return a->autor() > b->autor();
    else if (x == _nazov)
       return a->meno() > b->meno();
}

void menu::zorad()
{
     if (!pocet_knih) {
        printf(" Prazdny zoznam.\n");
        return;
     }
     int i, j;
     char x = -1;

     printf(" Zorad podla: \n  %c. Nazvu knihy \n  %c. Autora knihy\n  %c. Spat", _nazov, _autor, _spat);

     while (toupper(x) != toupper(_nazov) && toupper(x) != toupper(_autor)) {
           if (toupper(x = getch()) == toupper(_spat))
              return;
     }

     for (i = 0; i < pocet_knih - 1; i++)
         for (j = i; j < pocet_knih; j++)
             if (compare(pole[i], pole[j], x))
                 swap(pole[i], pole[j]);
     printf("\n Zoradene podla %s\n", (toupper(x) == toupper(_nazov)) ? "nazvu" : "autora");
}

void menu::edituj()
{
     int i, stran, rok;
     string meno, autor, vydavatel, zaner, str;
     double cena;

     if (!pocet_knih) {
        printf(" Zoznam prazdny.\n");
        return;
     }

     printf(" Zadaj nazov knihy, ktoru chces editovat: ");
     getline(cin, str);
     i = vyhladaj(str, _nazov, 1);
     if (i == -1) {
           printf(" Kniha sa v zozname nenachadza.\n");
           return;
     }

     printf("\n EDITACIA\n");
     printf(" Zadaj novy nazov knihy: ");
     getline(cin, meno);
     printf(" Zadaj nove meno autora: ");
     getline(cin, autor);
     printf(" Zadaj novy pocet stran: ");
     cin >> stran; cin.get();
     printf(" Zadaj novu cenu knihy: ");
     cin >> cena; cin.get();
     printf(" Zadaj nove vydavatelstvo: ");
     getline(cin, vydavatel);
     printf(" Zadaj novy zaner: ");
     getline(cin, zaner);
     printf(" Zadaj novy rok vydania: ");
     cin >> rok; cin.get();

     (*pole[i]).zmen(meno, autor, cena, stran, rok, zaner, vydavatel);
}

void menu::vypis_evidenciu(void)
{
     int i;
     if (!pocet_knih) {
        printf(" Prazdny zoznam.\n");
        return;
     }
     printf("    - EVIDENCIA -    \n\n");
     for (i = 0; i < pocet_knih; i++) {
         printf("%d. ", i + 1);
         (*pole[i]).vypis();
     }
}
/* main.cpp */

//#include "headers.h"

const char * nazov = "DATA.DAT";

int main(void)
{
    char c;
    menu Menu(nazov);

    Menu.showmenu();

    while (toupper(c = getch()) != _koniec) {
          Menu.showmenu();
          switch (c) {
                 case _pridaj: Menu.pridaj(); break;
                 case _edituj: Menu.edituj();  break;
                 case _zmaz: Menu.zmaz();  break;
                 case _vyhladaj: Menu.vyhladaj(); break;
                 case _zorad: Menu.zorad(); break;
                 case _vypis: Menu.vypis_evidenciu(); break;
                 default: break;
          }
    }

    return 0;
}

Pred skusenim programu teda vytvor subor DATA.DAT a vloz donho tie tituly uvedene hore (to Harry Potter 1 ... atd.) - nie je to povinne, ak subor neexistuje, vytvori sa novy.
:)







_________________
Empty your memory, with a free()… like a pointer!
If you cast a pointer to an integer,
it becomes the integer, if you cast a pointer to a struct, it becomes the struct…
The pointer can crash…, and can overflow…
Be a pointer my friend…
Offline

Užívateľ
Užívateľ
C pomoc s funkciami

Registrovaný: 08.03.09
Prihlásený: 06.10.20
Príspevky: 1116
Témy: 88
Bydlisko: 00100100
Príspevok Napísal autor témyOffline : 23.05.2009 21:23

dakujem si fakt dobry :)







_________________
Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-)
Offline

Užívateľ
Užívateľ
C pomoc s funkciami

Registrovaný: 08.03.09
Prihlásený: 06.10.20
Príspevky: 1116
Témy: 88
Bydlisko: 00100100
Príspevok Napísal autor témyOffline : 23.05.2009 21:55

nepoznate nejake stranky ktore sa zoberaju okennenemu programovaniu ako nie v IDE ale cisto pisanie kodov chepete ne?? :roll:







_________________
Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-)
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.08
Prihlásený: 15.05.15
Príspevky: 884
Témy: 3
Príspevok NapísalOffline : 23.05.2009 22:19

Myslim, ze na to mas este cas, vacsina materialov je v anglictine... Tu mas zoznam stranok - http://www.geocities.com/SiliconValley/ ... itool.html







_________________
Empty your memory, with a free()… like a pointer!
If you cast a pointer to an integer,
it becomes the integer, if you cast a pointer to a struct, it becomes the struct…
The pointer can crash…, and can overflow…
Be a pointer my friend…
Offline

Užívateľ
Užívateľ
C pomoc s funkciami

Registrovaný: 08.03.09
Prihlásený: 06.10.20
Príspevky: 1116
Témy: 88
Bydlisko: 00100100
Príspevok Napísal autor témyOffline : 24.05.2009 8:34

dakujem ano mam este cas a je potrebne sa to ucit len tak pisat j
ked su uz na to IDE?? na jednoduschie aplikacie asi hej ale velke projhekty asi sam treba spravit grafiku :)







_________________
Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-)
Offline

Užívateľ
Užívateľ
C pomoc s funkciami

Registrovaný: 08.03.09
Prihlásený: 06.10.20
Príspevky: 1116
Témy: 88
Bydlisko: 00100100
Príspevok Napísal autor témyOffline : 24.05.2009 9:41

potom tu grafiku som myslel o kniznici window.h nemate nejake linky o nej ako sa co tam pouziva a take??







_________________
Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-)
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.08
Prihlásený: 15.05.15
Príspevky: 884
Témy: 3
Príspevok NapísalOffline : 24.05.2009 13:43

http://en.wikipedia.org/wiki/Windows.h
http://msdn.microsoft.com/en-us/library/aa383749(VS.85).aspx







_________________
Empty your memory, with a free()… like a pointer!
If you cast a pointer to an integer,
it becomes the integer, if you cast a pointer to a struct, it becomes the struct…
The pointer can crash…, and can overflow…
Be a pointer my friend…
Offline

Užívateľ
Užívateľ
C pomoc s funkciami

Registrovaný: 08.03.09
Prihlásený: 06.10.20
Príspevky: 1116
Témy: 88
Bydlisko: 00100100
Príspevok Napísal autor témyOffline : 24.05.2009 14:13

dakujem







_________________
Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-)
Offline

Užívateľ
Užívateľ
C pomoc s funkciami

Registrovaný: 08.03.09
Prihlásený: 06.10.20
Príspevky: 1116
Témy: 88
Bydlisko: 00100100
Príspevok Napísal autor témyOffline : 27.05.2009 14:44

v Mistrvstvi v C++ 2.aktu vydanie hovoria ze je zle ked sa najprv clovek uci C aleb oto je strukturovane programovanie a v C++ je OOP tak ze sa musi ten co sa ucil C odnaucit zle anviky ci co je to pravda??







_________________
Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-)
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.06.08
Prihlásený: 04.07.11
Príspevky: 114
Témy: 12
Príspevok NapísalOffline : 27.05.2009 15:53

neviem ti povedat ci je to pravda C a C++ sa neda porovnavat kedze aj sam si napisal ze jedno je struktorovane a druhe je OOP podla mna je dobre ak sa clovek nauci C a C++ potom bude jednoduchsie sa ucit ked mas nejaku prax z programovania


Offline

Užívateľ
Užívateľ
C pomoc s funkciami

Registrovaný: 30.05.07
Prihlásený: 29.03.14
Príspevky: 641
Témy: 46
Príspevok NapísalOffline : 27.05.2009 17:57

c a c++ sa da porovnavat takto:
C je C
C++ je C + oop pristup + STL, IOL a dalsie kniznice
povodne sa C++ volalo C with classes a je to jazyk priamo odvodeny z C, takze sa to musi dat porovnat...

to ze C ta nauci nieco zle by som ani nepovedal, skor je problem pochopit po C OOP a dokazat riesit problem pomocou OOP a nie C stylom... kazdopadne najskor sa aspon trochu nauc C - aj tak C++ z neho vychadza, hlavne v C su dolezite veci s pamatou - alokacia a podobne - to ak sa nenaucis tak sa C ucis zbytocne, lebo v tom je hlavna vyhoda ze sa pristupuje k pamati priamo...


Offline

Užívateľ
Užívateľ
C pomoc s funkciami

Registrovaný: 08.03.09
Prihlásený: 06.10.20
Príspevky: 1116
Témy: 88
Bydlisko: 00100100
Príspevok Napísal autor témyOffline : 27.05.2009 19:44

aha to prave nwm hii







_________________
Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-)
Offline

Užívateľ
Užívateľ
C pomoc s funkciami

Registrovaný: 14.02.08
Prihlásený: 04.01.15
Príspevky: 1272
Témy: 46
Bydlisko: Bratislava
Príspevok NapísalOffline : 28.05.2009 16:46

aj mne akurat pointre robia problemy :oops:







_________________
CPU:AMD Phenom II X4 960T MB: GA-MA78GM S2H VGA: ASUS EAH4850 512MB DDR3 & AC L2 PRO RAM: 4x 1GB Kingstone 800Mhz PSU: CX400W HDD: SEAGATE Barracuda 7200.10 160GB + Seagate 320GB Monitor :19"LCD ASUS VB191T OS: Win 7 Ultimate 64 bit
Offline

Užívateľ
Užívateľ
C pomoc s funkciami

Registrovaný: 08.03.09
Prihlásený: 06.10.20
Príspevky: 1116
Témy: 88
Bydlisko: 00100100
Príspevok Napísal autor témyOffline : 01.06.2009 17:32

to trochu aj mne viem ako sa pouzivaju ale nwm kdeich mam pozuit ja lebo s nymi vobec nemakam v tom je chyba :-)







_________________
Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-)
Offline

Užívateľ
Užívateľ
C pomoc s funkciami

Registrovaný: 14.02.08
Prihlásený: 04.01.15
Príspevky: 1272
Témy: 46
Bydlisko: Bratislava
Príspevok NapísalOffline : 01.06.2009 17:39

ja uz ich ovladam, akurat si treba uvedomit na co su a ako s nimi pracovat, pouzit sa pouzivaju napr. pri praci v retazcoch







_________________
CPU:AMD Phenom II X4 960T MB: GA-MA78GM S2H VGA: ASUS EAH4850 512MB DDR3 & AC L2 PRO RAM: 4x 1GB Kingstone 800Mhz PSU: CX400W HDD: SEAGATE Barracuda 7200.10 160GB + Seagate 320GB Monitor :19"LCD ASUS VB191T OS: Win 7 Ultimate 64 bit
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.06.08
Prihlásený: 04.07.11
Príspevky: 114
Témy: 12
Príspevok NapísalOffline : 01.06.2009 18:01

nie len pri praci v retazcoch ale aj pri praci so subormi a este neviem cim vsetkym moznym


Offline

Užívateľ
Užívateľ
C pomoc s funkciami

Registrovaný: 08.03.09
Prihlásený: 06.10.20
Príspevky: 1116
Témy: 88
Bydlisko: 00100100
Príspevok Napísal autor témyOffline : 01.06.2009 18:51

to chapem celkom







_________________
Programming is The Best
Hackers Are Not Crackers!!! Hackers build things, crackers break them!
;-)
Odpovedať na tému [ Príspevkov: 166 ] Choď na stránku: predchádzajúca 1, 2, 3, 4, 5, 6 ďalšia


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Problém s 2 funkciami

v JavaScript, VBScript, Ajax

0

256

02.04.2013 17:34

maťo* Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prenos premennych medzi funkciami

v PHP, ASP

6

531

27.08.2012 4:26

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako nastaviť všetkým EditBoxom jedno PopUp menu s funkciami?

v Delphi, Visual Basic

9

744

01.08.2010 22:22

Manny Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pomoc pomoc prosim nefunguje internet

v Ovládače

7

1145

09.09.2017 20:37

Smith Wesson Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pomoc pri pomoc pri skladaní PC - od 1 500 do 1 800 Eur (rozlíšenie 1440p)

v PC zostavy

13

808

28.09.2023 20:23

johny314 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pomoc

v JavaScript, VBScript, Ajax

2

879

15.05.2009 20:15

firewall Zobrazenie posledných príspevkov

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. pomoc

v HTML, XHTML, XML, CSS

1

376

18.10.2013 18:36

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. POMOC

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Ostatné

30

2274

27.09.2009 20:01

workoholik16 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pomoc

v PHP, ASP

2

789

02.02.2008 17:17

Punker661 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pomoc

v Ostatné

13

954

08.08.2009 22:16

malcolm Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pomoc

v ATI/AMD grafické karty

3

863

02.01.2008 7:51

Daron Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pomoc

v Monitory, televízory a projektory

2

875

19.02.2008 13:40

patqo_he Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pomoc

v nVidia grafické karty

1

1033

02.02.2007 10:51

Harlequin Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pomoc

v Počítačové hry

2

588

13.06.2012 18:02

PepeTheDragon Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pomoc

v ATI/AMD grafické karty

10

1064

10.01.2008 8:48

kasom Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. POMOC ???

v Delphi, Visual Basic

2

1259

27.03.2008 14:32

Martinek6 Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  
cron

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra