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

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

Kaldata.com - Форуми

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

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

Добре дошли!

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

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

 

Семестриална работа c++

Featured Replies

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

Да се напише компютърна програма, реализираща информационна система, която поддържа специалности във факултет. Програмата съхранява и обработва данни за студентите в специалности (КСТ и СИТ, факултетен номер, група, име, година и месец на раждане, списък с дисциплини). Максималния брой студенти от двете специалности е 30. Всеки студент има 5 оценки по дисциплините (име, оценка) от 1-ви семестър. 

A. Меню за избор на функциите в програмата. 

B. Добавяне на студенти в специалност  a. Добавяне на един студент в специалността с оценки по 5 дисциплини от 1 семестър; b. Добавяне на списък от студенти. Въвежда се цяло число n и след него n на брой студенти с оценки по 5 дисциплини от 1 семестър.

C. Извеждане на всички студенти на екрана (8-9 седмица) a. Извеждане на студенти от дадена специалност b. Извеждане на студенти с оценка Отличен по БП

преди 22 часа, Petko105 написа:

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

Да се напише компютърна програма, реализираща информационна система, която поддържа специалности във факултет. Програмата съхранява и обработва данни за студентите в специалности (КСТ и СИТ, факултетен номер, група, име, година и месец на раждане, списък с дисциплини). Максималния брой студенти от двете специалности е 30. Всеки студент има 5 оценки по дисциплините (име, оценка) от 1-ви семестър. 

A. Меню за избор на функциите в програмата. 

B. Добавяне на студенти в специалност  a. Добавяне на един студент в специалността с оценки по 5 дисциплини от 1 семестър; b. Добавяне на списък от студенти. Въвежда се цяло число n и след него n на брой студенти с оценки по 5 дисциплини от 1 семестър.

C. Извеждане на всички студенти на екрана (8-9 седмица) a. Извеждане на студенти от дадена специалност b. Извеждане на студенти с оценка Отличен по БП

Това баз давам, че е за С++, иначе дай да видим какви грешки ти хвърля

  • Автор
преди 22 часа, kyoshinn написа:

Това баз давам, че е за С++, иначе дай да видим какви грешки ти хвърля

#include <iostream>
#include <string> 
#include<cmath>
#include<fstream>
using namespace std;


struct Student
{
    char name[1];
    char mesec[12];
    char godina[12] ;
    char facultnomer[10];
    char grupa[5] ;
};

const int maxStudenti = 30;
const int specialnosti = 2;

const int MAX_MENU_ITEM = 4;    
const int MAX_SUB_MENU_1_ITEM = 3;

 

void inputOneStudentData(); 
void inputManyStudentData(); 
void calcStipendiya(); 
void reportStutenstByMinUspeh(); 

 

int subМenu1() 

int choise = 0; 
cout << "*** Menu ***" << endl; 
cout << "1.1. Vavedete danni za edin student" << endl; 
cout << "1.2. Vavedete danni za niakolko studenta" << endl; 
cout << "1.3. Izhod" << endl; 

// валидиране на избора от менюто 

do 

cout << "Izberete opcia: "; 
cin >> choise; 
}while(choise < 1 || choise > MAX_SUB_MENU_1_ITEM); 
return choise; 

 

int menu() 

int choise = 0; 
cout << "*** MENU ***" << endl; 
cout << "1. Vavedete danni za student" << endl; 
cout << "2. Izchislete stipendiata na student" << endl; 
cout << "3. Spravki" << endl; 
cout << "4. Izhod" << endl; 

do 

cout << "Izberete opcia: "; 
cin >> choise; 
}while(choise < 1 || choise > MAX_MENU_ITEM); 
return choise; 

int main() 

int menuItem = 0; 
int subMenuItem = 0; 
do 

menuItem = menu(); 
system("CLS"); 

switch(menuItem) 

case 1:  
do 

subMenuItem = subМenu1(); 

system("CLS"); 

switch(subMenuItem) 

case 1: inputOneStudentData(); break; 

case 2: inputManyStudentData(); break; 

default: cout << "Vrashtane v glavnoto menu" << endl; 

system("CLS"); 

 

}while(subMenuItem < MAX_SUB_MENU_1_ITEM); 

 

system("CLS"); 

break; 

 

case 2: calcStipendiya(); break; 

 

case 3:  reportStutenstByMinUspeh();  break; 

 

