Jump to content
heddyman

Ajuda com algoritimo

Recommended Posts

bom dia nobres colegas,

 

Sou estudante e estou tendo uma dificuldade com um algorítimo... vocês poderiam me ajudar??? Ele não está compilando e tá difícil pra mim identificar... eu agradeço a boa vontade ....:grin:

#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");

}

 

Share this post


Link to post
Share on other sites

Gente obrigado pela ajuda, mas segui o conselho do amigo e refiz meu código, sem franksteins,  e agora parece funcionar.... o que acharam???? melhor e mais limpo???

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#define SIZE 60

int op;

struct cadastro_de_alunos {
	int  ru[SIZE];
	char nome[SIZE][10];
	char email[SIZE][10];
}; struct cadastro_de_alunos aluno;




void cadastro();
void pesquisa();


int main(void) {


	do {
		system("cls");
		printf("*========================*\n");
		printf("| Escolha uma opcao      |\n");
		printf("| 1. Cadastrar Aluno     |\n");
		printf("| 2. Pesquisar Aluno     |\n");
		printf("| 3. Sair                |\n");
		printf("*========================*\n");
		scanf_s("%d", &op);
		switch (op) {
		case 1:
			cadastro();

			break;

		case 2:
			pesquisa();

			break;

		case 3:

			system("exit");
			break;
		default:
			printf("Opcao Invalida...");
			break;
		}

	} while (op != 3);




}


void cadastro() {

	static int linha;
	do {
		printf("\n Digite o nome do RU:");
		scanf_s("%d", &aluno.ru[linha]);
		printf("\n Digite o nome do Aluno:");
		scanf_s("%s", &aluno.nome[linha]);
		printf("\n Digite o nome do Email:");
		scanf_s("%s", &aluno.email[linha]);
		printf("\n Digite 1 para continuar ou 0 para sair:");
		scanf_s("%d", &op);
		linha++;
	} while (op == 1);

}

void pesquisa() {
	int ru_aux;
	char nome_aux[50];
	int i;

	do {
		printf("\n Digite parametro da pesquisa: \n1 RU \n2 Nome :\n");
		scanf_s("%d", &op);
		switch (op) {
		case 1:
			printf("\n Digite o RU do Aluno:");
			scanf_s("%d", &ru_aux);
			for (i = 0; i < SIZE; i++) {
				if (aluno.ru[i] == ru_aux) {
					printf("\n RU: %d\n Nome: %d\n Email: %s\n", aluno.ru[i], aluno.nome[i], aluno.email[i]);
				}
			}
			break;
		case 2:
			printf("\n Digite o nome do Aluno:");
			scanf_s("%s", &aluno.nome);
			for (i = 0; i < SIZE; i++) {
				if (strcmp(aluno.nome[i], nome_aux) == 0) {
					printf("\n RU: %d\n Nome: %d\n Email: %s\n", aluno.ru[i], aluno.nome[i], aluno.email[i]);
				}
			}
			break;

		default:
			printf("\n****opcao invalida*****");
			break;
		}
		printf("\ndigite 1 para nova pesquisa e 0 para sair\n");
		scanf_s("%d", &op);
	} while (op == 1);
}

 

Share this post


Link to post
Share on other sites

tenho só mais uma dúvida... 

 

