none
Olá, estou tentando fazer um programa que conte todos os caracteres de um texto que o usuário inserir, porém está dando vários erros e não consigo achar RRS feed

  • Pergunta

  • using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace ConsoleApp4
    {
        class Program
        {
            static void Main(string[] texto)
            {

                Console.WriteLine("Escreva um texto:");
                string a = Console.ReadLine();
                int soma,consoantes,total,espacos,pontos = contavogais(a);
                Console.ReadLine();
                


            }
            static int contavogais(string texto)
            {
                
                int soma = 0;
                int consoantes = 0;
                int total = 0;
                int espacos = 0;
                int pontos = 0;
                
                for (int i = 0; i < texto.Length; i++)
                {
                    char temp = texto.ElementAt(i);
                    if (temp == 'a')
                        soma++;
                    else if (temp == 'e')
                        soma++;
                    else if (temp == 'i')
                        soma++;
                    else if (temp == 'o')
                        soma++;
                    else if (temp == 'u')
                        soma++;
                    else if (temp == 'ú')
                        soma++;
                    else if (temp == 'á')
                        soma++;
                    else if (temp == 'í')
                        soma++;
                    else if (temp == 'é')
                        soma++;
                    else if (temp == 'ó')
                        soma++;
                    else if (temp == 'â')
                        soma++;
                    else if (temp == 'ô')
                        soma++;
                    else if (temp == 'û')
                        soma++;
                    else if (temp == 'î')
                        soma++;
                    else if (temp == 'à')
                        soma++;
                    else if (temp == 'ã')
                        soma++;
                    else if (temp == 'õ')
                        soma++;
                    else if(temp == 'A')
                        soma++;
                    else if (temp == 'E')
                        soma++;
                    else if (temp == 'I')
                        soma++;
                    else if (temp == 'O')
                        soma++;
                    else if (temp == 'U')
                        soma++;
                    else if (temp == 'Ú')
                        soma++;
                    else if (temp == 'Á')
                        soma++;
                    else if (temp == 'Í')
                        soma++;
                    else if (temp == 'É')
                        soma++;
                    else if (temp == 'Ó')
                        soma++;
                    else if (temp == 'Â')
                        soma++;
                    else if (temp == 'Ô')
                        soma++;
                    else if (temp == 'Û')
                        soma++;
                    else if (temp == 'Î')
                        soma++;
                    else if (temp == 'À')
                        soma++;
                    else if (temp == 'Ã')
                        soma++;
                    else if (temp == 'Õ')
                        soma++;
                    else if (temp == ' ')
                        espacos++;
                    else if (temp == "  ")
                        espacos++;
                    else if (temp == 'b')
                        consoantes++;
                    else if (temp == 'c')
                        consoantes++;
                    else if (temp == 'd')
                        consoantes++;
                    else if (temp == 'f')
                        consoantes++;
                    else if (temp == 'g')
                        consoantes++;
                    else if (temp == 'h')
                        consoantes++;
                    else if (temp == 'j')
                        consoantes++;
                    else if (temp == 'k')
                        consoantes++;
                    else if (temp == 'l')
                        consoantes++;
                    else if (temp == 'm')
                        consoantes++;
                    else if (temp == 'n')
                        consoantes++;
                    else if (temp == 'p')
                        consoantes++;
                    else if (temp == 'q')
                        consoantes++;
                    else if (temp == 'r')
                        consoantes++;
                    else if (temp == 's')
                        consoantes++;
                    else if (temp == 't')
                        consoantes++;
                    else if (temp == 'v')
                        consoantes++;
                    else if (temp == 'w')
                        consoantes++;
                    else if (temp == 'x')
                        consoantes++;
                    else if (temp == 'y')
                        consoantes++;
                    else if (temp == 'z')
                        consoantes++;
                    else if (temp == 'B')
                        consoantes++;
                    else if (temp == 'C')
                        consoantes++;
                    else if (temp == 'D')
                        consoantes++;
                    else if (temp == 'F')
                        consoantes++;
                    else if (temp == 'G')
                        consoantes++;
                    else if (temp == 'H')
                        consoantes++;
                    else if (temp == 'J')
                        consoantes++;
                    else if (temp == 'K')
                        consoantes++;
                    else if (temp == 'L')
                        consoantes++;
                    else if (temp == 'M')
                        consoantes++;
                    else if (temp == 'N')
                        consoantes++;
                    else if (temp == 'P')
                        consoantes++;
                    else if (temp == 'Q')
                        consoantes++;
                    else if (temp == 'R')
                        consoantes++;
                    else if (temp == 'S')
                        consoantes++;
                    else if (temp == 'T')
                        consoantes++;
                    else if (temp == 'V')
                        consoantes++;
                    else if (temp == 'W')
                        consoantes++;
                    else if (temp == 'X')
                        consoantes++;
                    else if (temp == 'Y')
                        consoantes++;
                    else if (temp == 'Z')
                        consoantes++;
                    else if (temp == '?')
                        pontos++;
                    else if (temp == '!')
                        pontos++;
                    else if (temp == '.')
                        pontos++;
                    else if (temp == ',')
                        pontos++;
                    else if (temp == '\')
                        pontos++;
                    else if (temp == '@')
                        pontos++;
                    else if (temp == '|')
                        pontos++;
                    else if (temp == '>')
                        pontos++;
                    else if (temp == '"')
                        pontos++;
                    else if (temp == ''')
                        pontos++;
                    else if (temp == '+')
                        pontos++;
                    else if (temp == '-')
                        pontos++;
                    else if (temp == '_')
                        pontos++;
                    else if (temp == '#')
                        pontos++;
                    else if (temp == '$')
                        pontos++;
                    else if (temp == '%')
                        pontos++;
                    else if (temp == '(')
                        pontos++;
                    else if (temp == ')')
                        pontos++;
                    else if (temp == '¨')
                        pontos++;
                    else if (temp == '/')
                        pontos++;
                    else if (temp == ':')
                        pontos++;
                    else if (temp == ';')
                        pontos++;
                    else if (temp == '&')
                        pontos++;
                    else if (temp == '*')
                        pontos++;
                    else if (temp == '=')
                        pontos++;
                    else if (temp == '^')
                        pontos++;
                    else if (temp == '~')
                        pontos++;
                    else if (temp == '<')
                        pontos++;
                    else if (temp == '§')
                        pontos++;
                    else if (temp == '{')
                        pontos++;
                    else if (temp == '}')
                        pontos++;
                    else if (temp == '[')
                        pontos++;
                    else if (temp == ']')
                        pontos++;
                    else if (temp == 'ª')
                        pontos++;
                    else if (temp == '°')
                        pontos++;
                }
                Console.Write("O texto tem "+ soma);
                Console.Write(" Vogais.");
                Console.WriteLine("                     ");
                Console.Write("O texto tem " + consoantes);
                Console.WriteLine(" Consoantes.");
                Console.Write("O texto tem " + pontos);
                Console.WriteLine(" Caracteres de pontuacao.");
                Console.Write("O texto tem {0}", Convert.ToInt32(soma) + Convert.ToInt32(consoantes) + Convert.ToInt32(espacos) + Convert.ToInt32(pontos) + " Caracteres totais.");
                return soma; 
                 
                
            }
            
        }

    quinta-feira, 10 de setembro de 2020 18:37

Respostas

  • Olá!

    Segue uma ideia de como fazer:

    using System;
    using System.Linq;
    using System.Globalization;
    					
    public class Program
    {
    	public static void Main()
    	{
    		// Parâmetros para verificação
    		string[] vogais = {"a", "e", "i", "o", "u"};
    		string[] consoantes = {"b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p", "q", "r", "s", "t", "v", "w", "x", "y", "z"};
    		// Entrada de texto do usuário
    		var input = Console.ReadLine();
    		// Verificação e informação ao usuário
    		Console.WriteLine(string.Format("O texto '{0}' contem {1} vogais e {2} consoantes!", input, RealizaContagem(input, vogais), RealizaContagem(input, consoantes)));
    	}
    	
    	public static int RealizaContagem(string alvo, string[] parametro)
    	{
    		var contagem = 0;
    		for(int i = 0; i < parametro.Length; i++)
    		{
    			// A contagem ignora acentos e não difere letras maiúsculas de minúsculas, nesse caso
    			contagem += alvo.Count(letra => string.Compare(letra.ToString(), parametro[i], CultureInfo.CurrentCulture, CompareOptions.IgnoreNonSpace | CompareOptions.IgnoreCase) == 0);
    		}
    		return contagem;
    	}
    }

    Para a pontuação bastaria criar um conjunto com os caracteres desejados, assim como fizemos para vogais e consoantes.

    Att


    Confira meus cursos na Udemy em https://www.udemy.com/user/wallace-andrade/

    • Marcado como Resposta Willian352 segunda-feira, 14 de setembro de 2020 21:57
    segunda-feira, 14 de setembro de 2020 19:02

Todas as Respostas

  • Voce vai precisar fazer um for loop - nao um if/else.

    Segue alguns exemplos, o conceito e o mesmo:

    https://www.tutorialgateway.org/python-program-to-count-total-characters-in-a-string/

    https://codescracker.com/c/program/c-program-count-characters-with-without-space.htm

    Espero que ajude

    segunda-feira, 14 de setembro de 2020 16:13
    Moderador
  • Olá!

    Segue uma ideia de como fazer:

    using System;
    using System.Linq;
    using System.Globalization;
    					
    public class Program
    {
    	public static void Main()
    	{
    		// Parâmetros para verificação
    		string[] vogais = {"a", "e", "i", "o", "u"};
    		string[] consoantes = {"b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p", "q", "r", "s", "t", "v", "w", "x", "y", "z"};
    		// Entrada de texto do usuário
    		var input = Console.ReadLine();
    		// Verificação e informação ao usuário
    		Console.WriteLine(string.Format("O texto '{0}' contem {1} vogais e {2} consoantes!", input, RealizaContagem(input, vogais), RealizaContagem(input, consoantes)));
    	}
    	
    	public static int RealizaContagem(string alvo, string[] parametro)
    	{
    		var contagem = 0;
    		for(int i = 0; i < parametro.Length; i++)
    		{
    			// A contagem ignora acentos e não difere letras maiúsculas de minúsculas, nesse caso
    			contagem += alvo.Count(letra => string.Compare(letra.ToString(), parametro[i], CultureInfo.CurrentCulture, CompareOptions.IgnoreNonSpace | CompareOptions.IgnoreCase) == 0);
    		}
    		return contagem;
    	}
    }

    Para a pontuação bastaria criar um conjunto com os caracteres desejados, assim como fizemos para vogais e consoantes.

    Att


    Confira meus cursos na Udemy em https://www.udemy.com/user/wallace-andrade/

    • Marcado como Resposta Willian352 segunda-feira, 14 de setembro de 2020 21:57
    segunda-feira, 14 de setembro de 2020 19:02
  • Nossa, muito bom o seu metódo, em vez de usar if e if-else poderia ter simplesmente usado um loop
    segunda-feira, 14 de setembro de 2020 20:49
  • Exato! A estrutura if-else acaba sendo rígida e difícil de analisar. O loop facilita o trabalho, uma vez que a tarefa de comparação segue uma mesma lógica :D

    Ah, se respondeu a sua thread marque a resposta, OK? Assim ajudamos mais e mais a nossa comunidade!

    Sucesso!


    Confira meus cursos na Udemy em https://www.udemy.com/user/wallace-andrade/

    segunda-feira, 14 de setembro de 2020 20:55
  • Pronto marquei! Estou tentando fazer a soma de todos os "input" para dar os caracteres totais dessa forma:

    var total = RealizaContagem(input, vogais) + RealizaContagem(input, consoantes) + RealizaContagem(input, pontos);

    Tentei também, colocando "RealizaContagem(input, vogais, consoantes, pontos); porém não funcionou também, estou tentando de outras formas.

    segunda-feira, 14 de setembro de 2020 21:59
  • Consegui!
    segunda-feira, 14 de setembro de 2020 22:14
  • Show!

    Coloca sua solução final aqui para ajudar a galera :)


    Confira meus cursos na Udemy em https://www.udemy.com/user/wallace-andrade/

    segunda-feira, 14 de setembro de 2020 22:31
  • using System;
    using System.Linq;
    using System.Globalization;

    public class Program
    {
    public static void Main()
    {
    // Parâmetros para verificação
    string[] vogais = {"a", "e", "i", "o", "u","&"};
    string[] consoantes = {"b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p", "q", "r", "s", "t", "v", "w", "x", "y", "z"};
    string[] pontos = {"!","@","#","$","%","*","(",")","-","_","=","+","§","'","[","]","{","}",",","<",">",".",";",":","/","?"," "};
    // Entrada de texto do usuário
    var input = Console.ReadLine();
    var valor1 = RealizaContagem(input, vogais);
    var valor2 = RealizaContagem(input, consoantes);
    var valor3 = RealizaContagem(input, pontos);
    var total = valor1 + valor2 + valor3;
    // Verificação e informação ao usuário
    Console.WriteLine(string.Format("O texto contem {0} vogais, {1} consoantes, {2} pontos e derivados e contem {3} caracteres totais!", RealizaContagem(input, vogais), RealizaContagem(input, consoantes), RealizaContagem(input, pontos), total));
    }

    public static int RealizaContagem(string alvo, string[] parametro)
    {
    var contagem = 0;
    for(int i = 0; i < parametro.Length; i++)
    {
    // A contagem ignora acentos e não difere letras maiúsculas de minúsculas, nesse caso
    contagem += alvo.Count(letra => string.Compare(letra.ToString(), parametro[i], CultureInfo.CurrentCulture, CompareOptions.IgnoreNonSpace | CompareOptions.IgnoreCase) == 0);
    }
    return contagem;
    }
    }
    terça-feira, 15 de setembro de 2020 22:20