Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Jhony Santos

C Salvar dados em uma variavel

Recommended Posts

Pessoal, boa noite!

 

To desenvolvendo um software pra faculdade que pede para salvar um número de peças que um funcionario do sexo masculino ou feminino criou, gostaria de saber como faço para salvar o caractere que digitei.

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
main(){
	int numf, pec, f, totpec, totpecf, totpecm;
	char sex;
	float sal, saltot, saltotm, saltotf, maiorsa;
	printf("Bem vindo ao Software\n");
	do{
		printf("\nDigite o numero do funcionario: ");
		scanf("%d", &numf);
		fflush(stdin);
		printf("Digite o sexo do funcionario :");
		scanf("%s", &sex);
		fflush(stdin);
		printf("Digite a quantidade de pecas que o funcionario produziu: ");
		scanf("%d", &pec);
		fflush(stdin);
		sal= 600;
		totpec=totpec+pec;
		if(pec<=30){
				sal= 600;
				printf("O salario do funcionario e: %f", sal);
				}else{
					if((pec>30)&&(pec<36))
						{
						sal=((18*(pec-30))+600);
						printf("O salario do funcionario e: %f", sal);
						}else{
							sal=((30*(pec-30))+600);
							printf("O salario do funcionario e: %f\n", sal);
							}
					}if(sex=){
						totpecm=totpecm+pec;
					}
					printf("\nDigite 0 para encerrar ou qualquer outra tecla para continuar: ");
		scanf("%d", &f);
		fflush(stdin);
		saltot=saltot+sal;
	}	while(f!=0);
	printf("Quantidade de pecas masculino e %d\n", totpecm);
	printf("Quantidade de pecas feminino e %d\n", totpecf);
	printf("-Total de pecas e : %d\n", totpec);
	printf("-Total dos salarios: %f\n", saltot);
	printf("salario para homens: %f\n", saltotm);
	printf("salario para mulheres: %f\n", saltotf);
	printf("maior salario: %f\n", maiorsa);
}

por enquanto o codigo esta assim

Editado por DiF
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Jhony Santos    para salvar você precisa usar um arquivo, você pode salvar como arquivo txt  ou arquivo binário, então para salvar como arquivo txt você pode usar um código parecido com este seu código com algumas modificações :

