Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Помощ за курсова задача !!

Featured Replies

За книгите в една библиотека се пази следната информация : заглавие, автор (име и фамилия), издателство, година на издаване.

1.Напишете програма, която създава масив от структури, съдържащ информация за N (около 12-16) книги.

2. Извежда списък на всички книги, издадени през дадена година.

3. Извежда списък на книгите на даден автор.

4. Намира броя книги на за дадено издателство.

5. Подрежда книгите по азбучен ред.

6. Разпечатва подходящо началния масив.

Програмата да се оформи с меню за избор, като всяка подточка бъде отделна функция.

 

 

  • Автор

на български, само че с английски букви 

Примерно:  тетрадка = tetradka

 

преди 23 часа, Реджеп Иведик написа:

На какъв език

на български, само че с английски букви 

Примерно:  тетрадка = tetradka

  • Автор
преди 3 минути, Реджеп Иведик написа:

Аз питам на какъв език за програмиране. C, C#, C++, Javascript, PHP, Java

хаххаха

C++

 

  • Автор
преди 42 минути, mr mcwolf написа:

 

Първо момиче съм и моля за помощ, ако искаш може да ти дам линк към фейса ми и там да ми пишеш, за да ти докажа, че профилът си е лично мой. 

Второ преди да съм писала тук, съм се опитала да направя нещо .

Трето, като не разбирам материала, няма да напусна, а ще попитам някой да ми помогне, както съм направила :)

Редактирано от barbuncela
Нарушен правилник 2.13 (преглед на промените)

Цитат

2.19 Всякакви теми коментиращи публично действията на модераторите относно затваряне, триене, местене, редакция на теми или друго, без преди това да е потърсена връзка с администрацията ще бъдат третирани като нарушение - затваряни/трити и санкционирани.

Цитат

2.13 Забранява се употребата на заплахи, вулгарни думи, цинизми и обиди, както в коментари по темите, така и в лични съобщения. Ако подобни неща станат чрез лични съобщения, трябва само да се уведоми член на администрацията и ще бъдат взети съответните мерки за предотвратяването им.

 

Редактирано от barbuncela (преглед на промените)

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstring>
#include <string>
#include <cstdlib>

#define BOOKCOUNT 16
typedef void (*menuitem)(void);

using namespace std;

struct book
{
    char zaglavie[50];
    char avtor[50];
    char izdatelstvo[50];
    char godina[20];
};

book books[16];
book* books_sorted[16];

int cmp(const void* first, const void* second)
{
    book** f = (book**)first;
    book** s = (book**)second;
    int x = _strcmpi((*f)->zaglavie, (*s)->zaglavie);
    return x;
}

void sort()
{
    for (int i = 0; i < BOOKCOUNT; i++)
    {
        books_sorted[i] = &books[i];
    }
    qsort(books_sorted, BOOKCOUNT, sizeof(void*), cmp);
}

void init()
{
    strcpy(books[0].zaglavie, "Naseki kilometyr");
    strcpy(books[0].avtor, "Komunist Cherveniakov");
    strcpy(books[0].izdatelstvo, "Bodra");
    strcpy(books[0].godina, "1944");
    strcpy(books[1].zaglavie, "Chichkovite chervenotikvenichkovcheta");
    strcpy(books[1].avtor, "Komunist Cherveniakov");
    strcpy(books[1].izdatelstvo, "Cherveni kanarcheta");
    strcpy(books[1].godina, "1944");
    strcpy(books[2].zaglavie, "Trimata tankisti");
    strcpy(books[2].avtor, "Drugaria Yanko");
    strcpy(books[2].izdatelstvo, "Chisti Race");
    strcpy(books[2].godina, "1942");
    strcpy(books[3].zaglavie, "Chetirimata tankisti i kucheto");
    strcpy(books[3].avtor, "Stoio Tagledov");
    strcpy(books[3].izdatelstvo, "Bodra");
    strcpy(books[3].godina, "1942");
    strcpy(books[4].zaglavie, "Niama takiva knigi");
    strcpy(books[4].avtor, "Komunist Cherveniakov");
    strcpy(books[4].izdatelstvo, "Bodra");
    strcpy(books[4].godina, "1946");
    strcpy(books[5].zaglavie, "Trista komunista");
    strcpy(books[5].avtor, "Komunist Cherveniakov");
    strcpy(books[5].izdatelstvo, "Niama takova izdatelstvo");
    strcpy(books[5].godina, "1964");
    strcpy(books[6].zaglavie, "Aprilskata linia");
    strcpy(books[6].avtor, "Komunist Cherveniakov");
    strcpy(books[6].izdatelstvo, "Bodra");
    strcpy(books[6].godina, "1966");
    strcpy(books[7].zaglavie, "Komunizyma");
    strcpy(books[7].avtor, "Drugaria Yanko");
    strcpy(books[7].izdatelstvo, "Bodra");
    strcpy(books[7].godina, "1977");
    strcpy(books[8].zaglavie, "Komsomolska rapsodia");
    strcpy(books[8].avtor, "Komunist Cherveniakov");
    strcpy(books[8].izdatelstvo, "Bodra");
    strcpy(books[8].godina, "1977");
    strcpy(books[9].zaglavie, "Trista");
    strcpy(books[9].avtor, "Spartak Spartanski");
    strcpy(books[9].izdatelstvo, "Shepa Spartanci");
    strcpy(books[9].godina, "1988");
    strcpy(books[10].zaglavie, "Kartete buci");
    strcpy(books[10].avtor, "Aleksandar Stamboliiski");
    strcpy(books[10].izdatelstvo, "Osten");
    strcpy(books[10].godina, "1922");
    strcpy(books[11].zaglavie, "Chisto zlato");
    strcpy(books[11].avtor, "Dzhek London");
    strcpy(books[11].izdatelstvo, "Klondaik");
    strcpy(books[11].godina, "1912");
    strcpy(books[12].zaglavie, "Trista umreli kita");
    strcpy(books[12].avtor, "Ekolozhka Zelenova");
    strcpy(books[12].izdatelstvo, "Bodra");
    strcpy(books[12].godina, "2025");
    strcpy(books[13].zaglavie, "Kovid 19");
    strcpy(books[13].avtor, "Neizvesten Potainikov");
    strcpy(books[13].izdatelstvo, "Bodra");
    strcpy(books[13].godina, "1920");
    strcpy(books[14].zaglavie, "Krushi");
    strcpy(books[14].avtor, "Katiusha Skorostrelna");
    strcpy(books[14].izdatelstvo, "Bodra");
    strcpy(books[14].godina, "1944");
    strcpy(books[15].zaglavie, "Naseki 2 kilometra");
    strcpy(books[15].avtor, "Komunist Mladshi");
    strcpy(books[15].izdatelstvo, "Bodra");
    strcpy(books[15].godina, "1988");
    sort();

}

