Informatică, întrebare adresată de superandriesh, 8 ani în urmă

Se considera date despre cartile dintr-o biblioteca (denumirea, autorul, numarul de pagini). Sa se scrie un program care va afisa
datele cartii cu numarul de pagini cel mai mare si deasemenea denumirea cartilor scrise de Eminescu.

In orice limbaj de programare de preferat in C.

Sa se foloseasca functia struct

Răspunsuri la întrebare

Răspuns de Paddon
1

class Carte:

  def __init__(self, denumire = None, autor = None, numar_de_pagini = None):

      self.denumire = denumire

      self.autor = autor

      self.numar_de_pagini = numar_de_pagini

  def __str__(self):

      return f"\"{self.denumire.capitalize()}\" de {self.autor.capitalize()}"

carti = list()

# Asigurarea ca numarul de carti este un numar

while True:

  try:

      numar_de_carti = int( input( "Introduceti numarul de carti: " ) )

      break

  except ValueError:

      print("Numar invalid.")

      print()

# Eroare la numar invalid

if numar_de_carti < 1:

  raise ValueError("Numar invalid de carti.")

# Citeste cartile, se asigura ca numarul de pagini este valid si memoreaza pozitia cartii cu cele mai multe pagini

numar_maxim_de_pagini = 0

for i in range(numar_de_carti):

  denumire = input("Introduceti denumirea cartii: ")

  autor = input("Introduceti numele autorului: ")

  while True:

      try:

          numar_de_pagini = int(input("Introduceti numarul de pagini: "))

          break

      except ValueError:

          print("Numar invalid.")

          print()

  if numar_de_pagini < 1:

      raise ValueError("Numar invalid de pagini.")

  if numar_de_pagini > numar_maxim_de_pagini:

      numar_maxim_de_pagini = numar_de_pagini

      pozitie = i

  carte = Carte(denumire, autor, numar_de_pagini)

  carti.append(carte)

# Scrie cartea cu cel mai mare numar de pagini

print(f"Cartea cu cele mai multe pagini este: {carti[pozitie]} ({carti[pozitie].numar_de_pagini} de pagini)")

# Scrie cartile scrise de Eminescu

for carte in range(numar_de_carti):

  if "Eminescu" in carti[carte].autor.capitalize():

      print(carti[carte])


dianaflorinastan: Buna!
dianaflorinastan: Ce faci?
dianaflorinastan: Stii ceva am priceput ca nu ai chef de mine si intrebarile mele
dianaflorinastan: Intri si iesi fara sa te uiti macar la ce ti-am scris
dianaflorinastan: Am inteles foarte bine!
superandriesh: te ascult
Alte întrebări interesante