Ir para conteúdo
Erick Prates

Media entre idades

Recommended Posts

tenho que fazer esse algoritmo :

Citar

Faça um algoritmo que solicite a digitação da idade e do sexo de uma pessoa (o sexo deve ser F ou M) e depois pergunte se o usuário deseja informar uma nova pessoa. Esse processo deve se repetir até que o usuário informe que não deseja mais informar novas pessoas. Quando isso acontecer, o algoritmo deve imprimir na tela a quantidade de pessoas do sexo masculino informadas; a quantidade de pessoas do sexo feminino informadas; a média das idades informadas para pessoas de sexo masculino; e a média das idades informadas para pessoas de sexo feminino.(usando while)

ja fiz ate aqui:

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

int main ()

{
    char sexo;
    int resp=1,M=0,F=0,idad=0,idad_M=0,idad_F=0;
    float media_M=0.0,media_F=0.0;

    while (resp==1)
    {
      printf("Qual e o seu sexo? \n");
      scanf(" %c",&sexo);
      printf("Qual e sua idade?\n");
      scanf(" %d",&idad);
      printf("Quer adicionar mais algum sexo?\n");
      scanf(" %d",&resp);

      if (sexo=='M')
      {      
      idad_M==idad;               
      M=M+1;
      media_M=idad_M/M;
      }
      if (sexo=='F')
      {
      idad_F==idad;              
      F=F+1;
      media_F=idad_F/F;
      }
    }
    printf("A quantidade de pessoas do sexo masculino e: %d\n",M);
    printf("A media de pessoas do sexo masculino e: %.2f\n",media_M);
    printf("A quantidade de pessoas do sexo feminino e: %d\n",F);
    printf("A media de pessoas do sexo feminino e: %.2f\n",media_F);
    
    system("PAUSE");
    return (0);
    
}

ja tentei e tentei mas não consegui colocar a media das idades,alguém sabe?

Compartilhar este post


Link para o post
Compartilhar em outros sites

já resolvi.

 

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

int main ()

