Sunteți pe pagina 1din 6

Centrul de Excelență în Informatică li Tehnologii Informaționale

Studiul individual
Nr. 1
Programarea Orientată pe
Obiecte
POO

Elev: Ursu Nicon


Profesor: Dobrovolischii Olga
Centrul de Excelență în Informatică li Tehnologii Informaționale

import java.util.Scanner;
class Carte { // clasa Carte
public int Id; // id cartii
public String Denumire; // denumirea cartii
public String Autor; // autorul cartii
public String Editura; // editura cartii
Carte(int Id,String Denumire,String Autor,String Editura) {
// constructorul clasei cu parametrii necesari
this.Id=Id;
this.Denumire=Denumire;
this.Autor=Autor;
this.Editura=Editura;
}
public static void main (String [] args) {
try {
FileWriter file = new FileWriter (“carte.txt”);
File.write (Carte());
File.write close();}
catch(Eception ex){ex.printstrackTrace();}
try {
FileReader lector = new FileRrader (“carte.txt”);
BufferedReader BR = new BufferedReader(lector);
System.out.printl(BR.readline());}
catch(Exception ex){ex.printStackTrace();}
}
public void afisare() { // metoda care afiseaza unele
date despre carte
System.out.println("ID:"+Id);
System.out.println("Denumire:"+Denumire);
System.out.println("Autor:"+Autor);
System.out.println("Editura:"+Editura);
}
}
class DateCarte extends Carte { // clasa DateCarte care
mosteneste datele din clasa Carte
public int AnEditie; // anul editarii cartii
public int NumarPagini; // numarul de pagini
public int Pret; // pretul cartii
public String TipCoperta; // tipul copertei
DateCarte(int Id,String Denumire,String Autor,String Editura,int
AnEditie,int NumarPagini,int Pret,String TipCoperta) { // constructorul
clasei cu parametrii necesari
super(Id,Denumire,Autor,Editura); // mostenim datele din
clasa Carte
this.Id=Id;
this.Denumire=Denumire;
this.Autor=Autor;
this.Editura=Editura;
this.AnEditie=AnEditie;
this.NumarPagini=NumarPagini;
this.Pret=Pret;
this.TipCoperta=TipCoperta;
}
Centrul de Excelență în Informatică li Tehnologii Informaționale

public void afisare() { // afisarea la ecran a datelor despre


carte
super.afisare(); // apelarea metodei de
afisarea din clasa Carte
System.out.println("Anul editiei:"+AnEditie);
System.out.println("Numarul de pagini:"+NumarPagini);
System.out.println("Pret:"+Pret+" lei");
System.out.println("Tipul copertei:"+TipCoperta);

System.out.println("################################################");
}
}
public class SetCarti {
public static void afisareCarte(DateCarte[] carte) {
// metoda ce afiseaza la ecran toate cartile
for(int i=0;i<carte.length;i++) {
carte[i].afisare(); // apelam metoda de
afisare din clasa DateCarte
}
}
public static void autor(DateCarte[] autor) { //
metoda ce afiseaza lista cartilor unui autor anumit
Scanner cin=new Scanner(System.in); // declara un
obiect de tip Scanner
String a; // declaram variabila a care va fi
numele autorului introdus
System.out.println("Introduceti autorul:");
a=cin.next(); // introducem numele autorului
System.out.println("Lista cartilor cu autorul "+a);
for(int i=0;i<autor.length;i++) {
if(autor[i].Autor.equals(a)) { // daca
conditia va fi adevarata
autor[i].afisare(); // se va apela
metoda de afisare
}
}
}
public static void editura(DateCarte[] edit) { //
metoda ce va afisa lista cartilor de o anumita editura
Scanner cin=new Scanner(System.in); // cream un
obiect de tip Scanner
String editura; // variabila care va servi ca
numele editurii pe care o vom introduce
System.out.println("Introduceti editura:");
editura=cin.next(); // introducem editura
for(int i=0;i<edit.length;i++) {
if(edit[i].Editura.equals(editura)) {
// daca conditia va fi adevarata
edit[i].afisare(); // se va apela
metoda de afisare
}
}
}
Centrul de Excelență în Informatică li Tehnologii Informaționale

public static void numcarti(DateCarte[] num) { //


metoda ce va afisa numarul cartilor care au mai mult de 500 de pagini
int nr=0; // numarul de carti ce au mai mult de
500 de pag
for(int i=0;i<num.length;i++) {
if(num[i].NumarPagini >= 500) { // daca
se vor gasi carti care au numarul de pagini mai mare de 500
nr++; // valoarea lui nr se va mari
cu o unitate
}
}
System.out.println("Numarul cartilor ce au mai mult de 500
de pagini:"+nr);
}
public static void editan(DateCarte[] an) { // metoda ce va
afisa lista cartilor editate dupa un anumit an
Scanner cin=new Scanner(System.in); // cream un
obiect de tip Scanner
int anul; // anul introdus de la tastatura
System.out.println("Introduceti anul:");
anul=cin.nextInt(); // introducem anul
System.out.println("Lista cartilor editate dupa anul
"+anul+":");
for(int i=0;i<an.length;i++) {
if(an[i].AnEditie > anul) { // daca se vor
gasi carti editate dupa anul introdus
an[i].afisare(); // se va apela
metoda de afisare
}
}
}
public static void pret(DateCarte[] pret) { // metoda ce va
afisa lista cartilor ce au pretul mai mic de 200
System.out.println("Lista cartilor mai ieftine de 200
lei:");
for(int i=0;i<pret.length;i++) {
if(pret[i].Pret < 200) { // daca se vor
gasi carti mai ieftine de 200 de lei
pret[i].afisare(); // se va apela
metoda de afisare
}
}
}
public static void main(String[] args) { // metoda principala
Scanner cin=new Scanner(System.in); // cream un obiect de tip
Scanner
int n; // declara variabila n ce va fi numarul de carti
System.out.println("Introduceti numarul de carti:");
n=cin.nextInt(); // introducem numarul de carti
DateCarte[] carte=new DateCarte[n]; // cream un obiect al clasei
DateCarte
for(int i=0;i<n;i++) {
System.out.println("Introduceti datele despre carte:");
// introducem datele despre carte
Centrul de Excelență în Informatică li Tehnologii Informaționale

System.out.println("ID:");
int id=cin.nextInt(); // introducem id cartii
System.out.println("Denumire:");
String denum=cin.next(); // introducem denumirea
cartii
System.out.println("Autor:");
String autor=cin.next(); // introducem autorul
cartii
System.out.println("Editura:");
String editura=cin.next(); // introducem editura
cartii
System.out.println("Anul editarii cartii:");
int an=cin.nextInt(); // introducem anul
editarii cartii
System.out.println("Numarul de pagini:");
int pag=cin.nextInt(); // introducem numarul
de pagini
System.out.println("Pret:");
int pret=cin.nextInt(); // introducem
pretul cartii
System.out.println("Tipul copertei:");
String tip=cin.next(); // introducem tipul
copertei
carte[i]=new
DateCarte(id,denum,autor,editura,an,pag,pret,tip);
}
int a;
do {
// meniul programului
System.out.println("1.Afișarea datelor colectate;");
System.out.println("2.Afișarea listei cărților unui autor
anumit;");
System.out.println("3.Afișarea listei cărților unei edituri
anumite;");
System.out.println("4.Afișarea numărului de cărți ce au
numărul de pagini mai mare ca 500;");
System.out.println("5.Afișarea listei cărților editate după
un an anumit;");
System.out.println("6.Afișarea listei cărților ce au preț
mai mic de 200 lei. \n");
System.out.println("Alegeti o optiune:");
a=cin.nextInt(); // introducem o optiune din
meniu
switch(a) {
case 1: afisareCarte(carte); break; // se va apela
metoda de afisare
case 2: autor(carte); break; // se va apela metoda
ce afiseaza lista cartilor editate de un autor
case 3: editura(carte); break; // se va apela
metoda ce va afisa lista cartilor de o anumita editura
case 4: numcarti(carte); break; // se va apela
metoda ce va afisa numarul de carti ce au mai mult de 500 de pagini
case 5: editan(carte); break; // se va apela
metoda ce va afisa lista cartilor editate dupa un an anumit
Centrul de Excelență în Informatică li Tehnologii Informaționale

case 6: pret(carte); break; // se va apela metoda


ce va afisa lista cartilor mai ieftine de 200 de lei
}
} while(a!=0);
}
}

P.S. Îmi cer iertare că nu pot demonstra prin fotografii cum merge programul, căci
programul ,,eclipse” mi s-a blocat și trebuie să găsesc o soluție. Mulțumesc
anticipat pentru atenție și înțelegere.

S-ar putea să vă placă și