#include<stdio.h>
#include<stdlib.h>
#include <string.h>
#include<stdlib.h>
#include<math.h>
FILE *fp;
char c[20];
int numf, pec, f, totpec, totpecf, totpecm;
char sex;
float sal, saltot, saltotm, saltotf, maiorsa;
int main(){
	saltotm=950;
	saltotf=950;
	printf("Bem vindo ao Software\n");
	do{
		printf("\nDigite o numero do funcionario: ");
		scanf("%d", &numf);
		fflush(stdin);
		do{
		    printf("Digite o sexo do funcionario [ M ]  ou  [ F ] : ");
		    scanf("%s", &sex);
		}while(sex !='m'&&sex!='M'&&sex!='f'&&sex!='F');
		fflush(stdin);
		printf("Digite a quantidade de pecas que o funcionario produziu: ");
		scanf("%d", &pec);
		fflush(stdin);
		sal= 600;
		totpec=totpec+pec;
		if(pec<=30){
				sal= 600;
				printf("O salario do funcionario e: %.2f", sal);
				}else{
					if((pec>30)&&(pec<36))
						{
						sal=((18*(pec-30))+600);
						printf("O salario do funcionario e: %.2f", sal);
						}else{
							sal=((30*(pec-30))+600);
							printf("O salario do funcionario e: %.2f\n", sal);
							}
					}if(sex=='m' || sex=='M'){
						totpecm=totpecm+pec;
					}
					printf("\nDigite 0 para encerrar ou qualquer outra tecla para continuar: ");
		scanf("%d", &f);
		fflush(stdin);
		saltot=saltot+sal;
	}	while(f!=0);
	printf("Quantidade de pecas masculino e %d\n", totpecm);
	printf("Quantidade de pecas feminino e %d\n", totpecf);
	printf("-Total de pecas e : %d\n", totpec);
	printf("-Total dos salarios: %.2f\n", saltot);
	printf("salario para homens: %.2f\n", saltotm);
	printf("salario para mulheres: %.2f\n", saltotf);
	printf("maior salario: %.2f\n", maiorsa);
	maiorsa=1000;
	/* aqui salva no arquivo os resultados */
	fp=fopen("Total_Pecas.txt","r");/*abre o arquivo para ler*/
	if(fp==NULL){
	    fp = fopen("Total_Pecas.txt", "wt");/*cria o arquivo*/
	    if(fp==NULL){printf("Erro Ao Abrir Arquivo");fclose(fp);return 0;}
	    fclose(fp);/*fecha o arquivo*/
	}
	fclose(fp);/*fecha o arquivo*/
	fp=fopen("Total_Pecas.txt","wt");/*abre o arquivo para escrever*/
	itoa(totpecm,c,10);
        fprintf(fp,"%s","totpecm = ");fprintf(fp,"%s",c);fprintf(fp,"%s"," ");
        itoa(totpecf,c,10);
        fprintf(fp,"%s","totpecf = ");fprintf(fp,"%s",c);fprintf(fp,"%s"," ");
        itoa(totpec,c,10);
        fprintf(fp,"%s","totpec = ");fprintf(fp,"%s",c);fprintf(fp,"%s"," ");
        sprintf(c, "%.2f",saltot);
        fprintf(fp,"%s","saltot = ");fprintf(fp,"%s",c);fprintf(fp,"%s"," ");
        sprintf(c, "%.2f",saltotm);
        fprintf(fp,"%s","saltotm = ");fprintf(fp,"%s",c);fprintf(fp,"%s"," ");
        sprintf(c, "%.2f",saltotf);
        fprintf(fp,"%s","saltotf = ");fprintf(fp,"%s",c);fprintf(fp,"%s"," ");
        sprintf(c, "%.2f",maiorsa);
        fprintf(fp,"%s","maiorsa = ");fprintf(fp,"%s",c);fprintf(fp,"%s"," ");
        fclose(fp);/*fecha o arquivo*/
        return 0;
}

