Ir ao conteúdo
  • Cadastre-se

Lucas Zottis

Membros Juniores
  • Total de itens

    2
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. @KXSY Eu tentei rodar o código aqui, mas ainda continua em loop infinito no case 3 depois de cadastrar algum dado e ainda apareceu mais um bug no case1, não estou conseguindo cadastrar o autor, o cursor pula direto para cadastrar a area.
  2. Opa, eu sou meio novato em programação, mas meu problema é o seguinte. Eu coloquei uma condição para sair dos loops, onde eu tenho que inserir o "s" para sair, mas o problema é que mesmo eu tendo criado diferentes variáveis, uma para cada loop, ele sai dos loops como se fosse uma variável só, assim, ou saindo do loop principal, ou fica em loop infinito no case 3. Não sei se ficou bem claro, mas é isso. Se alguém puder ajudar, só agradeço. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> struct cad_livro{ int cod; char tit [41]; char autor [41]; char area [41]; char ano [5]; char edit[41]; }; int main(){ setlocale(LC_ALL,""); // Vetor de registros struct cad_livro livro [20]; // Registro auxiliar para ordenação struct cad_livro aux; // "i1" = Índice 1; "i2" = Índice2; "op" = Opção; "cont" = Contagem de códigos; "n" = Número de busca de código; "busca" = Retorno de busca de código; int i1,i2,op,cont,n,busca; // "sair" = Sair dos loops menores; "sair_prog" = Sair do loop principal; char sair_cad,sair_pes,sair_ord,sair_prog; cont = 0; do{ printf("\n =============== Menu =============== \n"); printf("\n1 - Cadastrar livro"); printf("\n2 - Imprimir informações do livro"); printf("\n3 - Pesquisar livros por código"); printf("\n4 - Ordenar livros por ano"); printf("\n5 - Sair do programa\n\n\n"); printf("\nOpção: "); scanf("%d",&op); system("CLS"); fflush(stdin); switch (op){ case 1:{ do{ printf("\n =============== Cadastrar =============== \n\n"); livro[cont].cod = cont; printf("Título: "); gets(livro[cont].tit); printf("Autor: "); gets(livro[cont].autor); printf("Área: "); gets(livro[cont].area); printf("Ano: "); gets(livro[cont].ano); printf("Editora: "); gets(livro[cont].edit); cont++; system("CLS"); printf("\n =============== Cadastrar =============== \n\n"); printf("Voltar para o menu [s/n]? "); scanf("%c",&sair_cad); system("CLS"); fflush(stdin); }while(sair_cad != 's'); break; } case 2:{ printf("\n =============== Imprimir =============== \n"); for(i1 = 0; i1 < 20; i1++){ printf("\nCódigo: %d",livro[i1].cod); printf("\nTítulo: %s",livro[i1].tit); printf("\nAutor: %s",livro[i1].autor); printf("\nÁrea: %s",livro[i1].area); printf("\nAno: %s",livro[i1].ano); printf("\nEditora: %s",livro[i1].edit); printf("\n ------------- \n"); } break; } case 3:{ do{ printf("\n =============== Pesquisar =============== \n"); busca = 0; printf("\nBuscar o código: "); scanf("%d",&n); for(i1 = 0; i1 < 20; i1++){ if(n == livro[i1].cod){ busca = 1; } } if(busca == 1){ printf("\n\nCódigo: %d",livro[n].cod); printf("\nTítulo: %s",livro[n].tit); printf("\nAutor: %s",livro[n].autor); printf("\nÁrea: %s",livro[n].area); printf("\nAno: %s",livro[n].ano); printf("\nEditora: %s",livro[n].edit); } else{ printf("Livro não cadastrado"); } printf("Fazer nova pesquisa [s/n]? "); scanf("%c",&sair_pes); }while(sair_pes != 's'); break; } case 4:{ printf("\n =============== Ordernar =============== \n"); for(i1 = 0; i1 > 20; i1++){ for(i2 = i1+1; i1 > 20; i2++){ if(livro[i1].ano > livro[i2].ano){ aux = livro[i1]; livro[i1] = livro[i2]; livro[i2] = aux; } } } break; } case 5:{ printf("Deseja sair[s/n]? "); scanf("%c",&sair_prog); system("CLS"); if(sair_prog == 's'){ printf("Saindo... Tchau!!"); } break; } } }while (sair_prog != 's'); return(0); }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!