Ir ao conteúdo
  • Cadastre-se
helpleon

C nao consego usar string na struct e nao consigo achar o maior salario

Recommended Posts

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

	struct trabalho{
	char op;
	int hor;
	char nom;	
    char proj;
    int soma;
    int maior;
    
	};
	int i,j,cont,pos;
	struct trabalho vet[10];
main(){
	do{

	printf("NOME DO FUNCIONARIO: "); scanf("%c",&vet[i].nom); fflush(stdin);
	printf("HORS TRABALHADAS: "); scanf("%i",&vet[i].hor); fflush(stdin);
	printf("NOME DO PROJETO: "); scanf("%c",&vet[i].proj); fflush(stdin);
	printf("Novo Cadastro (S/N)?" ); scanf("%c",&vet[i].op); fflush(stdin); 
	vet[i].soma=vet[i].hor*45;
	cont++;
	}while(vet[i].op !='n');
 	for(i=0;i<10;i++){
 		 for(j =i+1 ;i<10;j++){
          if(vet[i].soma>vet[j].soma)	 
 		vet[i].soma=vet[j].soma;
 	
 		}
			}
	for(i=0;i<10;i++){ 
	printf("\n %c" ,	vet[i].nom); //nome
	printf("\n %i" ,	vet[i].soma); //salario
	printf("\n %c" ,	vet[i].proj);//projeto

	}
}

Escreva um programa para cadastrar profissionais integrantes de um projeto. As informações necessárias são: nome do funcionário, número de horas trabalhadas, nome do projeto. Devera ser utilizada a estrutura de registro indexada por um vetor para a construção deste cadastro. Ao final de cada tela de cadastro deverá ser perguntado: "Novo Cadastro (S/N)?" Após o término de todos os cadastros, ou seja, quando o usuário digitar "N" na pergunta para Novo Funcionário a tela deverá ser limpa e deverá ser montada uma tela que imprima os nomes dos funcionários com o valor a ser pago para cada um e o nome do Funcionário com MAIOR salário, sabendo-se que o valor da hora trabalhada é R$ 45.00. Deverá ser digitada a palavra FIM para o nome para encerrar o programa.

 

 

PReciso de ajuda para conseguir usar uma string na struct e saber qual eo amior salario com nome do funcionario

Compartilhar este post


Link para o post
Compartilhar em outros sites

E aí colega tudo bom?

Dei uma revisada no seu código, e saca só:

quando se quer declarar uma string em C, você usa um vetor de char:

char frase[30] // Onde [30] é o tamanho máximo de caracteres da frase

quando se quer "pegar" do usuário um texto em string, você usa:

scanf(" %[^\n]s", &frase) // Onde o "[^\n]s" significa que você quer um texto
  						   // e quer ele apenas até a tecla ENTER (^\n)

e finalmente, quando se quer printar na tela uma string, você usa:

printf("a frase eh: %s", frase) // Onde o "%s" significa string

 

 

Após pegar todos os dados de todos os funcionários (ou seja, após escolher a opção "n"), você pode fazer isso: 

    maior = vet[0]; // escolhe por padrão o primeiro elemento como o maior

 	for(i=0;i<cont;i++){
        if (vet[i].soma > maior.soma){ // se ele encontrar alguem com o salario maior,
            maior = vet[i]; // o maior se torna este
        }
    }

Depois, é só printar os dados do maior.

 

Qualquer coisa pode falar!

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

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





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

×