henriquedepaulo Postado Outubro 4, 2019 Denunciar Share Postado Outubro 4, 2019 Denunciar post Postado 2 minutos boa noite, no código peço para o usuário informar seu nome, porém ao final depois da compilação não entendi porque n aparece o nome na tela. segue o codigo: #include <stdio.h> #include <stdlib.h> int main() { char nome[30]; char funcional[1]; int idade; float salBase, reajuste1,reajuste2, desconto; printf("Digite seu nome:"); scanf("%s",&nome); printf("Informe seu salario base:"); scanf("%f",&salBase); printf("Informe sua categoria funcional:"); scanf("%s",&funcional); printf("Idade:"); scanf("%d",&idade); reajuste1 = (salBase*(138/100)); reajuste2 = (reajuste1*(120/100)); desconto =reajuste2-(reajuste2*(0.20)); printf("Nome:%s\n",nome); printf("Idade: %d\n",idade); printf("Categoria funcional:%s\n",funcional); printf("Salario bruto: %.1f \n",reajuste2); printf("Salario liquido: %.1f \n",desconto); return 0; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vangodp Postado Outubro 6, 2019 Denunciar Share Postado Outubro 6, 2019 Vou comentar os pontos que vejo que estão errados. Nos scanfs não leva & na hora de ler as strings nem os ponteiros, tire o & de todos os scanfs que forem ler strings ou ponteiros. Como não conheço ninguém que entre ponteiros por teclado por agora basta você lembrar que strings não levam & na hora de ler, só os int, float, char etc levam o & adiante no scanf. Certamente seu programa também está dando problema na hora de ler strings, isso é devido a causa de ter lixo no buffer. Procure um bom tutorial de "como limpar o buffer do teclado em C". Seja o que for não use fflush junto com stdin como se indica em muitos lugares, se ver fflush(stdin) onde entrar nem precisa ler, saia fora e busque outra pagina. fflush+ stdin aparentemente funcionam mas tem varios problemas, Recomendaria você ler alguns posts:https://forum.imasters.com.br/topic/336835-tutorial-systempause-e-fflushstdin/https://forum.scriptbrasil.com.br/profile/112983-vangodp/?status=3184&type=statushttps://www.clubedohardware.com.br/forums/topic/1186013-c-atribuição-de-strings-a-partir-de-uma-entrada/?tab=comments#comment-6522965 char funcional[1]; só tem 1 char? >_< Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
henriquedepaulo
boa noite, no código peço para o usuário informar seu nome, porém ao final depois da compilação não entendi porque n aparece o nome na tela.
segue o codigo:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char nome[30];
char funcional[1];
int idade;
float salBase, reajuste1,reajuste2, desconto;
printf("Digite seu nome:");
scanf("%s",&nome);
printf("Informe seu salario base:");
scanf("%f",&salBase);
printf("Informe sua categoria funcional:");
scanf("%s",&funcional);
printf("Idade:");
scanf("%d",&idade);
reajuste1 = (salBase*(138/100));
reajuste2 = (reajuste1*(120/100));
desconto =reajuste2-(reajuste2*(0.20));
printf("Nome:%s\n",nome);
printf("Idade: %d\n",idade);
printf("Categoria funcional:%s\n",funcional);
printf("Salario bruto: %.1f \n",reajuste2);
printf("Salario liquido: %.1f \n",desconto);
return 0;
}
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.