Ir ao conteúdo

Posts recomendados

Postado

Olá!

Estou tentando criar um programa para cadastrar 5 livros. Até ai tudo bem...criei uma struct e um menu com switch. Porém, após inserir os dados, preciso que não ultrapasse 5 registros e que se passar exiba uma mensagem de sistema lotado. Não sei como posso fazer essa parte.

 

switch(menu){
            case 1: 
                for(i=0; i<MAX_CAD; i++){
                    printf("Livro %d\n\n",i+1);
                    reg.codigo=i+1;
                    printf("Digite o nome do livro:");
                    gets(reg.livro);
                    fflush(stdin);
                    printf("Digite o nome do autor:");
                    gets(reg.autor);
                    fflush(stdin);
                    printf("Digite o nome da editora:");
                    gets(reg.editora);
                    fflush(stdin);
                    system("cls");

 

Outro parte que estou tendo dificuldade é inserir "lista vazia" no case 2 se o case 1 não for preenchido.

 

case 2:

                    for(i=0; i<MAX_CAD; i++){
                    printf("\n Codigo: %d - Livro: %s - Autor: %s - Editora: %s",reg.codigo, reg.livro, reg.autor, reg.editora);
                    }
                }
            break;
    


Poderiam me ajudar?

 

Desde já agradeço! 

Postado
int quantlivros = 0;//declara esta variável auxiliar no começo
(...)
switch(menu){
            case 1:
                if (quantlivros == MAX_CAD) 
				{
                    printf ("Cheio\n");
					break;
                }
                for(i=0; i<MAX_CAD; i++){
                    printf("Livro %d\n\n",i+1);
                    reg.codigo=i+1;
                    quantlivros++;                
                   

E

case 2:
      if (quantlivros == 0)      
      {
      	printf("Vazio!\n");
        break;
      }

                    for(i=0; i<MAX_CAD; i++){
                    printf("\n Codigo: %d - Livro: %s - Autor: %s - Editora: %s",reg.codigo, reg.livro, reg.autor, reg.editora);
                  }
            break;

 

  • Curtir 1
  • Obrigado 1
Postado
4 horas atrás, Flávio Pedroza disse:

int quantlivros = 0;//declara esta variável auxiliar no começo
(...)
switch(menu){
            case 1:
                if (quantlivros == MAX_CAD) 
				{
                    printf ("Cheio\n");
					break;
                }
                for(i=0; i<MAX_CAD; i++){
                    printf("Livro %d\n\n",i+1);
                    reg.codigo=i+1;
                    quantlivros++;                
                   

E


case 2:
      if (quantlivros == 0)      
      {
      	printf("Vazio!\n");
        break;
      }

                    for(i=0; i<MAX_CAD; i++){
                    printf("\n Codigo: %d - Livro: %s - Autor: %s - Editora: %s",reg.codigo, reg.livro, reg.autor, reg.editora);
                  }
            break;

 

 

Muito obrigada!

Funcionou direitinho.

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!