Napisz program, który w tablicy dwuwymiarowej będzie przechowywał dane w następujący sposób: każdy wiersz zawiera imię, nazwisko i numer telefonu 1 osoby. Tabela zawiera 5 wierszy z danymi 5 osób. Użytkownik wprowadza nazwisko wybranej osoby. Po wprowadzeniu nazwiska powinna zostać wyświetlona informacja zawierająca imię, naziwsko i numer telefonu wybranej osoby. Po wpisaniu nieprawidłowego nazwiska powinien się pojawić komunikat informujący o tym, a zakończenie wyszukiwania osób powinno nastąpić po wpisaniu po nazwisku tekstu "nn".

ROZWIĄZANIE PROSZĘ JAKO KOD W C++


Odpowiedź :

/* Jak umiałem, tak zrobiłem, może się nada. Niżej dwa przykładowe wywołania */

#include <iostream>

#include <string>

class Person

{

   private:

   std::string m_firstName;

   std::string m_lastName;

   int m_phoneNumber;

   public:

   Person(std::string fn, std::string ln, int pn) : m_firstName{fn}, m_lastName{ln}, m_phoneNumber{pn}

   {}

   std::string getFirstName() const

   {

       return m_firstName;

   }

   std::string getLastName() const  

   {

       return m_lastName;

   }

   int getPhoneNumber() const

   {

       return m_phoneNumber;

   }

};

std::ostream& operator<<(std::ostream& out, const Person& p)

{

   out << "Imie: " << p.getFirstName() << "\nNazwisko: "  

       << p.getLastName() << "\nNr. tel.: " << p.getPhoneNumber();  

   return out;

}

int main()

{

   Person arr[5]  

   {

       {"Nikodem", "Dyzma", 123456789},

       {"Jacek", "Soplica", 987654321},

       {"Juliusz", "Slowacki", 111111111},

       {"Adam", "Mickiewicz", 22222222},

       {"Fryderyk", "Chopin", 999999999}

   };

   

   std::cout << "\nWprowadz szukane nazwisko: ";

   std::string line;

   std::cin >> line;

   std::string lastName = line.substr(0, line.find("nn"));

   std::cout << "Wprowadzono: " << lastName << '\n'; // test

   bool found;

   for(auto elem : arr)

   {

       if(lastName == elem.getLastName())  

       {

           std::cout << elem << '\n';

           found = true;

       }

   }

   

   if(found == false) std::cout << "Tego nazwiska brak w bazie!\n";

}

Zobacz obrazek Аноним