no enunciado do exercício está dizendo: "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".... como faço pra pré cadastrar essas informações???

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By martemsal
      Boa tarde, 
       
      Como faço para mostrar os eventos do dia cadastrados no banco de dados para uma tabela, segue o que fiz até o momento:
      (ele já retorna todas os meus registros com o código abaixo conforme imagem anexa, mas gostaria que ele mostrasse somente o do dia)
       
      $conn = mysqli_connect($servidor, $usuario, $senha, $dbname);
        
          $pesquisar = $_POST['pesquisar'];
          $result_eventos = "SELECT * FROM salas WHERE titlecurso LIKE '%$pesquisar%' LIMIT 50";
         
          $resultado_eventos = mysqli_query($conn, $result_eventos);
         
           echo '<table align="center">';
           echo "<tr> <th colspan='5'>Data</th> </tr>";
           echo "<tr><td class='h2' colspan='5' align='center'>";
           echo date("d/m/Y");
            echo "</td></tr>";
           echo "<tr> <th>Curso</th> <th>Turma</th> <th>Professor</th><th>Sala</th><th>Hora</th></tr>";
           while($rows_eventos = mysqli_fetch_array($resultado_eventos)){   
              echo "<tr><td align='center'>"; 
          echo $rows_eventos['titlecurso'];
          echo "</td><td align='center'>"; 
          echo $rows_eventos['titleturma'];
          echo "</td><td align='center'>"; 
          echo $rows_eventos['titleprofessor'];
          echo "</td><td align='center'>"; 
          echo $rows_eventos['titlesala'];
          echo "</td><td align='center'>"; 
          echo $rows_eventos['hora_de'];
          echo "</td></tr>";

           
      echo "</table>";
      ?>
       
      alguém pode me ajudar.
      Grato

    • By Legionario-rs
      Bom dia pessoal,
       
      Será que alguém pode me dar uma luz sobre isso? Vou postar o código mas acontece o seguinte: Mesmo com os itens configurados para não serem mostrados ele continua mostrando mas somente quando faço a pesquisa. Tem outros modos de listar todos os itens estes funcionam perfeitamente mas na pesquisa acontece isso. Se alguém poder ajudar agradeço.
       
      <%
      Dim col,colu,lista,cid_id,cid_nome,nome,lista_anunciante,msgnada
      lista=Request.querystring("lista")
      cid_id=Request.querystring("cid_id")
      cid_nome=Request.querystring("cid_nome")
      nome=Request.querystring("nome")
      %>
          <div class="site-section bg-light">
            <div class="container">
              <div class="row justify-content-center mb-5">
                <div class="col-md-7 text-center border-primary">
                  <h3><font color="green">Anunciantes Ativos</font></h3>
                </div>
              </div>
              <div class="row">
      <%
      Select Case lista
      Case "cidade"
          set lista_anunciante = lojaDB.Execute("SELECT * FROM anunciantes WHERE cid_id="& cid_id &" AND disp='S' ORDER BY nome")
          msgnada = "<h5>No momento não dispomos de nenhum comércio nesta região.</h5>"
      Case "busca"
          set lista_anunciante = lojaDB.Execute("SELECT * FROM anunciantes WHERE nome LIKE '%"& nome &"%' OR descricaop LIKE '%"& nome &"%' OR descricaog LIKE '%"& nome &"%' OR imagem LIKE '%"& nome &"%' OR imagem2 LIKE '%"& nome &"%' OR imagem3 LIKE '%"& nome &"%' OR imagem4 LIKE '%"& nome &"%' OR imagem5 LIKE '%"& nome &"%' OR imagem6 LIKE '%"& nome &"%' OR imagem7 LIKE '%"& nome &"%' OR imagem8 LIKE '%"& nome &"%' OR imagem9 LIKE '%"& nome &"%' OR imagem10 LIKE '%"& nome &"%' AND disp='S' ORDER BY nome")
          msgnada = "<h5>Nenhum comércio localizado com esse nome.</h5>"
      Case Else
          %>
          <script>window.location="./index.asp"</script>
          <%
      End Select
      If lista_anunciante.EOF Then 
          Response.Write "" & msgnada & ""
      Else 
      %>
          <%
              col=1
              if not lista_anunciante.eof then
              colu=2
              response.write ""
              while not lista_anunciante.eof
              
          Dim com_cid_id,com_id,com_nome,com_descricaop,com_imagem,com_data,com_mapalink,com_whats
          while not lista_anunciante.EOF
              com_cid_id = lista_anunciante("cid_id")
              com_id = lista_anunciante("id")
              com_nome = lista_anunciante("nome")
              com_descricaop = lista_anunciante("descricaop")
              com_imagem = lista_anunciante("imagem")
              com_data = lista_anunciante("data")
              com_mapalink = lista_anunciante("mapalink")
              com_whats = lista_anunciante("whats")
              %>
              
                <div class="col-md-6 mb-4 mb-lg-4 col-lg-4">
                  
                  <div class="listing-item">
                    <div class="listing-image">
                      <img src="images/<%=com_imagem%>" alt="<%=com_nome%>" class="img-fluid">
                    </div>
                    <div class="listing-item-content">
                      <a href="<%=com_mapalink%>" class="bookmark" data-toggle="tooltip" data-placement="left" title="Localização" target="new"><span class="icon-map"></span></a>
                      <h2><a href="http://api.whatsapp.com/send?1=pt_BR&phone=<%=com_whats%>" style="position:absolute; top:-30px;" class="bookmark" target="new"><span class="icon-whatsapp"></span></a></h2>
                      <h2 class="mb-1"><a href="detalheanunciante.asp?com_id=<%=com_id%>&url_comp=<%=Server.UrlEncode(Request.ServerVariables("QUERY_STRING"))%>"><%=left(com_nome ,23) %>...</a></h2>
                      <span class="address"><%=com_descricaop%></span>
                    </div>
                  </div>
                </div>
              <%
              if colu=col then
              response.write "<tr><td>"
              colu=1
              else
              response.write "<td>"
              colu=colu+1
              end if
              lista_anunciante.movenext
              wend
              wend
              response.write ""
              end if
              end if
      lista_anunciante.close
      set lista_anunciante=nothing
      %>
              </div>
            </div>
          </div>
    • By Legionario-rs
      Boa tarde pessoal,
       
      Será que alguém pode me dar uma luz sobre isso? Vou postar o código mas acontece o seguinte: Mesmo com os itens configurados para não serem mostrados ele continua mostrando mas somente quando faço a pesquisa. Tem outros modos de listar todos os itens estes funcionam perfeitamente mas na pesquisa acontece isso. Se alguém poder ajudar agradeço.
       
      <%
      Dim col,colu,lista,cid_id,cid_nome,nome,lista_anunciante,msgnada
      lista=Request.querystring("lista")
      cid_id=Request.querystring("cid_id")
      cid_nome=Request.querystring("cid_nome")
      nome=Request.querystring("nome")
      %>
          <div class="site-section bg-light">
            <div class="container">
              <div class="row justify-content-center mb-5">
                <div class="col-md-7 text-center border-primary">
                  <h3><font color="green">Anunciantes Ativos</font></h3>
                </div>
              </div>
              <div class="row">
      <%
      Select Case lista
      Case "cidade"
          set lista_anunciante = lojaDB.Execute("SELECT * FROM anunciantes WHERE cid_id="& cid_id &" AND disp='S' ORDER BY nome")
          msgnada = "<h5>No momento não dispomos de nenhum comércio nesta região.</h5>"
      Case "busca"
          set lista_anunciante = lojaDB.Execute("SELECT * FROM anunciantes WHERE nome LIKE '%"& nome &"%' OR descricaop LIKE '%"& nome &"%' OR descricaog LIKE '%"& nome &"%' OR imagem LIKE '%"& nome &"%' OR imagem2 LIKE '%"& nome &"%' OR imagem3 LIKE '%"& nome &"%' OR imagem4 LIKE '%"& nome &"%' OR imagem5 LIKE '%"& nome &"%' OR imagem6 LIKE '%"& nome &"%' OR imagem7 LIKE '%"& nome &"%' OR imagem8 LIKE '%"& nome &"%' OR imagem9 LIKE '%"& nome &"%' OR imagem10 LIKE '%"& nome &"%' AND disp='S' ORDER BY nome")
          msgnada = "<h5>Nenhum comércio localizado com esse nome.</h5>"
      Case Else
          %>
          <script>window.location="./index.asp"</script>
          <%
      End Select
      If lista_anunciante.EOF Then 
          Response.Write "" & msgnada & ""
      Else 
      %>
          <%
              col=1
              if not lista_anunciante.eof then
              colu=2
              response.write ""
              while not lista_anunciante.eof
              
          Dim com_cid_id,com_id,com_nome,com_descricaop,com_imagem,com_data,com_mapalink,com_whats
          while not lista_anunciante.EOF
              com_cid_id = lista_anunciante("cid_id")
              com_id = lista_anunciante("id")
              com_nome = lista_anunciante("nome")
              com_descricaop = lista_anunciante("descricaop")
              com_imagem = lista_anunciante("imagem")
              com_data = lista_anunciante("data")
              com_mapalink = lista_anunciante("mapalink")
              com_whats = lista_anunciante("whats")
              %>
              
                <div class="col-md-6 mb-4 mb-lg-4 col-lg-4">
                  
                  <div class="listing-item">
                    <div class="listing-image">
                      <img src="images/<%=com_imagem%>" alt="<%=com_nome%>" class="img-fluid">
                    </div>
                    <div class="listing-item-content">
                      <a href="<%=com_mapalink%>" class="bookmark" data-toggle="tooltip" data-placement="left" title="Localização" target="new"><span class="icon-map"></span></a>
                      <h2><a href="http://api.whatsapp.com/send?1=pt_BR&phone=<%=com_whats%>" style="position:absolute; top:-30px;" class="bookmark" target="new"><span class="icon-whatsapp"></span></a></h2>
                      <h2 class="mb-1"><a href="detalheanunciante.asp?com_id=<%=com_id%>&url_comp=<%=Server.UrlEncode(Request.ServerVariables("QUERY_STRING"))%>"><%=left(com_nome ,23) %>...</a></h2>
                      <span class="address"><%=com_descricaop%></span>
                    </div>
                  </div>
                </div>
              <%
              if colu=col then
              response.write "<tr><td>"
              colu=1
              else
              response.write "<td>"
              colu=colu+1
              end if
              lista_anunciante.movenext
              wend
              wend
              response.write ""
              end if
              end if
      lista_anunciante.close
      set lista_anunciante=nothing
      %>
              </div>
            </div>
          </div>
       
    • By groudon900
      segue o codigo que estou usando 
       
      <?php //Receber o número da página $pagina_atual = filter_input(INPUT_GET,'pagina', FILTER_SANITIZE_NUMBER_INT); $pagina = (!empty($pagina_atual)) ? $pagina_atual : 1; //Setar a quantidade de itens por pagina $qnt_result_pg = 20; //calcular o inicio visualização $inicio = ($qnt_result_pg * $pagina) - $qnt_result_pg; $result_usuarios = "SELECT * FROM vendas ORDER BY data DESC LIMIT $inicio, $qnt_result_pg"; $resultado_usuarios = mysqli_query($conn, $result_usuarios); while($row_usuario = mysqli_fetch_assoc($resultado_usuarios)){ ?> <tbody> <tr> <td><img src="../foto/foto_pagamentos/<?php echo $row_usuario['fotos'] ?>" class="foto2"></td> <td><?php echo $row_usuario['cliente'] ?></td> <td><?php echo $row_usuario['email'] ?></td> <td><?php echo $row_usuario['servico'] ?></td> <td><?php echo $row_usuario['data'] ?></td> <td>R$ <?php echo $row_usuario['valor'] ?></td> <td><?php echo $row_usuario['metodo'] ?></td> <td><?php echo $row_usuario['status'] ?></td> <td><?php echo $row_usuario['ultimaalteracao'] ?></td> <td><div class="dropdown no-arrow"> <a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-600"></i> </a> <div class="dropdown-menu dropdown-menu-right shadow animated--fade-in" aria-labelledby="dropdownMenuLink"> <div class="dropdown-header">PAGAMENTOS:</div> <a class="dropdown-item" href="criarpagamentos?id=<?php echo $row_usuario['id'] ?>">Criar Pagamentos</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="proc_apagar_pagamentos.php?id=<?php echo $row_usuario['id'] ?>">Apagar Pagamentos</a> </div> </div></td> </tr> <?php } ?>  
      queria fazer um filtro de busca, Tipo pra buscar por um nome especifico ou serviço
    • By vfraanco
      Desenvolva um algoritmo em pseudocodigo que permita ler as notas que N alunos obtiveram numa disciplina e mostre a
      percentagem de notas positivas e a média das notas negativas. O número de alunos (N) deve ser
      introduzido pelo utilizador e validado.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.