Ir ao conteúdo
  • Cadastre-se

C construção de Menu em C


Posts recomendados

Enunciado:  
A Banda Molejo deseja contratar você para desenvolver um sistema que gerencie os instrumentos musicais. Eles precisam de um cadastro que armazene o nome do instrumento, o nome do músico que utiliza o instrumento, o ano de compra e o preço de compra.  O número de instrumentos pode variar, pois os antigos podem ser descartados e novos podem ser comprados.  
Deve ser feito um menu, com as seguintes funcionalidades a implementar:

• Cadastrar instrumento;

• Deletar instrumento – informar o nome que será apagado;

• Imprimir todos os instrumentos cadastrados;

• Buscar por músico – dado o nome de um músico,imprimir todos os instrumentos pertencentes a ele, com respectivo nome, valor e ano;

• Idade média: Obter a idade média, em anos, de todos os instrumentos cadastrados.

• Sair – sai do programa. 

 

comecei a fazer e não sei se está correto, esse é o codigo

 

#include <stdio.h>
#include <stdlib.h>
struct todos_dados
    {
        int instrumento[6], idade[6];
        char nome[6][128] ;
    };
struct todos_dados instrumento;

int main() {
    int c = 0;

    printf("\n -- REGISTRO --\n");
    for(;c < 6;c++){
        printf("\nnome do instrumento:");
        scanf("%s",instrumento.nome[c]);
        printf("nome do musico:");
        scanf("%d",&musico.nome[c]);
        printf("idade do instrumento:");
        scanf("%d",&instrumento.idade[c]);
    }

    printf("\n -- LEITURA --\n");
    for(c = 0;c < 6;c++){
        printf("nome do instrumento:%s\n",instrumento.nome[c]);
        printf("nome do musico:%d\n",musico.nome[c]);
        printf("idade do instrumento:%d\n",instrumento.idade[c]);
        
  return 0;
    }
}

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@MarceloJJunior    são bastante coisas nesse programa ,  então melhor ir fazendo aos poucos , e testando a parte feita até que esteja funcionando bem , ai passa para outra coisa ,  e um menu geralmente é seguido de um switch para decidir o que fazer , e as structs são melhor usadas como vetor , então não fica bem usar matriz ou vetor dentro da struct , e seu código com algumas modificações poderia ser assim  :

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
struct todos_dados{
    int instrumento[6], idade[6];
    char nome[6][128] ;

/*
    int instrumento, idade;    esse trecho aqui usa struct com mais aproveitamento
    char nome[128] ;
*/

};
struct todos_dados instrumento;
struct todos_dados musico;
int main(){
    int c,op;
    do{
        printf(" 1 - Cadastrar Instrumentos\n"      );
        printf(" 2 - Deletar Instrumentos\n"        );
        printf(" 3 - Imprimir Todos Instrumentos\n" );
        printf(" 4 - Buscar Por Musico\n"           );
        printf(" 5 - Idade Media dos Instrumentos\n");
        printf(" 6 - Sair Do Programa\n"            );
        printf("     Escolha >> "                   );
        op = getch()-48;
        switch(op){
        case 1:
            printf("\n -- REGISTRO --\n");
            for(c=0; c<2; c++){
                printf("\nnome do instrumento:");
                fflush(stdin);
                scanf("%s",instrumento.nome[c]);
                printf("nome do musico:");
                fflush(stdin);
                scanf("%s",musico.nome[c]);
                printf("idade do instrumento:");
                fflush(stdin);
                scanf("%d",&instrumento.idade[c]);
/*
                printf("\nnome do instrumento:");  esse trecho aqui usa struct com mais aproveitamento
                fflush(stdin);
                scanf("%s",instrumento[c].nome);
                printf("nome do musico:");
                fflush(stdin);
                scanf("%s",musico[c].nome);
                printf("idade do instrumento:");
                fflush(stdin);
                scanf("%d",&instrumento[c].idade);
*/
            }
            break;
        case 2:
            break;
        case 3:
            printf("\n -- LEITURA --\n");
            for(c=0; c<2; c++){
                printf("nome do instrumento --: %s\n"  ,instrumento.nome[ c]);
                printf("nome do musico -------: %s\n"  ,musico.nome[      c]);
                printf("idade do instrumento -: %d\n\n",instrumento.idade[c]);
/*
                printf("nome do instrumento --: %s\n"  ,instrumento[c].nome );   esse trecho aqui usa struct com mais aproveitamento
                printf("nome do musico -------: %s\n"  ,musico[c].nome      );
                printf("idade do instrumento -: %d\n\n",instrumento[c].idade);
*/
            }
            break;
        case 4:
            break;
        case 5:
            break;
        case 6:
            printf("\n\n ====  SaiU do Program !  ====\n");
            break;
        default :
            printf("\nOpcao Invalida !\n");
        }
    }while( op != 6);
    return 0;
}

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

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...