Программирование. Написать программу, которая выводит на экран список студентов академической группы, фамилия которых начинается с определенной буквы. Буква вводится пользователем с клавиатуры.
Ответы
Відповідь:
Указывайте язык программирования и способ решения,класс,структура и так далее.
Написал с использованием класса
C++ code:
#include <iostream>
#include <string>
class STUDENT{
private:
std::string name;
std::string surname;
public:
STUDENT();
STUDENT(STUDENT&);
STUDENT(std::string,std::string);
~STUDENT() = default;
void set_name(std::string name){this->name = name;}
void set_surname(std::string surname){this->surname = surname;}
std::string get_name(){return this->name;}
std::string get_surname(){return this->surname;}
void print();
};
STUDENT::STUDENT(){
name = "name";
surname = "surname";
}
STUDENT::STUDENT(std::string name,std::string surname){
this->name = name;
this->surname = surname;
}
STUDENT::STUDENT(STUDENT& object){
this->name = object.name;
this->surname = object.surname;
}
void STUDENT::print(){
std::cout << "Name: " << name << " Surname: " << surname << std::endl;
}
void input(STUDENT* list,int amount){
std::string inp_str;
int input_num;
for(int i = 0; i < amount; i++){
std::cout << i+1 << " student: " << std::endl;
std::cout << "Name: ";
std::cin >> inp_str;
list[i].set_name(inp_str);
std::cout << "Surname: ";
std::cin >> inp_str;
list[i].set_surname(inp_str);
}
}
void printall(STUDENT* list,int amount){
for(int i = 0; i < amount; i++){
list[i].print();
}
std::cout << std::endl;
}
void print_first_letter(STUDENT* list,int amount,char letter){
bool check = false;
for(int i = 0; i < amount; i++){
std::string check_surname = list[i].get_surname();
if(check_surname[0] == letter){
check = true;
list[i].print();
}
}
if(check == false){
std::cout << "No output" << std::endl;
}
}
int main(){
int amount;
char letter;
std::cout << "Enter amount of students: ";
std::cin >> amount;
STUDENT *student = new STUDENT[amount];
input(student,amount);
printall(student,amount);
std::cout << "Enter a letter: ";
std::cin >> letter;
print_first_letter(student,amount,letter);
delete[] student;
return 0;
}