Skocz do zawartości

Programowanie


xemi

Rekomendowane odpowiedzi

  • 6 miesięcy później...

Mój pierwszy mały programik, naprawdę mały ;) w C#, ma liczyć deltę z wykorzystaniem try catch do błędów. Gdzie mam to źle napisane, bo wyrzuciło mi w ciul errorów.

 

 

 

namespace Delta
{
    class Program
    {
        static void Main(string[] args)
        {

            double a, b, c, x1, x2, delta;

        }
        try
        {
            Console.Write("Podaj wartość parametru a:");
            a = Convert.ToDouble(Console.ReadLine());
            if (a==0)
            {
            throw new Exception("Parametr a powinien być różny od zera");
            }
            Console.Write("Podaj wartość parametru b:");
            b = Convert.ToDouble(Console.ReadLine());

            Console.Write("Podaj wartość parametru c:");
            c = Convert.ToDouble(Console.ReadLine());
        }
        catch(Exception ex)
            Console.ReadKey();
            {
            Console.WriteLine("Program został przerwany.{0}", exMessage);
            }

            delta = b * b - 4 * a * c;

            if(delta > 0)
                {
                    x1 = (-b - Math.Sqrt(delta))/(2*a);
                    x2 = (-b + Math.Sqrt(delta))/(2*a);
                    Console.WriteLine("Równanie ma dwa pierwiastki :");
                    Console.WriteLine("\tx1 = {0}", x1);
                    Console.WriteLine("\tx2 = {0}", x2);
                }
            else
             {
                if(delta == 0)
                   {
                    x1 = -b/(2* a);
                    Console.WriteLine("Równanie ma jeden pierwiastek rzeczywisty:");
                    Console.WriteLine("\tx1 = {0}", x1);
               }
           else
           {
            Console.WriteLine("Równanie nie ma pierwiastków " + "rzeczywistych.");
                                                                                        
    }
}

 


Odnośnik do komentarza
  • 2 tygodnie później...
  • 2 miesiące później...

Program do całkowania:

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

namespace Zamiana
{
    class Program
    {
        enum MetodyCalkowania { Prostokatow = 1, Trapezow = 2 }
        static void Main(string[] args)
        {
            double a = 0, b = 1;
            uint n = 10;
            MetodyCalkowania metoda = MetodyCalkowania.Prostokatow;
            char c;



            do
            {
            
            }
            while (!(c == 'K' || c == 'k'));

            Console.WriteLine("Przedział całkwotania: <{0}; {1}>", a, b);
            Console.WriteLine("Liczba podziałów: {0}", n);
            Console.WriteLine("Metoda całkowania: {0}", metoda);
            Console.WriteLine("-----");
            Console.WriteLine("A - Zmiana przedziału");
            Console.WriteLine("B - Zmiana liczby podziałów");
            Console.WriteLine("C - Zmiana metody całkowania");
            Console.WriteLine("D - Policz całkę");
            Console.WriteLine("K - Koniec");

            c = Console.ReadKey(true).KeyChar;

            switch (c)
            {
                case 'a':
                case 'A':
                    do
                    {
                        if (a > b)
                        {
                            Console.Write("Początek musi być mniejszy od końca: ");
                        }
                        Console.Write("Podaj początek przedziału: ");
                        a = Convert.ToDouble(Console.ReadLine());
                        Console.Write("Podaj koniec przedziału: ");
                        b = Convert.ToDouble(Console.ReadLine());
                    }
                    while (a > b);
                    break;

                case 'b':
                case 'B':
                    Console.Write("Podaj liczbę podziałów: ");
                    n = Convert.ToUInt32(Console.ReadLine());
                    if (n == 0)
                        throw new Exception("Liczba podziałow musi być większa " + "od zera");
                    break;

                case 'c':
                case 'C':
                    int m = 1;
                    do
                    {
                        if (m != 1)
                        {
                            Console.Write("Naciśnij 1 lub 2: ");
                        }
                        Console.WriteLine("Podaj metodę liczenia całki: ");
                        Console.WriteLine("\t1-Metoda prostokątów");
                        Console.WriteLine("\t2 - Metoda trapezów: ");
                        m = Convert.ToInt32(Console.ReadLine());
                    }
                    while (!(m == 1 || m == 2));
                    metoda = (MetodyCalkowania)m;
                    break;

                case 'd':
                case 'D':

                    double suma = 0;
                    double dx = (b - a) / n;
                    double x = a;

                    switch (metoda)
                    {
                        case MetodyCalkowania.Prostokatow:
                            for (int i = 0; i < n; i++)
                            { x += dx;
                                suma += x * x * x * (x + 1) + 2; }
                            suma *= dx;
                            break;

                        case MetodyCalkowania.Trapezow:
                            for (int i = 1; i < n; i++)
                            {
                                x += dx;
                                suma += (a * a * a * (a + 1) + b * b * b * (b + 1) + 4 / 2);
                                suma *= dx;
                                break;
                            }

                            Console.Write("Przybliżona wartość całki funkcji f(x) " + "w przedziale <{0};{1}> wynosi: {2}", a, b, suma);
                            Console.ReadKey(true);
                            break;


                    }
            }

        }

    }
}

Severity Code Description Project File Line Suppression State
Error CS0165 Use of unassigned local variable 'c' Zamiana C:\Users\Adrian\Desktop\Projekty C#\Zamiana\Zamiana\Program.cs 25 Active

 

Severity Code Description Project File Line Suppression State
Error CS8070 Control cannot fall out of switch from final case label ('case 'D':') Zamiana C:\Users\Adrian\Desktop\Projekty C#\Zamiana\Zamiana\Program.cs 84 Active

 

 

Takie dwa błędy mi wywala, o co chodzi?

 

 

 

Odnośnik do komentarza
  • 1 miesiąc później...

Czy w wieku 30 lat zaczynając od zera opłacalne jest

uczenie się programowania? Ewentualnie jakie dobre książki do tego polecacie kupić?

Czy w wieku 30 lat zaczynając od zera opłacalne jest

uczenie się programowania? Ewentualnie jakie dobre książki do tego polecacie kupić?

Odnośnik do komentarza

Do "flow" daleko, ale sporo słówek się zna, więc nie powinien być on dla mnie przeszkodą w żaden sposób.

To jeśli chcesz zacząć od pythona, to polecam:

https://www.coursera.org/specializations/python(można zrobić wszystkie 4 kursy za darmo, tylko bez certyfikatu)

potem: https://www.udacity.com/course/programming-foundations-with-python--ud036

 

to tak na początek ;)

Odnośnik do komentarza

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić obrazków. Dodaj lub załącz obrazki z adresu URL.

Ładowanie
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...