
Программирование. Написать программу, которая выводит на экран список студентов академической
группы, фамилия которых начинается с определенной буквы. Буква вводится пользователем с клавиатуры.

Ответы на вопрос

Відповідь:
Указывайте язык программирования и способ решения,класс,структура и так далее.
Написал с использованием класса
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;
}



Конечно! Вот пример программы на языке Python, которая выполняет описанную вами задачу:
pythonstudents = ["Иванов", "Петров", "Сидоров", "Смирнов", "Козлов", "Кузнецов"]
# Ввод буквы пользователем
letter = input("Введите букву: ")
# Преобразуем букву к нижнему регистру для удобства сравнения
letter = letter.lower()
# Перебираем студентов и выводим фамилии, начинающиеся с введенной буквы
found_students = []
for student in students:
if student.lower().startswith(letter):
found_students.append(student)
# Проверяем, были ли найдены студенты
if found_students:
print("Студенты, фамилии которых начинаются с буквы", letter + ":")
for student in found_students:
print(student)
else:
print("Нет студентов, фамилии которых начинаются с буквы", letter)
Программа начинает с создания списка students
, в котором содержатся фамилии студентов академической группы. Затем она запрашивает у пользователя ввод буквы, фамилии которой необходимо найти.
Далее программа проходит по каждому студенту в списке students
. Используя метод startswith()
, она проверяет, начинается ли фамилия студента с введенной буквы (регистр не учитывается). Если условие выполняется, фамилия добавляется в список found_students
.
В конце программа проверяет, были ли найдены студенты. Если список found_students
не пустой, то программа выводит на экран найденные фамилии. В противном случае выводится сообщение о том, что студентов с такой буквой нет.
Вы можете запустить эту программу на своем компьютере и попробовать различные вводы для тестирования.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili