struct.cpp

Shkarkuar 566 herë. Ngarkuar më Mars 2010

c++
struct
rekord
record
cpp
Shkarko Kthehu ne C++
/*
 * Program shembull ne C++
 * i cili mban nje tabele me rekorde (strukt-e ne C++)
 * me te dhenat e disa librave
 *
 * KUJDES : Per arsye te perdorimit te 'cin' per leximin
 *          e stringjeve. Nuk keshillohet te perdoren 
 *          hapesira gjate vendosjes se emrave.
 *
 * @author Emirald Mateli
 */

#include <iostream>
#include <string>

using namespace std;

// Deklarojme nje struct
struct liber
{
    string emri;    // Emri i librit
    string autori;  // Autori i librit
    double cmimi;   // Cmimi i librit
};

// Ndryshore globale e cila ruan 2 libra
liber librat[2];

/**
 * Kthen nje string bazuar ne argumentin
 *
 * @param string s stringu i cili do kthehet
 * @return s nese stringu s eshte bosh kthehet bosh ndryshe
 * kthehet stringu s i rrethuar me kllapa
 *
 */
string get_str(string s)
{
    return (s != "") ? "(" + s + ")" : "";
}

/**
 * Lexon librat nga kosnola dhe i ruan te struct-i
 */
void lexo_librat()
{
    for(int i=0; i < 2; i++)
    {
        // Lexojme librin e i-te
        cout << "Jep te dhenat per librin " << i + 1 << "!\n\n";

        // Nese e kemi emrin e librit
        // e afishojme dhe ate
        cout << "\tEmri i librit " << get_str(librat[i].emri) << " : ";

        // Lexohet emri
        cin >> librat[i].emri;

        // Afisho kerkesen per emrin e autorit
        cout << "\tEmri i autorit " << get_str(librat[i].autori) << " : ";
        // Lexo autorin
        cin >> librat[i].autori;

        // Cmimi i librit
        cout << "\tCmimi i librit : ";
        cin >> librat[i].cmimi;
    }
}

/**
 * Afishon te dhenat e librave ne konsole
 */
void afisho_librat()
{
    for(int i=0; i < 2; i++)
    {
        // Afishohen te dhenat e librave
        cout << "Te dhenat per librin " << i + 1 << "!\n\n";

        cout << "\tEmri i librit  : " << librat[i].emri << endl;
        cout << "\tEmri i autorit : " << librat[i].autori << endl;
        cout << "\tCmimi i librit : " << librat[i].cmimi << endl;

        cout << "============================================\n\n";
    }
}

int main()
{
    // int i cili do ruaj pergjigjen e dhene nga perdoruesi
    int prgj;

    for(;;)
    {
        cout << "Mireseerdhet ne librarine tone !\n\n"
             << "Shtyp 0 per te perpunuar librat\n"
             << "Shtyp 1 per te pare librat\n"
             << "Shtyp 2 per te dale\n";

        // Lexohet pergjigja e perdoruesit
        // dhe nese eshte e pavlefshme pyetet perseri
        do
        {
            cout << "Zgjedhja : ";
            cin >> prgj;
        }while ( (prgj != 0) && (prgj != 1) && (prgj != 2) );

        // Kontrollohet pergjigja
        if (prgj == 0)
            lexo_librat();
        else
        if (prgj == 1)
            afisho_librat();
        else
            return 0;

        cout << "\n\n\n";
    }

    return 0;
}