Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSharp_Bai21
{
class Program
{
static void Main(string[] args)
{
Console.OutputEncoding = Encoding.UTF8;
Console.WriteLine(" ************************************");
Console.WriteLine(" * CHƯƠNG TRÌNH MÁY TÍNH ĐƠN GIẢN *");
Console.WriteLine(" ************************************");
//Tạo biến
int MenuChon;
string MenuTiep;
double a;
double b;
double c;
//Tạo label begin để chút nữa cho Goto về
begin:
//Cho người dùng nhập số a và b, kiểm tra ép kiểu, in ra màn hình
Console.Write("Mời nhập nhập số a: ");
while (double.TryParse(Console.ReadLine(), out a) == false)
{
Console.WriteLine("Xin lỗi, bạn nhập sai. Mời nhập lại: ");
}
nhaptiep:
Console.Write("Mời nhập nhập số b: ");
while (double.TryParse(Console.ReadLine(), out b) == false)
{
Console.WriteLine("Xin lỗi, bạn nhập sai. Mời nhập lại: ");
}
//Cho người dùng chọn chức năng
Menu();
Console.WriteLine("Mời bạn lựa chọn phép tính: ");
//Kiểm tra ép kiểu, giới hạn lựa chọn người dùng, dùng Goto để thoát
while (Int32.TryParse(Console.ReadLine(), out MenuChon) == false)
{
Console.WriteLine("Xin lỗi, chúng tôi không có chức năng này");
}
while (MenuChon < 1 || MenuChon > 7)
{
Console.WriteLine("Xin lỗi, chúng tôi không có chức năng này");
while (Int32.TryParse(Console.ReadLine(), out MenuChon) == false)
{
Console.WriteLine("Xin lỗi, chúng tôi không có chức năng này");
}
}
while (MenuChon == 7)
{
goto exit;
}
// If Else để trả kết quả và in ra màn hình
if (MenuChon == 1)
{
c = Cong_Hai_So(a, b);
Console.WriteLine("Bạn chọn cộng 2 số {0} và {1} ", a, b);
Console.Write("Kết quả: ");
Console.WriteLine("{0} + {1} = {2} ", a, b, c);
}
else if (MenuChon == 2)
{
c = Tru_Hai_So(a, b);
Console.WriteLine("Bạn chọn trừ 2 số {0} và {1} ", a, b);
Console.Write("Kết quả: ");
Console.WriteLine("{0} - {1} = {2} ", a, b, c);
}
else if (MenuChon == 3)
{
c = Chia_Nguyen_Hai_So(a, b);
Console.WriteLine("Bạn chọn chia nguyên 2 số {0} và {1} ", a, b);
Console.Write("Kết quả: ");
Console.WriteLine("Chia nguyên của {0} và {1} là {2} ", a, b, c);
}
else if (MenuChon == 4)
{
c = Chia_Du_Hai_So(a, b);
Console.WriteLine("Bạn chọn chia dư 2 số {0} và {1} ", a, b);
Console.Write("Kết quả: ");
Console.WriteLine("Chia dư của {0} và {1} là {2} ", a, b, c);
}
else if (MenuChon == 5)
{
c = Nhan_Hai_So(a, b);
Console.WriteLine("Bạn chọn nhân 2 số {0} và {1} ", a, b);
Console.Write("Kết quả: ");
Console.WriteLine("{0} x {1} = {2} ", a, b, c);
}
else
{
c = Chia_Hai_So(a, b);
Console.WriteLine("Bạn chọn chia 2 số {0} và {1} ", a, b);
Console.Write("Kết quả: ");
Console.WriteLine("{0} / {1} = {2} ", a, b, c);
}
////Swich case để trả kết quả và in ra màn hình
//switch (MenuChon)
//{
// case 1:
// c = Cong_Hai_So(a, b);
// Console.WriteLine("Bạn chọn cộng 2 số {0} và {1} ", a, b);
// Console.Write("Kết quả: ");
// Console.WriteLine("{0} + {1} = {2} ", a, b, c);
// break;
// case 2:
// c = Tru_Hai_So(a, b);
// Console.WriteLine("Bạn chọn trừ 2 số {0} và {1} ", a, b);
// Console.Write("Kết quả: ");
// Console.WriteLine("{0} - {1} = {2} ", a, b, c);
// break;
// case 3:
// c = Chia_Nguyen_Hai_So(a, b);
// Console.WriteLine("Bạn chọn chia nguyên 2 số {0} và {1} ", a, b);
// Console.Write("Kết quả: ");
// Console.WriteLine("Chia nguyên của {0} và {1} là {2} ", a, b, c);
// break;
// case 4:
// c = Chia_Du_Hai_So(a, b);
// Console.WriteLine("Bạn chọn chia dư 2 số {0} và {1} ", a, b);
// Console.Write("Kết quả: ");
// Console.WriteLine("Chia dư của {0} và {1} là {2} ", a, b, c);
// break;
// case 5:
// c = Nhan_Hai_So(a, b);
// Console.WriteLine("Bạn chọn nhân 2 số {0} và {1} ", a, b);
// Console.Write("Kết quả: ");
// Console.WriteLine("{0} x {1} = {2} ", a, b, c);
// break;
// case 6:
// c = Chia_Hai_So(a, b);
// Console.WriteLine("Bạn chọn chia 2 số {0} và {1} ", a, b);
// Console.Write("Kết quả: ");
// Console.WriteLine("{0} / {1} = {2} ", a, b, c);
// break;
//}
Console.WriteLine("Nhấn 1 đế tiếp tục thực hiện tính toán với {0}", a);
Console.WriteLine("Nhấn 2 để tiếp tục thực hiện tính toán với {0}", b);
Console.WriteLine("Nhấn 3 để tiếp tục thực hiện tính toán với {0}", c);
Console.WriteLine("Nhấn số bất kì để thực hiện phép tính mới");
MenuTiep = (Console.ReadLine());
if (MenuTiep == "1")
{
Console.WriteLine("bạn đã chọn số a là {0}", a);
goto nhaptiep;
}
else if (MenuTiep == "2")
{
a = b;
Console.WriteLine("bạn đã chọn số a là {0}", a);
goto nhaptiep;
}
else if (MenuTiep == "3")
{
a = c;
Console.WriteLine("bạn đã chọn số a là {0}", a);
goto nhaptiep;
}
else
{
goto begin;
}
//Label exit để kết thúc chương trình
exit:
Console.WriteLine("Chương trình kết thúc, cảm ơn bạn");
Console.ReadKey();
return;
}
static double Cong_Hai_So(double a, double b)
{
return a + b;
}
static double Tru_Hai_So(double a, double b)
{
return a - b;
}
static double Chia_Nguyen_Hai_So(double a, double b)
{
return a / b;
}
static double Chia_Du_Hai_So(double a, double b)
{
return a % b;
}
static double Nhan_Hai_So(double a, double b)
{
return a * b;
}
static double Chia_Hai_So(double a, double b)
{
return (a * 0.1) / b;
}
static void Menu()
{
Console.OutputEncoding = Encoding.UTF8;
Console.WriteLine(" ************************************");
Console.WriteLine(" * MỜI BẠN CHỌN PHÉP TÍNH *");
Console.WriteLine(" ************************************");
Console.WriteLine(" * 1. Cộng 2 số (a + b) *");
Console.WriteLine(" * 2. Trừ 2 số (a - b) *");
Console.WriteLine(" * 3. Chia nguyên 2 số (a / b) *");
Console.WriteLine(" * 4. Chia dư 2 số (a % b) *");
Console.WriteLine(" * 5. Nhân 2 số (a % b) *");
Console.WriteLine(" * 6. Chia 2 số (a / b) *");
Console.WriteLine(" * 7. Thoát *");
Console.WriteLine(" ************************************");
}
}
}
Bài này em làm theo if else thì ok nhưng khi chạy sang cấu trúc switch case thì lỗi ở dòng
Console.WriteLine("Nhấn 3 để tiếp tục thực hiện tính toán với {0}", c);