Ir para conteúdo

POWERED BY:

Arquivado

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

iCl4w

[Resolvido] Cadastro E Relatorio

Recommended Posts

Olá,

 

Sou iniciante em C e estou com um problema que não consigo resolver. O programa consiste em um cadastro de funcionários, preciso saber o sexo deles e depois exibir em um relatório quantos homens e mulheres foram cadastrados.

 

A minha principal dúvida, de muitas nesse código, é como fazer o programa ler o nome no cadastro?

 

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

int conth, contm;

void cad_func(void);
void ver_relatorio(void);

int main(int argc, char *argv[])
{
  char opcao;

  system("cls");
           printf(" 1 - Cadastro de Funcionario");
           printf(" 2 - Ver Relatorio");
           printf(" 3 - Sair");
           printf("Escolha uma OPCAO: ");

           opcao=getchar();

           switch(opcao) {
               case '1':
                    cad_func();
                    break;
                case '2':
                    ver_relatorio();
                    break;
                case '3':
                    exit(0);;
                    break;
                default:
                    printf("Nenhuma opcao selecionada! ");
           }
  system("PAUSE");
  return 0;
  }

  void cad_func(void)
  {
      char nomecompleto[50], sexo;
      int i, w;

      printf("Quantos Funcionarios deseja cadastrar? ");
      scanf("%d",w);

      for(i=0; i<w; i++) {

           printf("Digite o NOME do funcionario: ");
           scanf("%c",&nomecompleto[50]);
           printf("Digite o SEXO do funcionario: (M/F) ");
           scanf("%c",&sexo);

           if (sexo="M") {
               contah++;
               printf("O Funcionario %c e do sexo MASCULINO!",&nomecompleto);
           }
           else {
               contm++;
               printf("A Funcionaria %c e do sexo FEMININO!",&nomecompleto);
           }
      }

}

Nesse caso, o programa pula direto pra pergunta sobre o sexo do funcionário.

 

Sei que irá dar um erro no case 2 por não declarar a função ver_relatorio();

 

Eu agradeço a ajuda desde já...

 

Abçs...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom primeiro q para ler string tem q ser assim:

scanf("%s%*c", variavel);

e ele deve estar pulando pq tem sujeira no buffer.

de uma limpada com scanf("%*c"); depois do getchar para ver se resolve;

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Você esta fazendo a leitura de um jeito errado, você esta usando:

printf("Digite o NOME do funcionario: ");

scanf("%c",&nomecompleto[50]);

 

Que não faz muito sentido, será melhor você pesquisar um pouco de leitura de string em C.

Você tem um vetor de char com 50 posições, logo a variável "nomecompleto" aponta para o onde começa esse vetor, então se você deseja ler uma string você tem que usar:

scanf("%s", nomecompleto);

Esse codigo lê apenas um tokken, leia sobre gets() em C.

 

Sugiro que você leia http://www.mtm.ufsc.br/~azeredo/cursoC/aulas/c240.html

 

Boa sorte!

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.