depois de rodar o programa você pode visualizar o que foi salvo,  abrindo o arquivo, usando o bloco de notas e o arquivo estará na mesma pasta em que você salvou esse programa .

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • @devair1010 Então tu entendeu errado, eu queria salvar o acumulador de quando voce digita o sexo, quando digita M ou F so salva o primeiro acumulador. Porque o programa pede para mostrar o salario acumulado das mulheres e o salario acumulado dos homens. Mas nao estou conseguindo fazer isso.

     

    • Curtir 2

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @Jhony Santos    ainda não entendi muito bem, o que tem haver o sexo com o salario acumulado ?     será que o salario depende da quantidade de peças criadas pelo funcionário ?  ou então você precisa pedir para o usuário digitar qual o salario dos funcionários e depois somar esses salários  para então saber o salário acumulado .

    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @devair1010  Acho que o que ele quer é tipo: funcionario 1 do sexo M produziu 800 seu salario vai ser 900 reais... mesma coisa sexo feminino salario vai ser 901...
     Ai mostrar na tela homens produziram 1600 peças e receberam 2000 e mulheres produziram 1100 peças e receberam 1800.
    @Jhony Santos  Você pode salvar as informações dos homens e um arquivo e das mulheres em outro, e fazer quando ler aparecer certinho homens e mulheres... só não sei como abre depois esse arquivo pra somar, nem sei se é possível fazer isso..
    Mais caso não ache nenhuma solução você pode fazer o seguinte, mostrar quanto homens faturaram e quanto mulheres faturaram e depois colocar uma pergunta deseja somar quanto homens faturaram? (ou mulheres) caso seja sim apareça pra digitar os valores e depois ele da a soma.
     Desculpa, foi a única coisa que me veio a cabeça já que não sei somar em arquivos de texto :P mais caso ninguém te responda vê se minha ideia te serve

     Segue código simples

    #include<stdio.h>
    #include<stdlib.h>
    #include <string.h>
    char numf[50],sex,pec[50];
    main ()
    {
    volta:
    FILE *h;
    FILE *f;
    h = fopen ("h.txt","a");
    if(h == NULL)
    {
    	h = fopen("h.txt","w");
     goto volta;
    }
    else
    {
    f = fopen ("f.txt","a");
    if(f == NULL)
    {
    	f = fopen("f.txt","w");
     	goto volta;
    	}	
    else
    {
    	printf("\nDigite o numero do funcionario: ");
    	scanf("%s", &numf);
    	printf("Digite o sexo do funcionario [ M ]  ou  [ F ] : ");
    	scanf("%s", &sex);
    	printf("Digite a quantidade de pecas que o funcionario produziu: ");
    	scanf("%s", &pec);
    	if(sex == 'm' || sex=='M')
    	{
    	fprintf(h,"FUNCIONARIO: ");
    	fprintf(h,numf);
    	fprintf(h," ");	
    	fprintf(h,"PECAS PRODUZIDAS: ");
    	fprintf(h,pec);
    	fprintf(h,"\n");
    	fclose(h);
    	}
    	if(sex=='f' || sex=='F')
    	{
    	fprintf(f,"FUNCIONARIO: ");
    	fprintf(f,numf);
    	fprintf(f," ");
    	fprintf(f,"PECAS PRODUZIDAS: ");	
    	fprintf(f,pec);
    	fprintf(f,"\n");
    	fclose(f);	
    	}
    	h = fopen("h.txt","r");
    	{
    	char le[1000];
    	fread(le,1,1000,h);
    	printf(le);
    	fclose(h);
    	printf("\n");
    }
    	f = fopen("f.txt","r");
    	{
    	char le[1000];
    	fread(le,1,1000,f);
    	printf(le);
    	fclose(f);
    	goto volta;
    }
    }
    }
    }

     

    Editado por Xaws
    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Valeu, era isso mesmo mas consegui fazer de outro jeito. Obrigado gente.

    • Curtir 2

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @Jhony Santos Olá, por gentileza,   compartilhe conosco a sua solução alternativa.

    Com certeza vai ajudar os demais!

     

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    main(){
    	int numf, pec, f, totpec, totpecf, totpecm;
    	char sex;
    	float sal, saltot, saltotm, saltotf, maiorsa;
    	printf("Bem vindo ao Software\n");
    	do{
    		printf("\nDigite o numero do funcionario: ");
    		scanf("%d", &numf);
    		fflush(stdin);
    		printf("Digite o sexo do funcionario :");
    		scanf("%s", &sex);
    		fflush(stdin);
    		printf("Digite a quantidade de pecas que o funcionario produziu: ");
    		scanf("%d", &pec);
    		fflush(stdin);
    		sal= 600;
    		totpec=totpec+pec;
    		if(pec<=30){
    				sal= 600;
    				printf("O salario do funcionario e: %f", sal);
    				}else{
    					if((pec>30)&&(pec<36))
    						{
    						sal=((18*(pec-30))+600);
    						printf("O salario do funcionario e: %f", sal);
    						}else{
    							sal=((30*(pec-30))+600);
    							printf("O salario do funcionario e: %f\n", sal);
    							}
    					printf("\nDigite 0 para encerrar ou qualquer outra tecla para continuar: ");
    		scanf("%d", &f);
    		fflush(stdin);
    		saltot=saltot+sal;
    	}while(f!=0);
    	printf("Quantidade de pecas masculino e %d\n", totpecm);
    	printf("Quantidade de pecas feminino e %d\n", totpecf);
    	printf("-Total de pecas e : %d\n", totpec);
    	printf("-Total dos salarios: %f\n", saltot);
    	printf("salario para homens: %f\n", saltotm);
    	printf("salario para mulheres: %f\n", saltotf);
    	printf("maior salario: %f\n", maiorsa);
        }
    }                                          

    Ai está a solução.

    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

    ×