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

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

Kaldata.com - Форуми

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

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

Добре дошли!

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

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

 

Проблем с Курсова Работа

Featured Replies

Здравейте ! Имам проблем с една задача която ми е за курсова работа...ще съм благодарна ако някой ми помогне . Докарвам задачата до case 2 и по натам не мога да се сетя как да изкарам исканата информация . Благодаря предварително за помоща!

Задачата е :

В една аптека всяко лекарство(наименование,цена,срок на годност)е доставено
от доставчик(име, тел, адрес)и вносител(име,тел,адрес).
Данните за всяко лекарство, неговия доставчик и вносител се съхраняват в масив
Да се състави програма, която изпълнява от меню следните опреации:
- добавя към масива данните на ново лекарство;
-извежда всички въведени данни;
-Извежда данните на вносителя,с които работи определен доставчик
-Създава масив с данните за лекарствата,внасяни от посочения вносител
-Създава масив с данните на всички вносители,внасящи посоченото лекарство.

 Аз съм написала това :

#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;

class CDost{ // Доставчик
public:
    char name[21], adress[16], phone[15];
    void getData();
    void display();
};
void CDost::getData(){
    cout << "Въведи Име на доставчика: "; cin.getline(name, 21);
    cout << "Въведи адрес на доставчика: "; cin.getline(adress, 16);
    cout << "Въведи телефон на доставчика: "; cin >> phone;
    cin.ignore();
}
void CDost::display(){
    cout << "Име: " << name << endl;
    cout << "Адрес: " << adress << endl;
    cout << "Телефон: " << phone << endl;
}
class CVnos{ // вносител
public:
    char name[21], adress[16], phone[15];
    void getData();
    void display();
};
void CVnos::getData(){
    cout << "Въведи Име на вносителя: "; cin.getline(name, 21);
    cout << "Въведи адрес на вносителя: "; cin.getline(adress, 16);
    cout << "Въведи телефон на вносителя: "; cin >> phone;
    cin.ignore();
}
void CVnos::display(){
    cout << "Име: " << name << endl;
    cout << "Адрес: " << adress << endl;
    cout << "Телефон: " << phone << endl;
}
class CSrok{         //срок на годност
public:
    int D, M, G;
     void getData();
     void display();
};
void CSrok::getData(){
    cout << "Въведете ден: "; cin >> D;
    cout << "Въведете месец: "; cin >> M;
    cout << "Въведете година: "; cin >> G;
    cin.ignore();
}
void CSrok::display(){
    cout << "ден: " << D << "месец: " << M << "година: " << G << endl;
}
class CLekarstva :public CDost, public CVnos{
public:
    char namelek[21];
    float price;
    CSrok date;
    void getData();
    void display();
};
void CLekarstva::getData(){
    cout << " Въведи наименование на лекарството:"; cin.getline(namelek, 21);
    cout << "Доставчик:" << endl;
    CDost::getData();
    cout << "Вносител:" << endl;
    CVnos::getData();
    cout << " Цена на лекарството:"; cin >> price;
    cout << "Ср. на годност:"; date.getData();
}
void CLekarstva::display(){
    cout << "лекарство:" << namelek << endl;
    cout << "Доставчик:" << endl;
    CDost::display();
    cout << "Вносител:" << endl;
    CVnos::display();
    cout << "Цена:" << price << endl;
    cout << "Годност до:"; date.display();
}
int compareDates(CSrok d1, CSrok d2){
    if (d1.G != d2.G)return d1.G - d2.G;
    else if (d1.M != d2.M)return d1.M - d2.M;
    else return d1.D - d2.D;
}
int main(){
    system("chcp 1251");
    int i,N = 0;//брой лекарства
    CLekarstva MasMedical[20];
    char ZadVnos[20],ZadDost[20];
    int ans;
    do{
        cout << "\n Меню на изпълняваните операции:\n";
        cout << "\n 0-exit:\n";
        cout << "1 - За добавяне данни за ново лекарство\n";
        cout << "2 - За извежданена всички въведени данни\n";
        cout << "3 - Извежда данните на вносителя,с които работи определен доставчик\n";
        cout << "4 - Създава масив с данните за лекарствата,внасяни от посочения вносител\n";
        cout << "5 - Създава масив с данните на всички вносители,внасящи посоченото лекарство\n";
        cout << "choose: "; cin >> ans;
        cin.ignore();
        switch (ans){
        case 0:break;
        case 1:
            cout << "Добави данни за ново лекарство:" << endl;
            MasMedical[N++].getData();
            break;
        case 2:
            cout<<"\n Списък на всички въведени лекарства:\n";
            for(i=0;i<N;i++)MasMedical.display();
            break;
        case 3:
                cout<<"Задайте доставчик:";cin.getline(ZadDost,20);
                  for(i=0;i<N;i++)
                        if(strcmp(MasMedical.CVnos::name,ZadDost)==0){
                       MasMedical.CVnos::display();
                  }
                  break;
        case 4:
                cout<<"Задайте Вносител:";cin.getline(ZadVnos,20);
                  for(i=0;i<N;i++){
                        if(strcmp(MasMedical.CDost::name,ZadVnos)==0){
                   MasMedical.CVnos::display();
                  }
                  }
                  break;
        case 5:
                cout << "посочете лекарство:"<<endl;
                 for(i=0;i<N;i++){
                        if(strcmp(MasMedical.CVnos::name,ZadVnos)==0){
                   MasMedical.CVnos::display();
                 }
                 }
                  break;
        }
    } while (ans != 0);
    }

 

