Ir para conteúdo

POWERED BY:

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 daemon
      Preciso fazer uma busca antes de inserir um registro no banco de dados.

      No caso preciso verificar se existe uma frase no banco antes de cadastrar uma nova.
       
      Exemplo:
       
      Tenho no banco a coluna ASSUNTO = "Morre David Johansen, vocalista dos New York Dolls, aos 75 anos".
       
      Quando vou cadastrar uma nova notícia "Morre, aos 75 anos, David Johansen, do New York Dolls" é parecida. Mas não quero cadastrar 2 vezes.
       
      No like não consigo fazer esta busca.... o que posso fazer para verificar esta busca antes de cadastrar ?
    • 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

×

Informação importante

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