bool is_valid_year(string s)
{
    for (unsigned i = 0; i < s.length(); i++)
    {
        if (isdigit(s[i] == false)) return false;
    }
    return true;
}

bool is_valid_author(string s)
{
    if (s.length() <= 0) return false;
    return true;
}

bool is_valid_publisher(string s)
{
    if (s.length() <= 0) return false;
    return true;
}

void by_year()
{
    string s;
    do
    {
        cout << "Vavedete godina na izdavane ";
        getline(cin, s);
    } while (is_valid_year(s) == false);
    for (int i = 0; i < BOOKCOUNT; i++)
    {
        if (strcmp(s.c_str(), books[i].godina) == 0)
        {
            cout << books[i].zaglavie << '\t' << books[i].avtor << '\t' << books[i].izdatelstvo << '\t'
                << books[i].godina << endl;
        }
    }
}


void by_author()
{
    string s;
    do
    {
        cout << "Vavedete avtor ";
        getline(cin, s);
    } while (is_valid_author(s) == false);
    for (int i = 0; i < BOOKCOUNT; i++)
    {
        if (strcmp(s.c_str(), books[i].avtor) == 0)
        {
            cout << books[i].zaglavie << '\t' << books[i].avtor << '\t' << books[i].izdatelstvo << '\t'
                << books[i].godina << endl;
        }
    }
}

void publisher_count()
{
    int count = 0;
    string s;
    do
    {
        cout << "Vavedete izdatelstvo ";
        getline(cin, s);
    } while (is_valid_publisher(s) == false);
    for (int i = 0; i < BOOKCOUNT; i++)
    {
        if (strcmp(s.c_str(), books[i].izdatelstvo) == 0)
        {
            count++;
        }
    }
    cout << count << endl;
}

void alphabet_order()
{
    for (int i = 0; i < BOOKCOUNT; i++)
    {
        
            cout << books_sorted[i]->zaglavie << '\t' << books_sorted[i]->avtor << '\t' 
                << books_sorted[i]->izdatelstvo << '\t'
                << books_sorted[i]->godina << endl;
        
    }
}

void initial_order()
{
    for (int i = 0; i < BOOKCOUNT; i++)
    {

        cout << books[i].zaglavie << '\t' << books[i].avtor << '\t'
            << books[i].izdatelstvo << '\t'
            << books[i].godina << endl;

    }
}


int main()
{
    init();
    menuitem menuitems[]{
        nullptr, nullptr, by_year, by_author, publisher_count, alphabet_order, initial_order
    };
    string s;
    for (;;)
    {
        cout << "Menu:" << endl;
        cout << "2 Izvedi spisak na vsichki knigi prez dadena godina" << endl;
        cout << "3 Izvedi spisak na knigite na daden avtor" << endl;
        cout << "4 Izvedi broia na knigite za dadeno izdatelstvo" << endl;
        cout << "5 Izvedi knigite po azbuchen red" << endl;
        cout << "6 Izvedi parvonachalnia masiv" << endl;
        do {
            getline(cin, s);
            if (s == "q") exit(0);
        } while (s != "2" && s != "3" && s != "4" && s != "5" && s != "6");
        menuitems[s[0] - '0']();
        putchar('\n');
    }
}

 

2.9 . . . . Използвайте тази функция САМО, за да докладвате за съдържанието на дадено съобщение, което според Вас трябва да бъде модерирано, а не като средство за комуникация с модератор с други цели. 

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    25%
    Дарени 252.69 EUR от нужните 1,000.00 EUR

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.