Аз уча Java и съм джавар :shy11: но като гледам какво си написал, сигурно е правилно но защо char name[21] и после като въведа Свилен. Значи се дроби ли? Така с,в,и,л,е,н.

Така ли е при C++. После си писал N е нула и i е 0 при случай case 2 и ако е N е по-голямо от i премини едно нагоре.

Какъв е тоя  език?

Както и да е това ми направи впечатление. :shy11:

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

Като не ползва таг за код някои неща са поичезнали от програмата, да я качи пак както трябва и тогава ще я коментираме.

  • Автор

Здравейте ! Благодаря за бързия отговор .Програмата е на С++.

N е зададено брой лекарства . Ще се опитам да кача задачата отново надявам се да е по добре.

Zad1.h

  • Автор

	#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
	class CDost  // Доставчик
{
public:
    char name[21], adress[16], phone[15];
    void getData();
    void display();
};
void CDost::getData()
{
    cout << "Въведи Име на доставчика: ";
    cin.getline(name, 21);
    cout << "Въведи адрес на доставчика: ";
    cin.getline(adress, 16);
    cout << "Въведи телефон на доставчика: ";
    cin >> phone;
    cin.ignore();
}
void CDost::display()
{
    cout << "Име: " << name << endl;
    cout << "Адрес: " << adress << endl;
    cout << "Телефон: " << phone << endl;
}
class CVnos  // вносител
{
public:
    char name[21], adress[16], phone[15];
    void getData();
    void display();
};
void CVnos::getData()
{
    cout << "Въведи Име на вносителя: ";
    cin.getline(name, 21);
    cout << "Въведи адрес на вносителя: ";
    cin.getline(adress, 16);
    cout << "Въведи телефон на вносителя: ";
    cin >> phone;
    cin.ignore();
}
void CVnos::display()
{
    cout << "Име: " << name << endl;
    cout << "Адрес: " << adress << endl;
    cout << "Телефон: " << phone << endl;
}
class CSrok          //срок на годност
{
public:
    int D, M, G;
    void getData();
    void display();
};
void CSrok::getData()
{
    cout << "Въведете ден: ";
    cin >> D;
    cout << "Въведете месец: ";
    cin >> M;
    cout << "Въведете година: ";
    cin >> G;
    cin.ignore();
}
void CSrok::display()
{
    cout << "ден: " << D << "месец: " << M << "година: " << G << endl;
}
class CLekarstva :public CDost, public CVnos
{
public:
    char namelek[21];
    float price;
    CSrok date;
    void getData();
    void display();
};
void CLekarstva::getData()
{
    cout << " Въведи наименование на лекарството:";
    cin.getline(namelek, 21);
    cout << "Доставчик:" << endl;
    CDost::getData();
    cout << "Вносител:" << endl;
    CVnos::getData();
    cout << " Цена на лекарството:";
    cin >> price;
    cout << "Ср. на годност:";
    date.getData();
}
void CLekarstva::display()
{
    cout << "лекарство:" << namelek << endl;
    cout << "Доставчик:" << endl;
    CDost::display();
    cout << "Вносител:" << endl;
    CVnos::display();
    cout << "Цена:" << price << endl;
    cout << "Годност до:";
    date.display();
}
int compareDates(CSrok d1, CSrok d2)
{
    if (d1.G != d2.G)return d1.G - d2.G;
    else if (d1.M != d2.M)return d1.M - d2.M;
    else return d1.D - d2.D;
}
int main()
{
    system("chcp 1251");
    int i,N = 0;//брой лекарства
    CLekarstva MasMedical[20];
    char ZadVnos[20],ZadDost[20];
    int ans;
    do
    {
        cout << "\n Меню на изпълняваните операции:\n";
        cout << "\n 0-exit:\n";
        cout << "1 - За добавяне данни за ново лекарство\n";
        cout << "2 - За извежданена всички въведени данни\n";
        cout << "3 - Извежда данните на вносителя,с които работи определен доставчик\n";
        cout << "4 - Създава масив с данните за лекарствата,внасяни от посочения вносител\n";
        cout << "5 - Създава масив с данните на всички вносители,внасящи посоченото лекарство\n";
        cout << "choose: ";
        cin >> ans;
        cin.ignore();
        switch (ans)
        {
        case 0:
            break;
        case 1:
            cout << "Добави данни за ново лекарство:" << endl;
            MasMedical[N++].getData();
            break;
        case 2:
            cout<<"\n Списък на всички въведени лекарства:\n";
            for(i=0; i<N; i++)MasMedical[i].display();
            break;
        case 3:
            cin.ignore();
            cout<<"Задайте доставчик:";
            cin.getline(ZadDost,20);
            for(i=0; i<N; i++)
            {
                if(strcmp(MasMedical[i].CVnos::name,ZadDost)==0)
                {
                    MasMedical[i].CVnos::display();
                }
            }
            break;
        case 4:
            cin.ignore();
            cout<<"Задайте Вносител:";
            cin.getline(ZadVnos,20);
            for(i=0; i<N; i++)
            {
                if(strcmp(MasMedical[i].CDost::name,ZadVnos)==0)
                {
                    MasMedical[i].CDost::display();
                }
            }
            break;
        case 5:
            cin.ignore();
            cout << "посоченото лекарство:" << endl;
            for(i=0; i<N; i++)
            {
                if(strcmp(MasMedical[i].CDost::name,ZadVnos)==0)
                {
                    MasMedical[i].CDost::display();
                }
            }
            break;
        }
    }
    while (ans != 0);
}
	 
	

  • Автор