case 4:  break; 

default: cout << "Kraj na programata" << endl; break; 

 

system("CLS"); 

}while(menuItem < MAX_MENU_ITEM); 
system("PAUSE"); 
return 0; 

void inputOneStudentData() 


cout<<endl<<"Funkciata ne e razrabotena 1"<<endl; 
system("PAUSE"); 

void inputManyStudentData() 


cout<<endl<<"Funkciata ne e razrabotena 2"<<endl; 
system("PAUSE"); 

void calcStipendiya() 

cout<<endl<<"Funkciata ne e razrabotena 3"<<endl; 
system("PAUSE"); 

 void reportStutenstByMinUspeh() 

cout<<endl<<"Funkciata ne e razrabotena 4"<<endl; 
system("PAUSE"); 
}

 

 

 

 

преди 22 часа, kyoshinn написа:

Това баз давам, че е за С++, иначе дай да видим какви грешки ти хвърля

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

на 6.01.2022 г. в 13:27, Petko105 написа:

#include <iostream>
#include <string> 
#include<cmath>
#include<fstream>
using namespace std;


struct Student
{
    char name[1];
    char mesec[12];
    char godina[12] ;
    char facultnomer[10];
    char grupa[5] ;
};

const int maxStudenti = 30;
const int specialnosti = 2;

const int MAX_MENU_ITEM = 4;    
const int MAX_SUB_MENU_1_ITEM = 3;

 

void inputOneStudentData(); 
void inputManyStudentData(); 
void calcStipendiya(); 
void reportStutenstByMinUspeh(); 

 

int subМenu1() 

int choise = 0; 
cout << "*** Menu ***" << endl; 
cout << "1.1. Vavedete danni za edin student" << endl; 
cout << "1.2. Vavedete danni za niakolko studenta" << endl; 
cout << "1.3. Izhod" << endl; 

// валидиране на избора от менюто 

do 

cout << "Izberete opcia: "; 
cin >> choise; 
}while(choise < 1 || choise > MAX_SUB_MENU_1_ITEM); 
return choise; 

 

int menu() 

int choise = 0; 
cout << "*** MENU ***" << endl; 
cout << "1. Vavedete danni za student" << endl; 
cout << "2. Izchislete stipendiata na student" << endl; 
cout << "3. Spravki" << endl; 
cout << "4. Izhod" << endl; 

do 

cout << "Izberete opcia: "; 
cin >> choise; 
}while(choise < 1 || choise > MAX_MENU_ITEM); 
return choise; 

int main() 

int menuItem = 0; 
int subMenuItem = 0; 
do 

menuItem = menu(); 
system("CLS"); 

switch(menuItem) 

case 1:  
do 

subMenuItem = subМenu1(); 

system("CLS"); 

switch(subMenuItem) 

case 1: inputOneStudentData(); break; 

case 2: inputManyStudentData(); break; 

default: cout << "Vrashtane v glavnoto menu" << endl; 

system("CLS"); 

 

}while(subMenuItem < MAX_SUB_MENU_1_ITEM); 

 

system("CLS"); 

break; 

 

case 2: calcStipendiya(); break; 

 

case 3:  reportStutenstByMinUspeh();  break; 

 

case 4:  break; 

default: cout << "Kraj na programata" << endl; break; 

 

system("CLS"); 

}while(menuItem < MAX_MENU_ITEM); 
system("PAUSE"); 
return 0; 

void inputOneStudentData() 


cout<<endl<<"Funkciata ne e razrabotena 1"<<endl; 
system("PAUSE"); 

void inputManyStudentData() 


cout<<endl<<"Funkciata ne e razrabotena 2"<<endl; 
system("PAUSE"); 

void calcStipendiya() 

cout<<endl<<"Funkciata ne e razrabotena 3"<<endl; 
system("PAUSE"); 

 void reportStutenstByMinUspeh() 

cout<<endl<<"Funkciata ne e razrabotena 4"<<endl; 
system("PAUSE"); 
}

 

 

 

 

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

Значи за обработката към всяка функция трябва да подадеш масива като аргумент. Например в първата функция void inputOneStudentData(масива от студенти) и вътре във функцията работиш с този масив. Аз лично бих използвал листове вместо масиви, за да мога по-лесно да добавям дата. Но основното ти е това, във всяка функция подаваш масива, който искаш да правиш реално нещо с него.

