Ir ao conteúdo

Posts recomendados

Postado

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
Postado

@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

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!