Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <iostream>
- #include <stdlib.h>
- #include <cstring>
- using namespace std;
- ifstream fin("fisier.in");
- ofstream fout("fisier.out");
- class Articol {
- protected:
- int cota;
- char *titlul;
- public:
- Articol() {
- cota=0;
- titlul=new char[30];
- }
- Articol(int cota, char *titlul) {
- this->cota=cota;
- this->titlul=new char[30];
- strcpy(this->titlul,titlul);
- ///this->titlul=titlul;
- }
- Articol(Articol &art) {
- *this=art;
- }
- int getCota() {
- return cota;
- }
- void setCota(int cota) {
- this->cota=cota;
- }
- char *getTitlul() {
- return titlul;
- }
- void setTitlul(char *title) {
- strcpy(titlul, title);
- }
- ~Articol() {
- delete titlul;
- }
- void display() {
- cout<<cota<<"\n";
- cout<<titlul<<"\n";
- }
- void read() {
- fin>>cota;
- fin>>titlul;
- }
- };
- class Revista : public Articol {
- protected:
- int nr;//Numarul revistei
- int tiraj;
- int frecv;// Numarul de aparitii pe luna
- public:
- Revista(int nr,int tiraj,int frecv) : Articol(cota, titlul) {
- this->nr=nr;
- this->tiraj=tiraj;
- this->frecv=frecv;
- }
- Revista(Revista &rev) {
- *this=rev;
- }
- void display() {
- fout<<cota<<"\n";
- fout<<titlul<<"\n";
- fout<<nr<<"\n";
- fout<<tiraj<<"\n";
- fout<<frecv<<"\n";
- }
- void read() {
- fin>>cota;
- fin>>titlul;
- fin>>nr;
- fin>>tiraj;
- fin>>frecv;
- }
- };
- class Carte : public Articol {
- protected:
- char *autor;
- char *editura;
- int an;//anul aparitiei
- public:
- Carte(char *autor,char *editura, int an) : Articol(cota, titlul) {
- this->autor=autor;
- this->editura=editura;
- this->an=an;
- }
- Carte(Carte &car) {
- *this=car;
- }
- void display() {
- fout<<cota<<"\n";
- fout<<titlul<<"\n";
- fout<<autor<<"\n";
- fout<<editura<<"\n";
- fout<<an<<"\n";
- }
- void read() {
- fin>>cota;
- fin>>titlul;
- fin>>autor;
- fin>>editura;
- fin>>an;
- }
- };
- int main() {
- Articol a[200];
- int n;
- fin>>n;
- for (int i=1;i<=n;i++) {
- a[i].read();
- }
- while (true) {
- cout<<"Alege optiunea dorita:"<<"\n";
- cout<<"1. Afisare lista"<<"\n";
- cout<<"2. Cautare articol"<<"\n";
- cout<<"3. Stergerea unui articol"<<"\n";
- cout<<"4. Incheiere program"<<"\n";
- int x;
- cin>>x;
- char z[30];
- int ok=1;
- int poz=0;
- switch(x) {
- case 1:
- system("cls");
- for (int i=1;i<=n;i++) {
- a[i].display();
- }
- break;
- case 2:
- system("cls");
- cout<<"Care este numele articolului cautat?"<<"\n";
- cin>>z;
- for (int i=1;i<=n;i++) {
- if (strcmp(a[i].getTitlul(),z)==0) {
- cout<<"Articolul cautat se afla pe pozitia "<<a[i].getCota()<<"\n";
- ok=0;
- break;
- }
- }
- if (ok) {
- cout<<"Articolul nu a fost gasit"<<"\n";
- }
- ok=1;
- break;
- case 3:
- system("cls");
- cout<<"Care este numele articolului pe care doriti sa il stergeti?"<<"\n";
- cin>>z;
- poz=n+1;
- for (int i=1;i<=n;i++) {
- if (strcmp(a[i].getTitlul(),z)==0) {
- poz=i;
- ok=0;
- break;
- }
- }
- if (ok) {
- cout<<"Articolul nu a fost gasit"<<"\n";
- }
- else {
- for (int i=poz;i<=n;i++) {
- a[i].setCota(a[i+1].getCota());
- a[i].setTitlul(a[i+1].getTitlul());
- }
- n--;
- cout<<"Articolul a fost sters!"<<"\n";
- }
- ok=1;
- break;
- case 4:
- system("cls");
- return 0;
- break;
- }
- cout<<"Doresti alta operatie?(D/N): ";
- char y;
- cin>>y;
- if (y=='D') system("cls");
- if (y=='N') return 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement