Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <stdlib.h>
- using namespace std;
- struct univerzitet
- {
- char naziv[30];
- };
- struct fakultet
- {
- char naziv[30];
- univerzitet univerzitet;
- };
- struct student
- {
- int broj_indeksa;
- char ime_prezime[30];
- fakultet fakultet;
- };
- student unosStudenta()
- {
- student s;
- cout << "Unesite ime i prezime studenta: " << endl;
- cin.getline(s.ime_prezime, 30);
- cout << "Unesite broj indeksaa: " << endl;
- cin >> s.broj_indeksa;
- cin.ignore();
- cout << "Unesite naziv univerziteta: " << endl;
- cin.getline(s.fakultet.univerzitet.naziv, 30);
- cout << "Unesite naziv fakulteta: " << endl;
- cin.getline(s.fakultet.naziv, 30);
- return s;
- }
- void printStudenta(student& s)
- {
- cout << "\n============STUDENT============\n";
- cout << "Ime studenta je: \t\t" << s.ime_prezime << endl;
- cout << "Broj indexa je: \t\t" << s.broj_indeksa << endl;
- cout << "Naziv univerziteta je: \t" << s.fakultet.univerzitet.naziv << endl;
- cout << "Naziv fakulteta je: \t\t" << s.fakultet.naziv << endl;
- }
- void snimiUFajl(char imeFajla[], student student1)
- {
- ofstream upis(imeFajla,ios::out | ios::binary);
- cout << "obj std upisujem u fajl " << imeFajla << endl;
- upis.write((char*)(&student1), sizeof(student1));
- upis.close();
- cout << "sadrzaj fajla " << imeFajla << " upisujemo objekat student2" << endl;
- /*if (!(upis.fail()))
- {
- upis << student1.broj_indeksa <<endl << student1.ime_prezime << endl << student1.fakultet.naziv << endl << student1.fakultet.univerzitet.naziv << endl;
- }
- else
- cout << "problem kreiranje datoteke " << endl;
- upis.close();*/
- }
- void procitajIzFajla(char imeFajla[255], student& s)
- {
- ifstream ispis(imeFajla, ios::in | ios::binary);
- /*char znak;
- if (!(ispis.fail()))
- while (ispis.get(znak))
- cout << znak;
- else
- cout << "greska " << endl;
- ispis.close();*/
- ispis.read((char*)(&s), sizeof(s));
- ispis.close();
- }
- void main()
- {
- //kreiramo objekat kojim cemo upisati sadrzaj u fajl
- student s1 = unosStudenta();
- char imeFajla[255];
- cout << "Unesite ime fajla: " << endl;
- cin.getline(imeFajla, 255);
- snimiUFajl(imeFajla, s1);
- student s2;
- procitajIzFajla(imeFajla, s2);
- printStudenta(s2);
- system("pause");
- }
- ------------------------------------------------
- #include <iostream>
- #include <fstream>
- using namespace std;
- #include <stdlib.h>
- char * crt = "\n==========================================================\n";
- char * poruka_o_gresci = "Greska prilikom otvaranja fajla!";
- void UnosSadrzaja(const char * nazivFajla)
- {
- cout << crt << "\t\t::UNOS SADRZAJA::" << crt;
- const int max = 200;
- char tekst[max];
- cout << "unesite sadrzaj " << endl;
- cin.getline(tekst, 200);
- ofstream unos(nazivFajla);
- if (!unos.fail()) {
- unos << tekst << endl;
- unos.close();
- }
- else
- cout << "greska pri kreiranju i otvaranju datoteke " << endl;
- }
- void PrikazSadrzaja(const char * nazivFajla)
- {
- cout << crt << "\t\t::PRIKAZ SADRZAJA::" << crt;
- ifstream ispis(nazivFajla);
- char znak;
- if (!ispis.fail())
- while (ispis.get(znak))
- cout << znak;
- else
- cout << "greska pri prikazu datoteke " << endl;
- ispis.close();
- }
- void DodavanjeSadrzaja(const char * nazivFajla)
- {
- cout << crt << "\t\t::DODAVANJE SADRZAJA::" << crt;
- const int max = 200;
- char noviTekst[max];
- //fajl mora postojati - ios::_Nocreate
- ofstream dodaj(nazivFajla, ios::app, ios::_Nocreate);
- if (dodaj.fail())
- cout << "uspjesno otvoreno " << endl;
- cout << "unesite text " << endl;
- cin.getline(noviTekst, max);
- dodaj << noviTekst << endl;
- dodaj.close();
- }
- void KopiranjeSadrzaja(const char * nazivFajla)
- {
- cout << crt << "\t\t::KOPIRANJE SADRZAJA::" << crt;
- const int max = 30;
- char nazivNovogFajla[max];
- char text[200];
- cout << "unesite ime novog sadrzaja " << endl;
- cin.getline(nazivNovogFajla, max);
- ifstream stari(nazivFajla);
- char znak;
- for (int i = 0; i < 200; i++)
- {
- stari.get(znak);
- text[i] = znak;
- }
- stari.close();
- ofstream noviFajl(nazivNovogFajla);
- noviFajl << text << endl;
- noviFajl.close();
- }
- int VelicinaFajla(const char * nazivFajla)
- {
- cout << crt << "\t\t::VELICINA FAJLA::" << crt;
- int brojac = 0;
- ifstream kolikoJeFajl(nazivFajla);
- kolikoJeFajl.seekg(0, ios::end);
- brojac = kolikoJeFajl.tellg();
- kolikoJeFajl.close();
- return brojac;
- }
- void PretragaSadrzajaKarakter(const char * nazivFajla)
- {
- cout << crt << "\t\t::PRETRAGA::" << crt;
- char trazeni;
- cout << "Unesite znak koji trazite: ";
- cin >> trazeni;
- char znak;
- ifstream fajl(nazivFajla);
- while (fajl.get(znak))
- {
- if (znak == trazeni)
- cout << "trazeni znak " << trazeni << " je na poziciji " << fajl.tellg() << endl;
- }
- fajl.close();
- }
- void PretragaSadrzajaRijec(const char * nazivFajla)
- {
- cout << crt << "\t\t::PRETRAGA::" << crt;
- char trazeni[50];
- cout << "Unesite rijec koju trazite: ";
- cin.getline(trazeni, 50);
- char rijec;
- ifstream ispisRijeci(nazivFajla);
- if (!ispisRijeci.fail()) {
- char * strf = new char[VelicinaFajla(nazivFajla) + 1];
- char c;
- int b = 0;
- while (ispisRijeci.get(c))
- {
- strf[b] = c;
- b++;
- }
- strf[b] = '\0';
- char *r = strstr(strf, trazeni);
- if (r != nullptr)
- cout << "pronadjeno na " << r << endl;
- }
- }
- void BrisanjeSadrzaja(const char * nazivFajla)
- {
- cout << crt << "\t\t::BRISANJE SADRZAJA::" << crt;
- //...
- }
- //da li je izbor trebao biti povratna vrijednost?
- void prikaziMeni(int & izbor)
- {
- do
- {
- cout << crt << "\t\t::MANIPULISANJE FAJLOVIMA::" << crt;
- cout << "1. Upisi sadrzaj u fajl. " << endl;
- cout << "2. Prikazi sadrzaj fajla. " << endl;
- cout << "3. Dodaj novi sadrzaj fajlu. " << endl;
- cout << "4. Kopiraj sadrzaj fajla u drugi fajl. " << endl;
- cout << "5. Pretrazuj sadrzaj fajla (karakter). " << endl;
- cout << "6. Pretrazuj sadrzaj fajla (rijec). " << endl;
- cout << "7. Prikazi velicinu fajla. " << endl;
- cout << "8. Brisi sadrzaj fajla. " << endl;
- cout << "9. Rad sa novim fajlom. " << endl;
- cout << "10. Izadji iz programa. " << crt;
- cout << "Unesite vas izbor: ";
- cin >> izbor;
- std::cin.ignore();
- system("cls");
- } while (izbor<1 || izbor>10);
- }
- void main()
- {
- int izbor = 1;
- const int max = 30;
- char nazivFajla[max];
- do
- {
- cout << crt << "\t\t::MANIPULISANJE FAJLOVIMA::" << crt;
- cout << "Unesite ime fajla i ekstenziju: ";
- cin.getline(nazivFajla, max);
- do
- {
- prikaziMeni(izbor);
- switch (izbor)
- {
- case 1:
- UnosSadrzaja(nazivFajla); break;
- case 2:
- PrikazSadrzaja(nazivFajla); break;
- case 3:
- DodavanjeSadrzaja(nazivFajla); break;
- case 4:
- KopiranjeSadrzaja(nazivFajla); break;
- case 5:
- PretragaSadrzajaKarakter(nazivFajla); break;
- case 6:
- PretragaSadrzajaRijec(nazivFajla); break;
- case 7:
- cout<<"velicina fajla je "<<VelicinaFajla(nazivFajla)<<" bytes"; break;
- //case 8:
- //BrisanjeSadrzaja(nazivFajla); break;*/
- }
- } while (izbor != 9 && izbor != 10);
- } while (izbor != 10);
- system("pause");
- }
Add Comment
Please, Sign In to add comment