Buscar

Resposta da pergunta alguem tem.

Faça um algoritmo em linguagem C que realiza a busca de um aluno da UNINTER no AVA. A busca deve ser realizada utilizando uma estrutura de dados bastante eficiente para esta tarefa.  
Defina a estrutura de dados que você irá utilizar para fazer esta implementação e JUSTIFIQUE em texto porque você escolheu ela; 
1. Deve-se armazenar o nome do aluno, seu e-mail e seu RU. Para o armazenamento utilize uma estrutura heterogênea de dados.  2. Não é necessário fazer a leitura dos dados dos dados dos alunos manualmente. Você já pode deixar pré-cadastrado os dados no seu código. Cadastre pelo menos uns 10 contatos de alunos na sua estrutura de dados. Um dos contatos deverá ser o seu próprio nome e o seu RU da UNINTER; 3. Em um menu na tela, peça para o usuário digitar um RU. O programa deverá realizar a busca por este RU na estrutura de dados e, caso localize o RU, deverá mostrar o nome correspondente do aluno e o e-mail deste contato. Caso não localize, uma mensagem de erro deve ser apresentada.  4. Para testar o programa, teste a busca com o seu RU e coloque a captura de dela. 

💡 4 Respostas

User badge image

Leonardo Pereira

leopereita31

1
Dislike2
User badge image

Douglas Duarte

achei esse na internet mais ainda não esta rodando!!!!!!!!

 

 

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
struct cadastro_de_aluno
{
    char RU[200];
    char nome[200];
    char email[200];
    int vazio,cod;
};
    struct cadastro_de_aluno alunoCad;
   
//AQUI DECLARO AS FUNÇÕES A SEREM USADAS
int verifica_pos(void);
int verifica_cod( int cod );
int opt;
void list();
void consultaCod (void);
void excluirAluno (void);
int main(void){ //INICIO DO MAIN

    int i,Opcao,OpcaoAluno,posicao,retorno;
    int codaux;
    do
    {
        printf("1 - Cadastrar Novo Aluno\n");
        printf("2 - Aluno\n");
        printf("3 - Alterar Aluno\n");
        printf("4 - Excluir Aluno\n");
        printf("5 - Sair\n");
        printf(" Selecione uma opcao por favor: ");
        scanf("%d", &Opcao);
        getchar();
        if (Opcao == 1)
        {
            printf("voce selecionou a opcao 1 - Cadastrar Novo Aluno\n");
            posicao=verifica_pos();

                if ( posicao != -1 )
                {

                    printf("\nEntre com um codigo de 1 a 10 para seu cadastro: \n");
                    scanf("%d",&codaux);fflush(stdin);

                    retorno = verifica_cod( codaux );}

                else
                    printf("\nNao e possivel realizar mais cadastros!\n");

                break;
 
        }
        else if (Opcao == 2)
        {
            system("cls");
            do{
            printf("voce selecionou a opcao 2 - Alunos\n\n");
            printf("1 - Pesquisar aluno por codigo\n");
            printf("2 - Listar todos os alunos\n");
            printf("3 - Voltar ao menu principal\n");
            printf("Selecione uma opcao por favor: ");
            scanf("%d", &OpcaoAluno);
            getchar();
                 if(OpcaoAluno == 1){
                    consultaCod();
                }
                else if(OpcaoAluno == 2){
                    list();
                }
                else if(OpcaoAluno == 3){
                    printf("voce selecionou voltar ao menu principal, pressione ENTER para continuar");
                    getchar();
                    system("cls");
                }
                else
                    printf("Opcao Invalida\n\n");
    }while(OpcaoAluno =!3 || OpcaoAluno > 3 || OpcaoAluno < 0 || OpcaoAluno == 0);
        }
        else if (Opcao == 3)
        {
            printf("voce selecionou a opcao 3 - Alterar Aluno\n");
        }
        else if (Opcao == 4)
        {
            printf("voce selecionou a opcao 4 - Excluir Aluno\n");
            excluirAluno();
        }
        else if (Opcao == 5)
        {
        {
            printf("voce selecionou a opção 5 - Sair\n");
        }
    }
        else{
            printf("Opcao invalida, favor pressione enter para voltar ao menu principal");
            getchar();
            system("cls");
        }
        }    while (Opcao != 5 || Opcao < 5);

} // FIM DO MAIN

void list(){ // Lista os usuarios cadastrados.
    int i,j;   
    for(i=0;i<200;i++){
        if(log[i].cod!=NULL){
            printf("\nCodigo: %d \nNome: %s\nRU: %s\n email: \n\n", log[i].cod,log[i].nome,log[i].RU,log[i]. email,log[i]);
    }
}
    printf("Pressione enter para volta ao menu principal");
    getchar();
    system("cls");

} //FIM DO LIST
void cadastroP(int cod, int pos){ //Cadastro das pessoas
    int i;
    do{
    pos = verifica_pos();
    log[pos].cod = cod;
         printf("\nDigite o RU: ");
        gets(log[pos].RU);
		printf("\nDigite o nome: ");
        gets(log[pos].nome);
        printf("\nDigite o  email: ");
        gets(log[pos]. email);
               log[pos].vazio = 1;
        //printf("\nDigite enter para efetuar novo cadastro ou qualquer outra tecla para voltar ao menu principal");
        //scanf("%d", &opt);
        opt ==1;
        getchar();   
    }while(opt==1);
    system("cls");
    main();

} // FIM DO CADASTRO DE PESSOAS
int verifica_pos( void ) //VERIFICADOR DA POSIÇÃO
{
    int cont = 0;

    while ( cont <= 10 )
    {

        if ( log[cont].vazio == 0 )
            return(cont);

        cont++;

    }

    return(-1);

} // FIM DO VERIFICADOR
int verifica_cod( int cod ) // VERIFICADOR DE CÓDIGO
{
    int cont = 0;

    while ( cont <= 10 )
    {
        if ( log[cont].cod == cod )
            return(0);

        cont++;
    }

    return(1);

} 

        cont++;

        if ( cont > 10 ){
            printf("\nCodigo nao encontrado, pressione enter para volar ao menu principal\n");
            getchar();
            system("cls");
        }

    
} // FIM DA FUNÇÃO CONSULTAR
void excluirAluno(void)  // EXCLUI ALUNO
{
    int cod, cont = 0;
    char resp;
    printf("\nEntre com o codigo do registro que deseja excluir: \n");
    scanf("%d", &cod );

    while ( cont <= 10 )
    {

        if ( log[cont].cod == cod )
        {

            if (log[cont].vazio == 1 )
            {
                printf("\nCodigo: %d \nNome: %s\nRU: %s\n email: %s\n\n", log[cont].cod,log[cont].nome,log[cont].RU,log[cont]. email,);
                getchar();
                printf("\nDeseja realmente exlucir? s/n: ");
                scanf("%s",&resp);

                if ( ( resp == 'S' ) || ( resp == 's' ) )
                {
                    log[cont].vazio=0;
                    log[cont].cod = NULL;
                    printf("\nExclusao feita com sucesso\n");
                    break;
                }
                else
                {
                    if ( ( resp == 'N' ) || ( resp == 'n' ) )
                    {
                        printf("Exclusao cancelada!\n");
                        break;
                    }
                }

            }

        }

        cont++;

        if ( cont > 10 )
            printf("\nCodigo nao encontrado\n");

    }

    system("pause");
    system("cls");

}
1
Dislike7
User badge image

Vinicius Silva

Opa, conseguiram funcionar esse codigo?

1
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais