Ir ao conteúdo

Posts recomendados

Postado

Estou tendo dificuldades em maniuplar string em C#, o exercício pede para contar os caracteres de uma frase, separando cada número por ' - '. Um exemplo: o usuário digita  " squirtle squirtle squirtle" e imprimiria "8-8-8". O exercício pede também para imprimir a maior palavra digitada, essa parte que estou tendo dificuldades. Se puderem me ajudar desde já, agradeço.

Obs: Utilizo o Visual Studio 10.

 

Código já feito:

 

static void Main()
        {
            string frase;
            int caracteres = 0, palavra = 0;

            while (true)
            {
                frase = Console.ReadLine();
                for (int i = 0; i < frase.Length; i++)
                {
                    if (frase >= 65 && frase <= 90) caracteres++;
                    else if (frase >= 97 && frase <= 122) caracteres++;
                    if (frase == ' ')
                    {
                        Console.Write("" + caracteres);
                        Console.Write("-");
                        palavra += caracteres;
                        caracteres = 0;
                    }
                   if (frase == "0") break;
                }

                if (frase == "0") break;
                if (frase == "") Console.WriteLine("Digie algo!");
                else
                {
                    Console.WriteLine("" + caracteres);
                    palavra += caracteres;
                    Console.WriteLine("a quantidade é: " + palavra);
                    caracteres = 0;
                }
            }

            Console.ReadKey();
        }

  • Amei 1
Postado

@Paulo Fiori    seu código está bom , e para mostrar a maior palavra você precisa de uma variável para armazenar essa maior palavra  assim que ela for encontrada comparando o tamanho de cada palavra da frase ,   então seu código poderia ser assim  :

using System;
using System.Collections.Generic;
using System.Text;
namespace contar_caracteres
{
    class Program
    {
        static void Main(string[] args)
        {
            string frase,Texto_Maior_Palavra="",Palavra="";
            int tam_maior_palavra=0;
            int caracteres = 0, quant_carac_frase = 0;

            while (true)
            {
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.WriteLine("Digite Uma Frase  Ou  Zero Para Sair");
                Console.ForegroundColor = ConsoleColor.Cyan;
                frase = Console.ReadLine();
                Console.WriteLine();
                Console.ForegroundColor = ConsoleColor.Gray;
                if (frase.CompareTo("") != 0 && frase.CompareTo("0") != 0)
                    Console.Write("A Quantidade De Caracteres Em Cada Palavra => ");
                for (int i = 0; i < frase.Length; i++)
                {
                    if (frase[i] >= 65 && frase[i] <= 90 ||
                        frase[i] >= 97 && frase[i] <= 122)
                    {
                        caracteres++;
                        Palavra = Palavra + frase[i];

                    }
                    if (frase[i] == ' ')
                    {
                        Console.ForegroundColor = ConsoleColor.Cyan;
                        Console.Write(caracteres);
                        Console.Write("-");
                        
                        quant_carac_frase += caracteres;
                        if (caracteres > tam_maior_palavra)
                        {
                            tam_maior_palavra = caracteres;
                            Texto_Maior_Palavra = Palavra;
                        }
                        caracteres = 0;
                        Palavra = "";
                    }
                }
                Console.ForegroundColor = ConsoleColor.Gray;
                if (frase.CompareTo("0") == 0) break;
                if (frase.CompareTo("" ) == 0) Console.WriteLine("Digite algo!");
                else
                {
                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.WriteLine(caracteres);
                    Console.ForegroundColor = ConsoleColor.Gray;
                    quant_carac_frase += caracteres;
                    Console.WriteLine();
                    Console.Write("A Quantidade De Caracteres Na Frase é : ");
                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.WriteLine(quant_carac_frase);
                    Console.ForegroundColor = ConsoleColor.Gray;
                    Console.Write("A Maior Palavra é  < ");
                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.Write(Texto_Maior_Palavra);
                    Console.ForegroundColor = ConsoleColor.Gray;
                    Console.Write(" > Com ");
                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.Write(tam_maior_palavra);
                    Console.ForegroundColor = ConsoleColor.Gray;
                    Console.WriteLine(" Letras .");
                    Console.WriteLine();
                    caracteres = 0;
                }
                Console.WriteLine();
            }
        }
    }
}

 

  • Amei 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!