Escolar Documentos
Profissional Documentos
Cultura Documentos
#include <string>
struct Aluno {
string nome;
int matricula;
Aluno* prox;
};
Aluno* criarLista() {
return nullptr;
}
int main() {
Aluno* cab = criarLista();
string nome;
int matricula;
char resp;
Aluno* alunoEncontrado = nullptr; // Declare antes do switch
do {
cout << "\n\tMenu" << endl;
cout << "\t1 - Inserir no final da lista." << endl;
cout << "\t2 - Buscar aluno por matrícula." << endl;
cout << "\t3 - Imprimir a lista." << endl;
cout << "\t4 - Remover da lista." << endl;
cout << "\t5 - Sair." << endl;
cin >> resp;
switch (resp) {
case '1':
do {
cout << "\nDigite o nome e a matrícula:" << endl;
cin.ignore();
getline(cin, nome);
cin >> matricula;
cab = incluiAL(cab, nome, matricula);
cout << "Continua a adicionar alunos? (s/n): ";
cin >> resp;
} while (resp == 's' || resp == 'S');
break;
case '2':
cout << "\nDigite a matrícula a ser buscada:" << endl;
cin >> matricula;
alunoEncontrado = buscaPorMatricula(cab, matricula); //
Atribua dentro do case 2
if (alunoEncontrado != nullptr) {
cout << "Aluno encontrado:\n";
cout << "Nome: " << alunoEncontrado->nome << endl;
cout << "Matrícula: " << alunoEncontrado->matricula
<< endl;
} else {
cout << "Aluno com a matrícula não encontrado." <<
endl;
}
break;
case '3':
imprimeL(cab);
break;
case '4':
cout << "\nDigite a matrícula a ser removida:" << endl;
cin >> matricula;
cab = removeAL(cab, matricula);
break;
default:
cout << "Opção inválida. Tente novamente." << endl;
}
} while (resp != '5');
return 0;
}