Comparação de Strings em C.

1. Comparação de Strings em C.

felipe pires soares
7felipe7

(usa Outra)

Enviado em 04/06/2018 - 22:09h

Pessoal, estou com um trabalho na faculdade que é assim: *a questão pede um número indeterminado de funcionarios, calcula o salario deles e no fim exibe quantos funcionarios tem e quanto a empresa gasta com cada um deles, obs: para finalizar a entrada de dados o nome do funcionario tem que ser igual a fim*. A minha dúvida é, como posso criar Strings em C e comparar na hora do "FIM". Eu estou tentando fazer assim *#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(){
char nome,letras[64]={"abcdfghijlmnopqrstuywxzkç"};
float dpi, ht, vh=12.50, sb, vd, sl,somsl;
char termina[20];
int nf,i=0;
int teste;

teste = 1;

printf("\t\t\t\t\t\Calculo Salarial\n\n");

printf("Quantidade de funcionarios da Empresa:");
scanf("%d", &nf);
fflush(stdin);


if(nf==nome){
//teste se der erro*
printf("\nErro no programa! Execute novamente.");
}else{

strcpy(termina, "fim");

for(i=0;i<nf;i++){
printf("\nInsira o nome do colaborador:\n");
scanf("%c", &nome);
fflush(stdin);






printf("Insira a quantidade de dependentes:\n");
scanf("%f", &dpi);
fflush(stdin);

printf("Insira a quantidade de horas trabalhadas:\n");
scanf("%f", &ht);
fflush(stdin);

dpi=dpi*125.55;
sb=((ht*vh)+dpi);
vd=((sb*12)/100);
sl=sb-vd;

printf("O valor final do salario do colaborador e: %.2f\n", sl);
fflush(stdin);
system("pause");
system("CLS");
somsl =somsl+sl;
}
printf("\t\t\t\t\t\Calculo Salarial\n\n");
printf("A quantidade de funcionarios: %d",nf);
printf("\nO valor total da folha salarial e: %.2f",somsl);
}
}*, mas sem sucesso. Poderiam me ajudar?


  


2. Re: Comparação de Strings em C.

Diego Mendes Rodrigues
diegomrodrigues

(usa Ubuntu)

Enviado em 05/06/2018 - 10:15h

Felipe,

Esse código deve atender seu enunciado.

#include <stdio.h>
#include <string.h>

int main() {
char nome[50];
int qtd_funcionarios = 0;
float soma_salarios = 0;
float valor_hora = 12.50;

printf("####################\n Funcionários\n####################\n");

while (1) {
float dependentes = 0, horas_trabalhadas = 0, sb = 0, vd = 0, sl = 0;

printf("\nNome do funcionário: ");
scanf("%s",nome);

if ((strcmp (nome, "fim") == 0) || (strcmp (nome, "FIM") == 0) || (strcmp (nome, "Fim") == 0))
break;

printf("\nQuantidade de dependentes: ");
scanf("%f",&dependentes);

printf("\nHoras trabalhadas: ");
scanf("%f",&horas_trabalhadas);

dependentes = dependentes * 125.55;
sb = ((horas_trabalhadas*valor_hora)+dependentes);
vd = ((sb*12)/100);
sl = sb - vd;

qtd_funcionarios++;
soma_salarios += sl;

printf("\nNome....: %s\n", nome);
printf("Salário.: R$ %.2f\n", sl);
}

if ( qtd_funcionarios > 0 ) {
printf("\nTotal de funcionários = %d\n", qtd_funcionarios);
printf("Valor total da folha salarial = R$ %.2f\n", soma_salarios);
}

return 0;
}


Abraço,
Diego M. Rodrigues


3. Re: Comparação de Strings em C.

Paulo
paulo1205

(usa Ubuntu)

Enviado em 05/06/2018 - 11:46h

diegomrodrigues escreveu:

Felipe,

Esse código deve atender seu enunciado.


Caro Diego,

Evite fazer os trabalhos dos outros. Procure ensinar a pescar, em vez de entregar a muqueca pronta na mão.

Lembre-se que a própria descrição desta comunidade no Fórum do Viva o Linux coloca o “atendimento de pedidos de respostas prontas a trabalhos, testes e exercícios escolares” na lista de “práticas ilegais e antiéticas” repudiadas.

No caso específico, nosso colega chegou com uma dúvida pontual: como comparar strings? O natural seria dar uma resposta igualmente pontual e correta.


4. Re: Comparação de Strings em C.

felipe pires soares
7felipe7

(usa Outra)

Enviado em 05/06/2018 - 11:53h

Bom dia, esse código que você mandou me ajudou muito, estou começando agora na area de programação..
Minha duvida foi resolvida, para poder comparar uma string tem que criar esse método strcmp.. vou pesquisar mais sobre o assunto em questão. no mais Obrigado!
if ((strcmp (nome, "fim") == 0) || (strcmp (nome, "FIM") == 0) || (strcmp (nome, "Fim") == 0))






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts