Ir ao conteúdo
  • Cadastre-se

Marcus V. D. Signor

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. Seguinte galera. Sou novo no fórum. Curso engenharia mecânica, não manjo muito de programação. Porém tenho uma cadeira obrigatória de C. Tinha feito já uma cadeira de C++ em uma outra universidade, mas quando transferi de instituição não me deixaram aproveitá-la . Tenho uma tarefa onde devo criar um struct para cadastrar algumas características para 10 livros. Porém o cadastro deve ser feito através de uma segunda função, externa a main. Para isso estou tentando repassar o meu struct através de ponteiros para essa função. É aí que estou tendo o problema. O erro ocorre no case 1. Já tentei pesquisar, mas como não conheço nem sites bons relacionados ao assunto não encontrei nada que me solucionasse o problema. Também testei várias possibilidades. Caso alguém tenha uma sugestão de uma abordagem diferente, anexei o exercício (é o primeiro do arquivo).O código não está completo, mas é o suficiente para entender o que estou tentando fazer. Devem haver mais erros em relação aos ponteiros, pois ainda não entendi corretamente o seu funcionamento, se puderem indicá-los ficaria grato. Toda crítica é bem-vinda. Obrigado pela atenção! Segue abaixo o que consegui elaborar do código até o momento: #include<stdio.h> #include<locale.h> #include<stdlib.h> #include<string.h> struct descricao {char titulo [16]; char autor [21]; char estilo [11]; int codigo; float preco;}; void cadastro (struct descricao*livro,int *k) { printf("Esse é o cadastro de número %d.\n",k); printf("Digite o título do livro (até 15 caracteres):"); scanf("%s",&livro->titulo); printf("Digite o autor do livro(até 20 caracteres):"); scanf("%s",&livro->autor); printf("Digite o estilo do livro (até 10 caracteres):"); scanf("%s",&livro->estilo); printf("Digite o código do livro:"); scanf("%d",&livro->codigo); printf("Digite o preço do livro:"); scanf("%f",&livro->preco); (*k)=(*k)+1; } int main( ) { setlocale(LC_ALL, "Portuguese"); int k=0; int i; typedef struct descricao livro [10]; printf("--------------MENU DE OPÇÕES--------------\n"); printf("1-Cadastro de livros (máximo de 10 livros).\n"); printf("2-Consulta de livros.\n"); printf("3-Sair do programa.\n"); scanf("%d",&i); system("cls"); switch (i) { case 1: cadastro(&livro[k],&k); case 2: case 3: default: printf ("Número inválido!\n"); system ("PAUSE"); system ("cls"); break; } } 13.3 - Ep 13.pdf

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