Exercícios de Exemplo - 13/03/2009 - Estruturas de Repetições

Ir em baixo

Exercícios de Exemplo - 13/03/2009 - Estruturas de Repetições

Mensagem por Evandro Abu Kamel em Sex 13 Mar 2009, 14:52

Vou postar aqui os exercício passados pela professora hoje em sala. Farei alguns comentários também, como de costume.

Mas o objetivo aqui não é só de copiar e colar códigos e pronto, é, na verdade, ajudar a entender o C# usando a lógica aprendida em sala e também a entender um pouco mais a lógica e os principais comandos da programação.

Então, vamos começar.

Exercício 1

-> Ler os dados (código, nº de horas trabalhadas, turno, categoria) de 10 funcionários e imprimir o valor do salário de cara um. Considerando como base o salário mínimo de R$450 e a tabela abaixo para calcular os adicionais de acordo com os dados fornecidos.

Categoria Turno % em relação ao Salário Mínimo
G(erente) M(atutino) 18%
G(erente) V(espertino) ou N(oturno) 15%
O(perário) M(atutino) 13%
O(perário) V(espertino) ou N(oturno) 10%


Código:
public static void Main(string[] args)
      {
         int cod, ht, cont;
         char categ, turno;
         double salario;
         
         for (cont=1 ; cont<=10 ; cont++)
         {  // inicio do for() // aqui dentro sera executado todo o programa, para cada funcionario
            Console.WriteLine("Informe o codigo: ");
            cod = int.Parse(Console.ReadLine());
            
            categ = 'a'; // inicializa a variavel 'categ' para entrar no while()
            while (categ!='G' && categ!='O')  // veja que os valores do tipo char ficam entre '' simples
            {  // inicio do while()
               Console.WriteLine("Informe a categoria (G ou O): ");
               categ = char.Parse(Console.ReadLine());
            }  // fim do while()
            
            turno = 'a'; // inicializa a variavel 'turno' para entrar no while()
            while (turno!='M' && turno!='V' && turno!='N')  // veja que os valores do tipo char ficam entre '' simples
            {  // inicio do while()
               Console.WriteLine("Informe o turno de trabalho (M, V ou N): ");
               turno = char.Parse(Console.ReadLine());
            }  // fim do while()
            
            Console.WriteLine("Informe o numero de horas trabalhadas: ");
            ht = int.Parse(Console.ReadLine());
            Console.WriteLine(" ");
            
            if (categ=='G') // Gerente
            {
               if (turno=='N')  // Noturno
               {
                  salario = ht * (450*18/100);
               } // else if (turno=='M' || turno=='V')  // Matutino ou Vespertino
               else salario = ht * (450*15/100);  // se for apenas um comando, nao eh necessario usar { }
            }
            else // else if (categ=='O')  // Operario
            {
               if (turno=='N')  // Noturno
               {
                  salario = ht * (450*13/100);
               } // else if (turno=='M' || turno=='V')  // Matutino ou Vespertino
               else salario = ht * (450*10/100);  // se for apenas um comando, nao eh necessario usar { }
            }   
            
            Console.WriteLine("O funcionario "+cod+" recebera R$"+salario+" nesse mes.");
            Console.Read();
            // fim do for() // o programa volta para o topo e verifica se a variavel 'cont' eh menor ou igual a 10
            // caso seja, ele eh executado novamente
            // se nao for, o for() eh terminado
         }   
      }

Vejam aí se funciona, pois meu compilador de C# no Linux não funciona como o Builder C#, e mostrou uma mensagem de erro na leitura da variável 'cod', então aí por favor.

Se alguém quiser, pode postar o segundo exercício. Smile
avatar
Evandro Abu Kamel
Administrador
Administrador

Número de Mensagens : 222
Idade : 28
Data de inscrição : 11/03/2009

Ver perfil do usuário http://forum.clubedosistema.com

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum