none
Exercicio StreamReader RRS feed

  • Pergunta

  • Ai galera, sou novo em c#, e estou precisando fazer um exercicio mas ñ estou conseguindo e peço a ajuda de vocês, ai vai o enuciado: Faça um programa que leia um arquivo texto e escreva em tela as seguintes informações sobre ele: O numero de vogais, o numero de consoantes e o numero de espaços em branco.

    Agradeço desde já!

    sexta-feira, 14 de dezembro de 2012 18:21

Respostas

  • Existe diversas maneiras de fazer esse aplicativo irei postar uma aqui...

    Segue:

    using System.IO;
    using System.Collections;
    
    
    ArrayList arrText = new ArrayList();
            int totVogal, totconsoante, totespaco;
            private void btnMostrar_Click(object sender, EventArgs e)
            {
                LerArq();
                Testando();
                ExibirTotais();
            }
    
            private int ContarVogais(string palavra)
            {
                // Verificar as consoantes usando Lambda
                return palavra.Count(x => (x == 'a') || (x == 'e') || (x == 'i') || (x == 'o') || (x == 'u'));
    
            }
            private void LerArq()
            {
                //Ler arquivo txt
                //Pode ser feito de outra forma
                //Pedindo o usuario para informar o local por exemplo
                StreamReader objReader = new StreamReader("c:\\test.txt");
                //Pegar conteudo do txt e colocar no arraylist
                string sLinha = "";
                while (sLinha != null)
                {
                    sLinha = objReader.ReadLine();
                    if (sLinha != null)
                        arrText.Add(sLinha);
                }
                objReader.Close(); //Fechar uso do Txt
    
            }
            private void Testando()
            {
                int auxEspaco = 0; // Veriavel para pegar o espaço 
                // foreach para fazer a operação com cada elemento ou texto do nosso arraylist
                foreach (string textoAtual in arrText)
                {
                    int vogal = ContarVogais(textoAtual); //chamar metodo
                    int total = textoAtual.Length; 
                    
                    string[] espaco = textoAtual.Split(' ');
                    if (espaco.Length > 1)
                        auxEspaco = (espaco.Length - 1);
    
                    int consoantes = (total - vogal) - auxEspaco; //pegar o numero de consoantes 
                    //Atribuir a variavel global para fazer a soma de todos os arquivos
                    totVogal += vogal;
                    totespaco += auxEspaco;
                    totconsoante += consoantes;
                }
            }
            private void ExibirTotais()
            {
                MessageBox.Show("Vogal: " + totVogal + "\nConsoantes: " + totconsoante + "\nEspaços: " +totespaco);
            }

    • Sugerido como Resposta PachecoDT sábado, 15 de dezembro de 2012 16:26
    • Marcado como Resposta Ricardo RussoModerator terça-feira, 8 de janeiro de 2013 15:27
    sábado, 15 de dezembro de 2012 16:25

Todas as Respostas

  • o que voce ja tem feito? parece exercicio de casa?

    A flower cannot blossom without sunshine, and man cannot live without love.

    sexta-feira, 14 de dezembro de 2012 18:58
    Moderador
  • Existe diversas maneiras de fazer esse aplicativo irei postar uma aqui...

    Segue:

    using System.IO;
    using System.Collections;
    
    
    ArrayList arrText = new ArrayList();
            int totVogal, totconsoante, totespaco;
            private void btnMostrar_Click(object sender, EventArgs e)
            {
                LerArq();
                Testando();
                ExibirTotais();
            }
    
            private int ContarVogais(string palavra)
            {
                // Verificar as consoantes usando Lambda
                return palavra.Count(x => (x == 'a') || (x == 'e') || (x == 'i') || (x == 'o') || (x == 'u'));
    
            }
            private void LerArq()
            {
                //Ler arquivo txt
                //Pode ser feito de outra forma
                //Pedindo o usuario para informar o local por exemplo
                StreamReader objReader = new StreamReader("c:\\test.txt");
                //Pegar conteudo do txt e colocar no arraylist
                string sLinha = "";
                while (sLinha != null)
                {
                    sLinha = objReader.ReadLine();
                    if (sLinha != null)
                        arrText.Add(sLinha);
                }
                objReader.Close(); //Fechar uso do Txt
    
            }
            private void Testando()
            {
                int auxEspaco = 0; // Veriavel para pegar o espaço 
                // foreach para fazer a operação com cada elemento ou texto do nosso arraylist
                foreach (string textoAtual in arrText)
                {
                    int vogal = ContarVogais(textoAtual); //chamar metodo
                    int total = textoAtual.Length; 
                    
                    string[] espaco = textoAtual.Split(' ');
                    if (espaco.Length > 1)
                        auxEspaco = (espaco.Length - 1);
    
                    int consoantes = (total - vogal) - auxEspaco; //pegar o numero de consoantes 
                    //Atribuir a variavel global para fazer a soma de todos os arquivos
                    totVogal += vogal;
                    totespaco += auxEspaco;
                    totconsoante += consoantes;
                }
            }
            private void ExibirTotais()
            {
                MessageBox.Show("Vogal: " + totVogal + "\nConsoantes: " + totconsoante + "\nEspaços: " +totespaco);
            }

    • Sugerido como Resposta PachecoDT sábado, 15 de dezembro de 2012 16:26
    • Marcado como Resposta Ricardo RussoModerator terça-feira, 8 de janeiro de 2013 15:27
    sábado, 15 de dezembro de 2012 16:25
  • Legal em pachedo! é isso aí.
    sexta-feira, 21 de dezembro de 2012 13:35
  • Valeu Vinicius, Mas nem ta muito bom, eu já tinha feito isso uma vez... Então já tinha o código.
    sexta-feira, 21 de dezembro de 2012 22:32