П.П. Погледнах, че трябва и да допълниш, че реално подаваш масива/листа като референция, а не като стойност, тоест трябва да ти стане нещо подобно:

void InputOneStudentData(list<Student>  &(ето тази гадория показва, че се подава по референция) students, ) {

      Student currentStudent = new Student(...); - тук понеже ти трябват и данните, с които трябва да направиш студента, който да се добави, то ще трябва и тези данни да ги подадеш отвън.

}

на 6.01.2022 г. в 13:27, Petko105 написа:

#include <iostream>
#include <string> 
#include<cmath>
#include<fstream>
using namespace std;


struct Student
{
    char name[1];
    char mesec[12];
    char godina[12] ;
    char facultnomer[10];
    char grupa[5] ;
};

const int maxStudenti = 30;
const int specialnosti = 2;

const int MAX_MENU_ITEM = 4;    
const int MAX_SUB_MENU_1_ITEM = 3;

 

void inputOneStudentData(); 
void inputManyStudentData(); 
void calcStipendiya(); 
void reportStutenstByMinUspeh(); 

 

int subМenu1() 

int choise = 0; 
cout << "*** Menu ***" << endl; 
cout << "1.1. Vavedete danni za edin student" << endl; 
cout << "1.2. Vavedete danni za niakolko studenta" << endl; 
cout << "1.3. Izhod" << endl; 

// валидиране на избора от менюто 

do 

cout << "Izberete opcia: "; 
cin >> choise; 
}while(choise < 1 || choise > MAX_SUB_MENU_1_ITEM); 
return choise; 

 

int menu() 

int choise = 0; 
cout << "*** MENU ***" << endl; 
cout << "1. Vavedete danni za student" << endl; 
cout << "2. Izchislete stipendiata na student" << endl; 
cout << "3. Spravki" << endl; 
cout << "4. Izhod" << endl; 

do 

cout << "Izberete opcia: "; 
cin >> choise; 
}while(choise < 1 || choise > MAX_MENU_ITEM); 
return choise; 

int main() 

int menuItem = 0; 
int subMenuItem = 0; 
do 

menuItem = menu(); 
system("CLS"); 

switch(menuItem) 

case 1:  
do 

subMenuItem = subМenu1(); 

system("CLS"); 

switch(subMenuItem) 

case 1: inputOneStudentData(); break; 

case 2: inputManyStudentData(); break; 

default: cout << "Vrashtane v glavnoto menu" << endl; 

system("CLS"); 

 

}while(subMenuItem < MAX_SUB_MENU_1_ITEM); 

 

system("CLS"); 

break; 

 

case 2: calcStipendiya(); break; 

 

case 3:  reportStutenstByMinUspeh();  break; 

 

case 4:  break; 

default: cout << "Kraj na programata" << endl; break; 

 

system("CLS"); 

}while(menuItem < MAX_MENU_ITEM); 
system("PAUSE"); 
return 0; 

void inputOneStudentData() 


cout<<endl<<"Funkciata ne e razrabotena 1"<<endl; 
system("PAUSE"); 

void inputManyStudentData() 


cout<<endl<<"Funkciata ne e razrabotena 2"<<endl; 
system("PAUSE"); 

void calcStipendiya() 

cout<<endl<<"Funkciata ne e razrabotena 3"<<endl; 
system("PAUSE"); 

 void reportStutenstByMinUspeh() 

cout<<endl<<"Funkciata ne e razrabotena 4"<<endl; 
system("PAUSE"); 
}

 

 

 

 

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

Значи за обработката към всяка функция трябва да подадеш масива като аргумент. Например в първата функция void inputOneStudentData(масива от студенти) и вътре във функцията работиш с този масив. Аз лично бих използвал листове вместо масиви, за да мога по-лесно да добавям дата. Но основното ти е това, във всяка функция подаваш масива, който искаш да правиш реално нещо с него.

П.П. Погледнах, че трябва и да допълниш, че реално подаваш масива/листа като референция, а не като стойност, тоест трябва да ти стане нещо подобно:

void InputOneStudentData(list<Student>  &(ето тази гадория показва, че се подава по референция) students, string studentData) {

      Student currentStudent = new Student(...); - тук понеже ти трябват и данните, с които трябва да направиш студента, който да се добави, то ще трябва и тези данни да ги подадеш отвън.

students.push_back(currentStudent);

}

