Olá. Sou estudante e comecei recentemente. Eu tenho que fazer um trabalho, só que ao compilar, está sendo identificado um erro. alguém poderia me dizer qual o erro?
O programa é bem simples e, como não vimos strings, foi pedido que usássemos char para nomes, cadastrando apenas uma letra. E as variáveis serão substituídas sempre que for cadastrado algo. Eu ainda não continuei porque fica dando erro na parte do case 1, que está em vermelho. Ele disse que estou usando %d, que é pra uma variável inteira, para um endereço reservado para valores do tipo int *. Sendo não faz sentido dar esse erro, sendo que a variável é do tipo int e %d é do tipo int. Alguém poderia me dizer o que tem de errado. Tem uns outros erros que eu já identifiquei, mas só esse que eu não sei como corrigir.
#include<stdio.h>
void main(){
int opcao = 1, opcao1, opcao2, opcao3, idade, contato;
char nome;
while (opcao != 4){
printf("\nLivraria Assis\n");
printf("\nMenu de Clientes - 1;\n");
printf("Menu de Livros - 2;\n");
printf("Livros Vendidos - 3\n");
printf("Sair do programa - 4.\n");
scanf("%d", &opcao);
switch (opcao){
case 1:
printf("\nMenu de Clientes\n");
while (opcao1 != 3){
printf("\nCadastro de Cliente - 1;");
printf("\nVizualizar Cliente Cadastrado - 2");
printf("\nRetornar ao Menu Principal - 3"); scanf("%d", opcao1);
if (opcao1 == 1){
printf("\nCadastro de Cliente\n");
printf("\nDigite o nome do cliente: ");
scanf("%c", &nome);
printf("\nDigite a idade do cliente: "); scanf("%d", idade);
printf("\nDigite o número de contato do cliente: ");
scanf("%d", &contato);
}
else{
if (opcao1 == 2){
printf("\nCliente Cadastrado\n");
printf("\nNome: %c", nome);
printf("\nIdade: %d", idade);
printf("Contato: %d", contato);
}
else{
if (opcao1 == 3){
break;
}
else{
printf("Digite um valor válido");
}
}
}
}
break;
case 2:
printf("\nMenu de Livros\n");
break;
case 3:
printf("\nLivros Vendidos\n");
break;
default:
printf("Escolha uma das opções válidas");
break;
}
}
Pergunta
Boey-sama
Olá. Sou estudante e comecei recentemente. Eu tenho que fazer um trabalho, só que ao compilar, está sendo identificado um erro. alguém poderia me dizer qual o erro?
O programa é bem simples e, como não vimos strings, foi pedido que usássemos char para nomes, cadastrando apenas uma letra. E as variáveis serão substituídas sempre que for cadastrado algo. Eu ainda não continuei porque fica dando erro na parte do case 1, que está em vermelho. Ele disse que estou usando %d, que é pra uma variável inteira, para um endereço reservado para valores do tipo int *. Sendo não faz sentido dar esse erro, sendo que a variável é do tipo int e %d é do tipo int. Alguém poderia me dizer o que tem de errado. Tem uns outros erros que eu já identifiquei, mas só esse que eu não sei como corrigir.
#include<stdio.h>
void main(){
int opcao = 1, opcao1, opcao2, opcao3, idade, contato;
char nome;
while (opcao != 4){
printf("\nLivraria Assis\n");
printf("\nMenu de Clientes - 1;\n");
printf("Menu de Livros - 2;\n");
printf("Livros Vendidos - 3\n");
printf("Sair do programa - 4.\n");
scanf("%d", &opcao);
switch (opcao){
case 1:
printf("\nMenu de Clientes\n");
while (opcao1 != 3){
printf("\nCadastro de Cliente - 1;");
printf("\nVizualizar Cliente Cadastrado - 2");
printf("\nRetornar ao Menu Principal - 3");
scanf("%d", opcao1);
if (opcao1 == 1){
printf("\nCadastro de Cliente\n");
printf("\nDigite o nome do cliente: ");
scanf("%c", &nome);
printf("\nDigite a idade do cliente: ");
scanf("%d", idade);
printf("\nDigite o número de contato do cliente: ");
scanf("%d", &contato);
}
else{
if (opcao1 == 2){
printf("\nCliente Cadastrado\n");
printf("\nNome: %c", nome);
printf("\nIdade: %d", idade);
printf("Contato: %d", contato);
}
else{
if (opcao1 == 3){
break;
}
else{
printf("Digite um valor válido");
}
}
}
}
break;
case 2:
printf("\nMenu de Livros\n");
break;
case 3:
printf("\nLivros Vendidos\n");
break;
default:
printf("Escolha uma das opções válidas");
break;
}
}
}
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.