Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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

}

 

Compartilhar este post


Link para o post
Compartilhar em outros 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);
}

 

Compartilhar este post


Link para o post
Compartilhar em outros 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???

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por credson
      pessoal ola gostaria de criar um algoritimo que atraves da resposta de usuario que so podem digitar sim ou nao ....se chegasse a um determinado item da lista de um array
       
       
      por exemplo
       
      let lista =['trator','carro','bicicleta','Moto','trem','caminhao','onibus','paraquedas','balao','aviao','helicoptero','submarino','barco','navio','lancha'];   fazer varias perguntas onde as resposta seria sim ou nao e atraves disso chegase a resultado de algum item da array exemplo   tem rodas= sim e leve = sim tem pedal = sim reposta = bicicleta     outra situacao   voa= sim e leve= nao tem elise = sim   resposta elicoptero                           pq so que tem elise nesta lista e elicoptero     obg pela ajuda      
    • Por ALOISIO SANTOS
      Crie um algoritmo peça o Nome da pessoa, sexo e idade e classifique de acordo com a tabela abaixo:
       
       
      SEXO IDADE SALA Masc abaixo 18 Sala 1 Masc acima = 18 Sala 2 Fem abaixo 18 Sala 3 Fem acima = 18 Sala 4  
    • Por OSVALDO ARANTES JÚNIOR
      Boa tarde,  estou desenvolvendo uma consulta no php/mysql em diversas colunas. E gostaria de saber
      se existe um caracter especial para listar todos os dados, minha quere esta organizada da seguinte forma
       
      $query = sprintf("SELECT * FROM operacao  WHERE data_operacao BETWEEN '$data_inicial_rel' AND '$data_final_rel' AND estado_operacao = ' ' ORDER BY id_operacao ASC ;");
       
      quando declaro o valor do estado_operacao ele lista perfeitamente o valor, agora minha dúvida é se existe um 
      carater para listar todos os valores... para que eu use como value no opition do select, passar o valor TODOS pra a query
       
      desde já agradeço a atenção.
    • Por 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

    • Por 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>
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.