{
    char sexo;
    int resp=1,M=0,F=0,idadM,idadF;
    float mediaM=0,mediaF=0,contM=0,contF=0;

    while (resp==1)
    {
      printf("Qual e o seu sexo? \n");
      scanf(" %c",&sexo);

      if (sexo=='M')
      {  
      printf("Qual e sua idade?\n");
      scanf(" %d",&idadM);             
                                   
      M=M+1;
      contM=contM+idadM;
      mediaM=contM/M;
      }
      if (sexo=='F')
      {
      printf("Qual e sua idade?\n");
      scanf(" %d",&idadF);                   
                              
      F=F+1;
      contF=contF+idadF;
      mediaF=contF/F;
      }
      
      printf("Quer adicionar mais algum sexo?\n");
      scanf(" %d",&resp);
      
    }
    printf("A quantidade de pessoas do sexo masculino e: %d\n",M);
    printf("A media de pessoas do sexo masculino e: %.1f\n",mediaM);
    printf("A quantidade de pessoas do sexo feminino e: %d\n",F);
    printf("A media de pessoas do sexo feminino e: %.1f\n",mediaF);
    
    system("PAUSE");
    return (0);
    
}

 

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

  • Conteúdo Similar

    • Por Rafael_Ferreira
      O primeiro código abaixo o form "Login" é o que tem a string na qual planejo resgatar, a string "user", que é da primeira tela do programa na qual o usuário tem que digitar um nome para acesso simultâneo ao banco de dados. E o form "Cadastro_Cliente", que é o form na qual eu vou utilizar a string resgatada, segundo código digitado abaixo. Este form  é posterior na qual eu cadastro os dados dos clientes. O problema é que ele só resgata o public string "user" ele não pega o valor "user = textBox1.Text" lá embaixo.
      -----------------------------------------------------------------------------------
       public partial class Login : Form
          {

              public string user;

              public Login()
              {
                  InitializeComponent();

              }

              private void Login_Load(object sender, EventArgs e)
              {

              }

              public void button1_Click(object sender, EventArgs e)
              {
               user = textBox1.Text;

                  if (String.IsNullOrEmpty(user) == false)
                      {
                      Form1 F1 = new Form1();
                      this.Hide();
                      F1.ShowDialog();
                      this.Close();
                  }

              }
          }
      }
        -------------------------------------------------------------------------------------
         public Cadastro_Cliente(string valorIdSelecionado)
              {
                 InitializeComponent();
                 Login login = new Login();

                 usuario = login.user;

                 login.Dispose();
       
      -------------------------------------------------------------------------------------
      O problema é que ele resgata o valor declarado acima no caso o valor "vazio" nulo da "public string user" o sistema não passa e "pega" o valor  no código abaixo "user = textBox1.Text" só passando o valor da "string" em sua declaração.
    • Por Good
      Boa noite, então... eu criei funções manuais para adicionar e remover contatos da agenda do google, tudo ok..
      O problema é o access_token que fica expirando. A minha dúvida é como evitar isto?
       
      A duração do token tem validade de 3600, e como uso algumas vezes durante o dia, o token fica expirando, e quando vou renovar aparece: stdClass Object ( [error] => invalid_grant [error_description] => Token has been expired or revoked. ) 
       
      Tentei criar uma função para renovar quando estiver perto de expirar fazer a renovação. É o resultado da mensagem acima!
       
      Aí pra atualizar o token, tenho que "fazer login" novamente e aí vou obter um token novo. Mas isso é incômodo demais pro sistema, e meus clientes não vão gostar, com certeza. E já vi um OUTRO serviço que o uso é frequente e não há necessidade de mandar o usuário para a página do google fazer "login novamente".
       
      Deu para entender? Quero continuar acessando a API do google, sem necessidade de ficar mandando o usuário para a página de login do google.
    • Por rtavix
      Pessoal, estou com problemas no meu insert ao inserir no banco: Essa é meu método de inserir:
       
      private static bool InsereDadosBanco(string CodProcInter,string CodBarra,string DtAgendamento,string VlrDocumento,string Protocolo,string Registro,string Emissao) { bool insert = false; using (DB db = new DB()) { try { VlrDocumento = SomenteNumerosPontosVirgula(VlrDocumento).Replace(",00",""); string SQL; DateTime data = Convert.ToDateTime(DtAgendamento); DateTime dataEmissao = Convert.ToDateTime(Emissao); SQL = "INSERT INTO sdpj_comprovante(COD_COMP, COD_PROC_INTER, COD_BARRAS, DAT_AGENDAMENTO, VLR_DOCUMENTO, NUM_PROTOCOLO, DSC_REGISTRO,DAT_EMISSAO)"; SQL += string.Format(@"VALUES(SDPJ_COD_COMP_SEQ.NextVal, '{0}', '{1}', 'TO_DATE('{2}', 'DD/MM/YYYY')', '{3}', '{4}', '{5}', 'TO_DATE('{6}', 'DD/MM/YYYY HH:MI:SS'))", CodProcInter, CodBarra, Convert.ToDateTime(DtAgendamento), VlrDocumento, Protocolo, Registro, Convert.ToDateTime(Emissao)); db.ExecutaComando(SQL); insert = true; InsertLog("\n Inserido -> ProcInter: " + CodProcInter + " Cód. Barra: " + CodBarra); } catch (Exception ex) { insert = false; } } return insert; }  
      Classe Db.
      public void ExecutaComando(string strQuery) { var cmdComando = new OracleCommand { CommandText = strQuery, CommandType = CommandType.Text, Connection = conexao }; cmdComando.ExecuteNonQuery(); }  
      esta retornando o erro:
      {"ORA-00917: vírgula não encontrada"}
    • Por Boca
      Pessoal, bom dia
      Tenho o seguinte array que puxo do banco de dados, para puxar serviços, estou precisando agrupar os serviços para que sejam exibidos da seguinte forma.
       
      Navio Hotel Alimentação Seguro Ou seja preciso agrupar os serviços com o mesmo ID, não posso colocar no banco um simples group by pois irei fazer um sub select com os produtos de cada serviço contratado
       
      Array ( [0] => stdClass Object ( [servico_id] => 10 [produto_id] => 19 [servico_nome] => Navio ) [1] => stdClass Object ( [servico_id] => 7 [produto_id] => 18 [servico_nome] => Hotel ) [2] => stdClass Object ( [servico_id] => 12 [produto_id] => 20 [servico_nome] => Alimentação ) [3] => stdClass Object ( [servico_id] => 9 [produto_id] => 11 [servico_nome] => Seguro ) [4] => stdClass Object ( [servico_id] => 10 [produto_id] => 13 [servico_nome] => Navio ) [5] => stdClass Object ( [servico_id] => 9 [produto_id] => 10 [servico_nome] => Seguro ) [6] => stdClass Object ( [servico_id] => 9 [produto_id] => 10 [servico_nome] => Seguro ) )  
    • Por rtavix
      Pessoal, boa tarde!
       
      Estou com problemas para lê os arquivos de um diretório, apresenta erro como se estivesse passando o caminho errado, porém não enxergo essa falha, alguém poderia me orientar?
      Aqui é aonde eu verifico a extensão do arquivo e informo o caminho:
      public static class LeituraTxt { static Thread _ThreadVerificacao; static string PastaArquivosPendentes = @"D:\Pendrive\PENDENTES"; static string PastaArquivosImportados = @"D:\Pendrive\IMPORTADOS"; static string PastaArquivoLog = @"D:\Pendrive\LogImportaComprovante"; public static void Ler() { //criação da thread de verificação e sua execução _ThreadVerificacao = new Thread(VerificarHorario); _ThreadVerificacao.Start(); } //irá verificar se deve ou não executar o método a cada 1 hora private static void VerificarHorario() { while (true) { if (DateTime.Now.Hour == 16) //Se for 07:00:00 horas da manhã { InsertLog(""); InsertLog("\n INICIO :: " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString()); try { DirectoryInfo dirPendentes = new DirectoryInfo(PastaArquivosPendentes); // lista arquivos do diretorio corrente foreach (FileInfo file in dirPendentes.GetFiles()) { if(file.Extension == ".cpv") { ProcessaArquivo(file.FullName, file.Name); } } } catch (Exception) { throw; } finally { InsertLog("\n FIM :: " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString()); } } Thread.Sleep(3600000); //3.600.000 milisegundos equivalem a 1 hora (Parado) } } }  
      Método para mover o arquivo:
      private static void MoveFile(string FileName) { try { PastaArquivosImportados += "\\" + FileName; PastaArquivosPendentes += "\\" + FileName; File.Move(PastaArquivosPendentes, PastaArquivosImportados); } catch (Exception) { throw; } } Método de inserir o log:
      private static void InsertLog(string linha) { //Cria Pasta de Log, Caso não exista if (!Directory.Exists(PastaArquivoLog)) { Directory.CreateDirectory(PastaArquivoLog); } //Cria Arquivo de Log, Caso não exista string FullPath = PastaArquivoLog+ "\\LogTexto.txt"; if (!File.Exists(FullPath)) { using (File.Create(FullPath)) ; } //Escreve no arquivo de LOG using (StreamWriter file = new StreamWriter(FullPath,true)) { file.WriteLine(linha); file.Dispose(); } }  
      Erro:
      System.IO.FileNotFoundException: 'Não foi possível localizar o arquivo 'D:\Pendrive\PENDENTES\CGc0001.cpv\CGc0360.cpv'.'
      Isso acontece que toda vez vou ler o próximo arquivo.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.