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

Pentru tabloul unidimensional dat cu elemente de tip structură
să se afișeze la ecran următorul meniu de opțiuni:
Să se elaboreze funcțiile pentru implementarea opțiunilor meniului
puts("1. Alocarea dinamica a memoriei p/u tabl. de structuri");
puts("2. Introducerea elementelor tabloului de la tastatura");
puts("3. Afisarea elementelor tabloului la ecran ");
puts("4. Adaugarea unui element nou la sfirsit");
puts("5. Modificarea elementului tabloului");
puts("6. Cautarea elementului tabloului");
puts("7. Sortarea tabloului");
puts("8. Eliminarea elementului indicat din tablou ");
puts("9. Eliberarea memoriei alocate pentru tablou ");
puts("10. Inserarea Unui element");
puts("11. Citirea Elementelor din Fisier ");
puts("12. Salvarea Elementelor in Fisier");
puts("0. Iesire din program");
Structura Universitate cu câmpurile: denumirea, adresa, telefonul,
numărul de facultăți, numărul de studenți.In limbajul C/C++

Răspunsuri la întrebare

Răspuns de school2myneed
0

Răspuns:

#include <iostream>

using namespace std;

struct Universitate {

   string denumire;

   string adresa;

   int telefon;

   int numar_facultati;

   int numar_studenti;

};

Universitate* alocare_dinamica(int n) {

   Universitate* tab = new Universitate[n];

   return tab;

}

void introducere_elemente(Universitate* tab, int n) {

   for (int i = 0; i < n; i++) {

       cout << "Introduceti denumirea universitatii: ";

       cin >> tab[i].denumire;

       cout << "Introduceti adresa universitatii: ";

       cin >> tab[i].adresa;

       cout << "Introduceti telefonul universitatii: ";

       cin >> tab[i].telefon;

       cout << "Introduceti numarul de facultati: ";

       cin >> tab[i].numar_facultati;

       cout << "Introduceti numarul de studenti: ";

       cin >> tab[i].numar_studenti;

   }

}

void afisare_elemente(Universitate* tab, int n) {

   for (int i = 0; i < n; i++) {

       cout << "Universitatea " << i+1 << ":" << endl;

       cout << "Denumire: " << tab[i].denumire << endl;

       cout << "Adresa: " << tab[i].adresa << endl;

       cout << "Telefon: " << tab[i].telefon << endl;

       cout << "Numar facultati: " << tab[i].numar_facultati << endl;

       cout << "Numar studenti: " << tab[i].numar_studenti << endl;

   }

}

void adaugare_element(Universitate* tab, int &n) {

   n++;

   Universitate* tab_nou = new Universitate[n];

   for (int i = 0; i < n-1; i++) {

       tab_nou[i] = tab[i];

   }

   cout << "Introduceti denumirea universitatii: ";

   cin >> tab_nou[n-1].denumire;

   cout << "Introduceti adresa universitatii: ";

   cin >> tab_nou[n-1].adresa;

   cout << "Introduceti telefonul universitatii: ";

   cin >> tab_nou[n-1].telefon;

   cout << "Introduceti numarul de facultati: ";

   cin >> tab_nou[n-1].numar_facultati;

   cout << "Introduceti numarul de studenti: ";

   cin >> tab_nou[n-1].numar_studenti;

   delete

int main() {

   int optiune, n;

   Universitate* tab;

   do {

       cout << "Alegeti o optiune:" << endl;

       cout << "1. Alocarea dinamica a memoriei p/u tablou de structuri" << endl;

       cout << "2. Introducerea elementelor tabloului de la tastatura" << endl;

       cout << "3. Afisarea elementelor tabloului la ecran" << endl;

       cout << "4. Adaugarea unui element nou la sfarsit" << endl;

       cout << "5. Modificarea elementului tabloului" << endl;

       cout << "6. Cautarea elementului tabloului" << endl;

       cout << "7. Sortarea tabloului" << endl;

       cout << "8. Eliminarea elementului indicat din tablou" << endl;

       cout << "9. Eliberarea memoriei alocate pentru tablou" << endl;

       cout << "10. Inserarea unui element" << endl;

       cout << "11. Citirea elementelor din fisier" << endl;

       cout << "12. Salvarea elementelor in fisier" << endl;

       cout << "0. Iesire din program" << endl;

       cin >> optiune;

       switch (optiune) {

           case 1:

               cout << "Introduceti numarul de elemente: ";

               cin >> n;

               tab = alocare_dinamica(n);

               break;

           case 2:

               introducere_elemente(tab, n);

               break;

           case 3:

               afisare_elemente(tab, n);

               break;

           case 4:

               adaugare_element(tab, n);

               break;

           case 5:

               // Function to modify an element in the array

               break;

           case 6:

               // Function to search for an element in the array

               break;

           case 7:

               // Function to sort the array

               break;

           case 8:

               // Function to delete an element from the array

               break;

           case 9:

               // Function to free memory allocated for the array

               break;

           case 10:

               // Function to insert an element in the array

               break;

           case 11:

               // Function to read elements from a file

               break;

           case 12:

               // Function to save elements to a file

               break;

       }

   } while (optiune != 0);

   return 0;

}

Explicație:

Funcția principală prezintă un meniu cu opțiuni din care utilizatorul poate alege și apelează funcția corespunzătoare în funcție de alegerea utilizatorului.

Opțiunile sunt:

Alocați memorie dinamic pentru matricea de structuri.

Introduceți elementele matricei de la tastatură.

Afișați elementele matricei pe ecran.

Adăugați un nou element la sfârșit.

Modificați un element al matricei.

Căutați un element al matricei.

Alte întrebări interesante