Оправих се с задачата ....намерих си грешките . Слагам решението тук ако някой има същата или подобна да помогна.

Условието беше:

В една аптека всяко лекарство(наименование,цена,срок на годност)е доставено
от доставчик(име, тел, адрес)и вносител(име,тел,адрес).
Данните за всяко лекарство, неговия доставчик и вносител се съхраняват в масив
Да се състави програма, която изпълнява от меню следните опреации:
- добавя към масива данните на ново лекарство;
-извежда всички въведени данни;
-Извежда данните на вносителя,с които работи определен доставчик
-Създава масив с данните за лекарствата,внасяни от посочения вносител
-Създава масив с данните на всички вносители,внасящи посоченото лекарство.

Решението е:

	#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
	class CDost{ // Доставчик
public:
    char name[21], adress[16], phone[15];
    void getData();
    void display();
};
void CDost::getData(){
    cout << "Въведи Име на доставчика: "; cin.getline(name, 21);
    cout << "Въведи адрес на доставчика: "; cin.getline(adress, 16);
    cout << "Въведи телефон на доставчика: "; cin >> phone;
    cin.ignore();
}
void CDost::display(){
    cout << "Име: " << name << endl;
    cout << "Адрес: " << adress << endl;
    cout << "Телефон: " << phone << endl;
}
class CVnos{ // вносител
public:
    char name[21], adress[16], phone[15];
    void getData();
    void display();
};
void CVnos::getData(){
    cout << "Въведи Име на вносителя: "; cin.getline(name, 21);
    cout << "Въведи адрес на вносителя: "; cin.getline(adress, 16);
    cout << "Въведи телефон на вносителя: "; cin >> phone;
    cin.ignore();
}
void CVnos::display(){
    cout << "Име: " << name << endl;
    cout << "Адрес: " << adress << endl;
    cout << "Телефон: " << phone << endl;
}
class CSrok{         //срок на годност
public:
    int D, M, G;
     void getData();
     void display();
};
void CSrok::getData(){
    cout << "Въведете ден: "; cin >> D;
    cout << "Въведете месец: "; cin >> M;
    cout << "Въведете година: "; cin >> G;
    cin.ignore();
}
void CSrok::display(){
    cout << "ден: " << D << "месец: " << M << "година: " << G << endl;
}
class CLekarstva :public CDost, public CVnos{
public:
    char namelek[21];
    float price;
    CSrok date;
    void getData();
    void display();
};
void CLekarstva::getData(){
    cout << " Въведи наименование на лекарството:"; cin.getline(namelek, 21);
    cout << "Доставчик:" << endl;
    CDost::getData();
    cout << "Вносител:" << endl;
    CVnos::getData();
    cout << " Цена на лекарството:"; cin >> price;
    cout << "Ср. на годност:"; date.getData();
}
void CLekarstva::display(){
    cout << "лекарство:" << namelek << endl;
    cout << "Доставчик:" << endl;
    CDost::display();
    cout << "Вносител:" << endl;
    CVnos::display();
    cout << "Цена:" << price << endl;
    cout << "Годност до:"; date.display();
}
int compareDates(CSrok d1, CSrok d2){
    if (d1.G != d2.G)return d1.G - d2.G;
    else if (d1.M != d2.M)return d1.M - d2.M;
    else return d1.D - d2.D;
}
int main(){
    system("chcp 1251");
    int i,N = 0;//брой лекарства
    CLekarstva MasMedical[20];
    char ZadVnos[20],ZadDost[20];
    char ZadLek[20]; //Promenliva za isbranoto lekarstvo - case 5
    CLekarstva MasMedByVnos[20]; int k=0; //Sazdava novia masiv s lekarstva ot daden Vnositel
    CVnos MasVnosMedical[20]; int m=0; //Sazdava masiv ot vnositeli na dadeno lekarstvo
    int ans;
    do{
        cout << "\n Меню на изпълняваните операции:\n";
        cout << "\n 0-Изход:\n";
        cout << "1 - За добавяне данни за ново лекарство\n";
        cout << "2 - За извежданена всички въведени данни\n";
        cout << "3 - Извежда данните на вносителя,с които работи определен доставчик\n";
        cout << "4 - Създава масив с данните за лекарствата,внасяни от посочения вносител\n";
        cout << "5 - Създава масив с данните на всички вносители,внасящи посоченото лекарство\n";
        cout << "Избери от менюто: "; cin >> ans;
        cin.ignore();
        switch (ans){
        case 0:break;
        case 1:
            cout << "Добави данни за ново лекарство:" << endl;
            MasMedical[N++].getData();
            break;
        case 2:
            cout<<"\n Списък на всички въведени лекарства:\n";
            for(i=0;i<N;i++)MasMedical[i].display();
            break;
        case 3:
                cout<<"Задайте доставчик:";cin.getline(ZadDost,20);
                  for(i=0;i<N;i++)
                        if(strcmp(MasMedical[i]. CDost::name,ZadDost)==0){
                       MasMedical[i].CVnos::display();
                  }
                  break;
        case 4:
                cout<<"Задайте Вносител:";cin.getline(ZadVnos,20);
                  for(i=0;i<N;i++){
                      if(strcmp(MasMedical[i].CVnos::name,ZadVnos)==0){
                           MasMedByVnos[k] = MasMedical[i]; //Ako Vnositelia savpada sas ZadVnos, lekarstvoto se kopira v nov masiv
                        MasMedByVnos[k].display(); //Izvejda dannite ot novia masiv
                        k++;
                      }
                  }
                  break;
        case 5:
            cout << "посочете лекарство:"<<cin.getline(ZadLek,20);
             for(i=0;i<N;i++){
                if (strcmp(MasMedical[i].CLekarstva::namelek,ZadLek)==0){
                    MasVnosMedical[m] = MasMedical[i];  //Sazdava nov masiv po zadadenoto lekarstvo;
                    MasVnosMedical[m].display(); //Izvejda vnositelia na posochenoto lekarstvo;
                    m++;
                }
            }
             break;
        }
    } while (ans != 0);
    return 0;
}
	 
	

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

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

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

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

Дарение

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

Бюлетин

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

Профил

Навигация

Търсене

Търсене

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

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