Вопрос задан 13.06.2023 в 19:28. Предмет Информатика. Спрашивает Еловиков Серёжа.

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

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Брыкова Валерия.

Відповідь:

Указывайте язык программирования и способ решения,класс,структура и так далее.

Написал с использованием класса

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;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно! Вот пример программы на языке Python, которая выполняет описанную вами задачу:

python
students = ["Иванов", "Петров", "Сидоров", "Смирнов", "Козлов", "Кузнецов"] # Ввод буквы пользователем 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 не пустой, то программа выводит на экран найденные фамилии. В противном случае выводится сообщение о том, что студентов с такой буквой нет.

Вы можете запустить эту программу на своем компьютере и попробовать различные вводы для тестирования.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос