C Sharp Merhaba Spy :)

  • Konuyu başlatan ghost-tr
  • Başlangıç tarihi
G

ghost-tr

C# Sharp Console İle :) yazacaksınız arkadaşlar :)

Merhaba Spy:

Kod:
using System;

public static class MerhabaDunya
{

    static void Main()
    {
      Console.WriteLine("Merhaba Spy!");
      Console.ReadKey();
    }
}

Basit bir hesap makinesi örneği:
Kod:
using System.Collections.Generic;
using System;

public static class GlobalMembersCalculator
{

    public static int no_of_errors;

    public static double error(string s)
    {
        no_of_errors++;
        cerr << "error: " << s << '\n';
        return 1;
    }

    public static Token_value curr_tok = Token_value.PRINT;
    public static double number_value;
    public static string string_value;

    public static Token_value get_token()
    {
        sbyte ch;

        do
        {
            if (!cin.get(ch))
                return curr_tok = Token_value.END;
        } while (ch != '\n' && char.IsWhiteSpace(ch));

        switch (ch)
        {
        case ';':
        case '\n':
            return curr_tok = Token_value.PRINT;
        case '*':
        case '/':
        case '+':
        case '-':
        case '(':
        case ')':
        case '=':
            return curr_tok = Token_value(ch);
        case '0':
            case '1':
                case '2':
                    case '3':
                        case '4':
        case '5':
            case '6':
                case '7':
                    case '8':
                        case '9':
        case '.':
            cin.putback(ch);
            cin >> number_value;
            return curr_tok = Token_value.NUMBER;
        default:
            if (char.IsLetter(ch))
            {
                string_value = ch;
                while (cin.get(ch) && char.IsLetterOrDigit(ch))
                    string_value += ch;

                cin.putback(ch);
                return curr_tok = Token_value.NAME;
            }
            GlobalMembersCalculator.error("bad token");
            return curr_tok = Token_value.PRINT;
        }
    }

    public static Dictionary<string,double> table = new Dictionary<string,double>();

    public static double expr(bool get)
    {
        double left = GlobalMembersCalculator.term(get);

        for (;;)
            switch (curr_tok)
            {
            case Token_value.PLUS:
                left += GlobalMembersCalculator.term(true);
                break;
            case Token_value.MINUS:
                left -= GlobalMembersCalculator.term(true);
                break;
            default:
                return left;
            }
    }

    public static double prim(bool get)
    {
        if (get)
            GlobalMembersCalculator.get_token();

        switch (curr_tok)
        {
        case Token_value.NUMBER:
        {
            double v = number_value;
            GlobalMembersCalculator.get_token();
            return v;
        }
        case Token_value.NAME:
        {
            double & v = table[string_value];
            if (GlobalMembersCalculator.get_token() == Token_value.ASSIGN)
                v = GlobalMembersCalculator.expr(true);
            return v;
        }
        case Token_value.MINUS:
            return -GlobalMembersCalculator.prim(true);
        case Token_value.LP:
        {
            double e = GlobalMembersCalculator.expr(true);
            if (curr_tok != Token_value.RP)
                return GlobalMembersCalculator.error(") expected");
            GlobalMembersCalculator.get_token();
            return e;
        }
        default:
            return GlobalMembersCalculator.error("primary expected");
        }
    }

    public static double term(bool get)
    {
        double left = GlobalMembersCalculator.prim(get);

        for (;;)
            switch (curr_tok)
            {
            case Token_value.MUL:
                left *= GlobalMembersCalculator.prim(true);
                break;
            case Token_value.DIV:
                if (double d = GlobalMembersCalculator.prim(true))
                {
                    left /= d;
                    break;
                }
                return GlobalMembersCalculator.error("divide by 0");
            default:
                return left;
            }
    }

    static int Main()
    {

        table.Add("pi", 3.1415926535897932385);
        table.Add("e", 2.7182818284590452354);

        while (cin)
        {
            GlobalMembersCalculator.get_token();
            if (curr_tok == Token_value.END)
                break;
            if (curr_tok == Token_value.PRINT)
                continue;
            Console.Write(GlobalMembersCalculator.expr(false));
            Console.Write('\n');
        }

        return no_of_errors;
    }
}

public enum Token_value
{
    NAME,
    NUMBER,
    END,
    PLUS = '+',
    MINUS = '-',
    MUL = '*',
    DIV = '/',
    PRINT = ';',
    ASSIGN = '=',
    LP = '(',
    RP = ')'
}
 
Moderatörün son düzenlenenleri:
Katılım
9 Ara 2015
Tepki puanı
0
Rating - 0%
biraz açıklayıcı anlatırsan daha güzel olur kardeşim c# sharp console ile yazılır bu komutlar bilirsin yeni başlayanlar direk arayüze girer 2 buton atarlar öyle kalırlar.
 
131,487Konular
3,268,595Mesajlar
315,254Kullanıcılar
ximmhrsSon Üye
Üst Alt