Wykorzystanie przerywnika pętli w postaci litery lub wyrazu

0

Witam. Mam problem, użyłem tutaj "0" by przerwać pętle, chciałbym aby przerywnikiem pętli była litera albo wyraz, męczę się już dosyć długo nad tym. Należało by na początku pętli "do" sprawdzić czy input to na pewno liczba, próbowałem int.TryParse i int.Parse ale mi nie wychodziło. Dziękuję za pomoc.

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

namespace ConsoleApplication13
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Podaj kwoty: ");

            float suma = 0;
            do
            {
                float cena = float.Parse(Console.ReadLine());
                if (cena == 0) break;
                suma += cena;
            } while (true);
            float tax = suma * 23 / 100;
            float zysk = suma - tax;
            Console.WriteLine("Do zapłaty: " + suma);
            Console.WriteLine("Podatek: " + tax);
            Console.WriteLine("Zysk: " + zysk);

            Console.ReadKey();
        }
    }
}
1

Zamiast Parse używaj TryParse bo jak, ktoś wstawi ci coś to błąd. czyli w twoim przypadku coś takiego.

  Console.WriteLine("Podaj kwoty: ");
            float suma = 0;
            do
            {
                string litera = Console.ReadLine();
                float.TryParse(litera, out float cena);
                if (litera == "K") break;
                suma += cena;
            } while (true);
            float tax = suma * 23 / 100;
            float zysk = suma - tax;
            Console.WriteLine("Do zapłaty: " + suma);
            Console.WriteLine("Podatek: " + tax);
            Console.WriteLine("Zysk: " + zysk);

1

no w takim razie, zadeklaruj sobie ją, trzymaj https://dotnetfiddle.net/x0g0Oq

float cena = 0;

i tu wstawiasz

   float.TryParse(litera, out cena);

1 użytkowników online, w tym zalogowanych: 0, gości: 1