Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gustavo Melo

[Resolvido] Programa não realiza o calculo

Recommended Posts

O programa abaixo pede para digitar o salario e o cargo do funcionario.

Se o cargo digitado for operador ou programador ele faz um calculo para mostrar o salario novo.

 

O programa esta funcionando, mas não realiza o calculo do salario_novo.

 

#include<stdio.h>
#include<conio.h>
float salario, salario_novo;
char cargo[11];
main (void)
{
	printf("Digite o salario: ");
	scanf("%f", &salario);
	printf("Digite o cargo: ");
	scanf("%s", &cargo);
	if (cargo == "operador")
	   salario_novo = (salario + ((salario * 20) / 100));
	if (cargo == "programador")
	   salario_novo = (salario + ((salario * 18) / 100));
	printf("O cargo de %s tem o salario de %f",cargo,salario_novo);
getch();
}

Agradeço qualquer ajuda.

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gustavo,

vamos organizar esse seu código que tem alguns errinhos...

 

1. você não deveria usar variáveis globais, nesse seu programa simples variaveis locais resolvem o seu problema e você nem precisa mudar o código... :P

2. main TEM QUE ser int, e TEM QUE retornar qualquer numero, em caso de sucesso 0 ou EXIT_SUCCESS se você usou a função exit()

 

Em C, strings não se comparam com '=='. Tente um:

if(strcmp(cargo, "operador") == 0)

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

[]

Compartilhar este post


Link para o post
Compartilhar em outros sites

só para completar:

1) para usar a função srtcmp é preciso incluir a biblioteca string.h

2) na hora de ler a string cargo, o operador "&" de endereço não se faz necessário, pois a string já aponta para o primeiro endereço de memória.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado pelas respostas.

O programa rodou corretamente ao acrescenter a biblioteca string.h e a função strcmp.

 

 

#include<stdio.h>
#include<conio.h>
#include<string.h>
float salario, salario_novo;
char cargo[11];
main (void)
{
	printf("Digite o salario: ");
	scanf("%f", &salario);
	printf("Digite o cargo: ");
	scanf("%s", &cargo);
	if(strcmp(cargo, "operador") == 0)
		   salario_novo = (salario + ((salario * 20) / 100));
	if(strcmp(cargo, "programador") == 0)
		   salario_novo = (salario + ((salario * 18) / 100));
	printf("O cargo de %s tem o salario de %f",cargo,salario_novo);
getch();
}

Valeu pessoal!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.