อันนี้คือการบ้านนะครับ...
----------------------------------------------------------------------------
จงเขียนโปรแกรม (แบบ Object Oriented Programming)
รับค่าเกรด และ หน่วยกิต อย่างน้อย 3 วิชา แล้วให้คิดเกรดเฉลี่ย
ตัวอย่าง
เกรดวิชาที่ 1 : B
หน่วยกิตวิชาที่ 1 : 3
เกรดวิชาที่ 2 : C
หน่วยกิตวิชาที่ 2 : 3
เกรดวิชาที่ 3 : A
หน่วยกิตวิชาที่ 3 : 3
เกรดเฉลี่ย = 3.00
----------------------------------------------------------------------------
โดยที่ Method Main ต้องมีตามนี้เท่านั้น
static void Main(string[] args)
{
AVGrade1 g = new AVGrade1();
g.Input();
g.Input();
g.Input();
g.Show()
Console.ReadLine();
}
--------------------------------------------------------------------------------------------------
ปัญหาคือ ผม ต้องการป้อนค่า เกรด เเละ หน่วยกิต 3 รอบ ตามจำนวนที่ผมเรียกใช้ method g.Input(); เเล้วเอา method g.Input(); 3 method มาคำนวน กันออกมาเป็นเกรดเฉลี่ยครับ พี่ๆ พอจะมีไอเดียในการเขียนไหมครับ ขอบคุณครับ
-------------------------------------โค้ดที่ผมเขียนครับ---------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AVGrade1
{
internal class AVGrade1
{
public string input_score = "";
public double input_credit = 0.00;
public double nValGrade = 0.00;
public double nValCredit = 0.00;
public void Input()
{
Console.Write("Enter Grade : ");
input_score = Console.ReadLine();
Console.Write("Enter Credit : ");
double.TryParse(Console.ReadLine(), out input_credit);
}
public double getGrade()
{
switch (input_score)
{
case "A":
case "a":
nValGrade = 4.00;
break;
case "B+":
case "b+":
nValGrade = 3.50;
break;
case "B":
case "b":
nValGrade = 3.00;
break;
case "C+":
case "c+":
nValGrade = 2.50;
break;
case "C":
case "c":
nValGrade = 2.00;
break;
case "D+":
case "d+":
nValGrade = 1.50;
break;
case "D":
case "d":
nValGrade = 1.00;
break;
case "F":
case "f":
nValGrade = 0.00;
break;
}
return nValGrade;
}
public double getCredit()
{
switch (input_credit)
{
case 4.00:
nValCredit = 4.00;
break;
case 3.50:
nValCredit = 3.50;
break;
case 3.00:
nValCredit = 3.00;
break;
case 2.50:
nValCredit = 2.50;
break;
case 2.00:
nValCredit = 2.00;
break;
case 1.50:
nValCredit = 1.50;
break;
case 1.00:
nValCredit = 1.00;
break;
case 0.00:
nValCredit = 0.00;
break;
}
return nValCredit;
}
public double resultAVGrade()
{
double result_AVGrade = (getGrade() * getCredit());
result_AVGrade = result_AVGrade / getCredit();
return result_AVGrade;
}
public void ShowGrade()
{
Console.WriteLine("You GPA = " + resultAVGrade().ToString());
}
}
}
--------------------------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AVGrade1
{
internal class Program
{
static void Main(string[] args)
{
AVGrade1 g = new AVGrade1();
g.Input();
g.Input();
g.Input();
g.ShowGrade();
Console.ReadLine();
}
}
}
พี่ๆ ช่วยสอน ภาษา C# หน่อยครับ ในการคำนวนเกรดเฉลี่ยหน่อยครับ
----------------------------------------------------------------------------
จงเขียนโปรแกรม (แบบ Object Oriented Programming)
รับค่าเกรด และ หน่วยกิต อย่างน้อย 3 วิชา แล้วให้คิดเกรดเฉลี่ย
ตัวอย่าง
เกรดวิชาที่ 1 : B
หน่วยกิตวิชาที่ 1 : 3
เกรดวิชาที่ 2 : C
หน่วยกิตวิชาที่ 2 : 3
เกรดวิชาที่ 3 : A
หน่วยกิตวิชาที่ 3 : 3
เกรดเฉลี่ย = 3.00
----------------------------------------------------------------------------
โดยที่ Method Main ต้องมีตามนี้เท่านั้น
static void Main(string[] args)
{
AVGrade1 g = new AVGrade1();
g.Input();
g.Input();
g.Input();
g.Show()
Console.ReadLine();
}
--------------------------------------------------------------------------------------------------
ปัญหาคือ ผม ต้องการป้อนค่า เกรด เเละ หน่วยกิต 3 รอบ ตามจำนวนที่ผมเรียกใช้ method g.Input(); เเล้วเอา method g.Input(); 3 method มาคำนวน กันออกมาเป็นเกรดเฉลี่ยครับ พี่ๆ พอจะมีไอเดียในการเขียนไหมครับ ขอบคุณครับ
-------------------------------------โค้ดที่ผมเขียนครับ---------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AVGrade1
{
internal class AVGrade1
{
public string input_score = "";
public double input_credit = 0.00;
public double nValGrade = 0.00;
public double nValCredit = 0.00;
public void Input()
{
Console.Write("Enter Grade : ");
input_score = Console.ReadLine();
Console.Write("Enter Credit : ");
double.TryParse(Console.ReadLine(), out input_credit);
}
public double getGrade()
{
switch (input_score)
{
case "A":
case "a":
nValGrade = 4.00;
break;
case "B+":
case "b+":
nValGrade = 3.50;
break;
case "B":
case "b":
nValGrade = 3.00;
break;
case "C+":
case "c+":
nValGrade = 2.50;
break;
case "C":
case "c":
nValGrade = 2.00;
break;
case "D+":
case "d+":
nValGrade = 1.50;
break;
case "D":
case "d":
nValGrade = 1.00;
break;
case "F":
case "f":
nValGrade = 0.00;
break;
}
return nValGrade;
}
public double getCredit()
{
switch (input_credit)
{
case 4.00:
nValCredit = 4.00;
break;
case 3.50:
nValCredit = 3.50;
break;
case 3.00:
nValCredit = 3.00;
break;
case 2.50:
nValCredit = 2.50;
break;
case 2.00:
nValCredit = 2.00;
break;
case 1.50:
nValCredit = 1.50;
break;
case 1.00:
nValCredit = 1.00;
break;
case 0.00:
nValCredit = 0.00;
break;
}
return nValCredit;
}
public double resultAVGrade()
{
double result_AVGrade = (getGrade() * getCredit());
result_AVGrade = result_AVGrade / getCredit();
return result_AVGrade;
}
public void ShowGrade()
{
Console.WriteLine("You GPA = " + resultAVGrade().ToString());
}
}
}
--------------------------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AVGrade1
{
internal class Program
{
static void Main(string[] args)
{
AVGrade1 g = new AVGrade1();
g.Input();
g.Input();
g.Input();
g.ShowGrade();
Console.ReadLine();
}
}
}