Там където не променяш масива със студенти не трябва да го подаваш като референция (тоест може, но не е нужно)

преди 44 минути, piх3l написа:

Някои наричат тая гадория pointer...

И това го казваш защото ?

преди 2 часа, piх3l написа:

Защото така искам. Проблем?

Ами след като ме и цитираш, явно имаш нещо

  • Автор
на 7.01.2022 г. в 16:20, kyo1 написа:

Значи за обработката към всяка функция трябва да подадеш масива като аргумент. Например в първата функция void inputOneStudentData(масива от студенти) и вътре във функцията работиш с този масив. Аз лично бих използвал листове вместо масиви, за да мога по-лесно да добавям дата. Но основното ти е това, във всяка функция подаваш масива, който искаш да правиш реално нещо с него.

П.П. Погледнах, че трябва и да допълниш, че реално подаваш масива/листа като референция, а не като стойност, тоест трябва да ти стане нещо подобно:

void InputOneStudentData(list<Student>  &(ето тази гадория показва, че се подава по референция) students, ) {

      Student currentStudent = new Student(...); - тук понеже ти трябват и данните, с които трябва да направиш студента, който да се добави, то ще трябва и тези данни да ги подадеш отвън.

}

Значи за обработката към всяка функция трябва да подадеш масива като аргумент. Например в първата функция void inputOneStudentData(масива от студенти) и вътре във функцията работиш с този масив. Аз лично бих използвал листове вместо масиви, за да мога по-лесно да добавям дата. Но основното ти е това, във всяка функция подаваш масива, който искаш да правиш реално нещо с него.

П.П. Погледнах, че трябва и да допълниш, че реално подаваш масива/листа като референция, а не като стойност, тоест трябва да ти стане нещо подобно:

void InputOneStudentData(list<Student>  &(ето тази гадория показва, че се подава по референция) students, string studentData) {

      Student currentStudent = new Student(...); - тук понеже ти трябват и данните, с които трябва да направиш студента, който да се добави, то ще трябва и тези данни да ги подадеш отвън.

students.push_back(currentStudent);

}

Там където не променяш масива със студенти не трябва да го подаваш като референция (тоест може, но не е нужно)

Като цяло схванах самата идея, но съжалявам,че не обърнах повече внимание на масивите, като беше време.. благодаря все пак 

  • 11 месеца по-късно...

IMG_20221212_135030.thumb.jpg.f3ed0ae486feb96a25c5fb3c77bc24e0.jpgЗдравейте може ли някой да ми помогне със създаване на една програма 

  • 1 година по-късно...
на 4.01.2022 г. в 16:19, Petko105 написа:

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

Да се напише компютърна програма, реализираща информационна система, която поддържа специалности във факултет. Програмата съхранява и обработва данни за студентите в специалности (КСТ и СИТ, факултетен номер, група, име, г

на 12.12.2022 г. в 13:46, amg53 написа:

IMG_20221212_135030.thumb.jpg.f3ed0ae486feb96a25c5fb3c77bc24e0.jpgЗдравейте може ли някой да ми помогне със създаване на една програма 

одина и месец на раждане, списък с дисциплини). Максималния брой студенти от двете специалности е 30. Всеки студент има 5 оценки по дисциплините (име, оценка) от 1-ви семестър. 

A. Меню за избор на функциите в програмата. 

B. Добавяне на студенти в специалност  a. Добавяне на един студент в специалността с оценки по 5 дисциплини от 1 семестър; b. Добавяне на списък от студенти. Въвежда се цяло число n и след него n на брой студенти с оценки по 5 дисциплини от 1 семестър.

C. Извеждане на всички студенти на екрана (8-9 седмица) a. Извеждане на студенти от дадена специалност b. Извеждане на студенти с оценка Отличен по БП

братле и аз се чудя как да си реша семестриалната

 

Добавете отговор

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

Гост
Публикацията ви съдържа термини, които не допускаме! Моля, редактирайте съдържанието си и премахнете подчертаните думи по-долу. Ако замените букви от думата със звездички или друго, за да заобиколите това предупреждение, профилът ви ще бъде блокиран и наказан!
Напишете отговор в тази тема...

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

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

Дарение

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

Бюлетин

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

Профил

Навигация

Търсене

Търсене

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

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