30/09/2018, 17:08

Góp ý tối ưu code C# 1 chiếc máy tính

Đây là code của mình, nó viết về 1 chiếc máy tính bao gồm 4 phép tính cộng trừ nhân và chia.

Vấn đề thứ nhất là mình không tài nào gán biến int cho x,y trong console.readline( ); được nên các bạn thấy đấy rất nhiều hàm int.prase được sử dụng. Có cách nào chỉ sử dụng 1 dòng code duy nhất để gán biến xy mà không cần 1 đống int.prase không?

Vấn đề thứ hai để làm gọn cái đống mà mình đặt tên cho nó là if rút gọn [ if nguyên gốc của người ta if {} thì làm dc 1 đống thứ trong {} … trg khi if rút gọn của tớ chỉ thực hiện thay đổi những thứ có trong pheptinh va pheptinh2 thôi ]

Vấn đề thứ ba có cách nào làm cho code mình “siêu gọn nữa không?”

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

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Super-simple caculator v1.0 by lioncyber97");
            Console.WriteLine("enter x and y:");
            string x = Console.ReadLine();
            string y = Console.ReadLine();
            Console.WriteLine("chose math : plus , minus , mutiple , devide :");
            string choice = Console.ReadLine();
            int pheptinh = (choice == "plus") ? int.Parse(x) + int.Parse(y)  :
                pheptinh = (choice == "minus") ? int.Parse(x) - int.Parse(y) :
                pheptinh = (choice == "mutiply") ? int.Parse(x) - int.Parse(y) :
                pheptinh = int.Parse(x) - int.Parse(y);
            string pheptinh1 = (choice == "plus") ? "+" :
                pheptinh1 = (choice == "minus") ? "-" :
                pheptinh1 = (choice == "mutiply") ? "*" : "/";
            Console.WriteLine("{0} {1} {2} = {3}", x, pheptinh1, y, pheptinh);
            Console.ReadLine();


            Console.ReadLine();

        }
    }
}
Phạm Hoàng Tuấn viết 19:18 ngày 30/09/2018

int cho x,y trong console.readline( )

Bạn có thể dùng : int x =int.Prase( Console.ReadLine());

Và nữa, những trường hợp bài toán này, thay vì dùng if, bạn nên dùng switch...case sẽ gọn hơn !
Mã giả :

 string choice = Console.ReadLine();
string pheptinh1;
switch (choice)
{

    case : "plus":
        pheptinh1="+";
        Console.WriteLine("{0} {1} {2} = {3}", x, pheptinh1, y, x+y);
        break;
    case : "minus":
        pheptinh1="-";
        Console.WriteLine("{0} {1} {2} = {3}", x, pheptinh1, y, x-y);
        break;
    ...
    default:
        brerak;

} 
Bài liên quan
0