프로그래밍/C#

단계별 프로젝트 - 최종 GPA 계산

김꿀꿀이 2023. 3. 30. 11:46
반응형

오늘 학습내용은 아래 링크

https://learn.microsoft.com/ko-kr/training/modules/guided-project-calculate-final-gpa/

 

Guided project - Calculate final GPA - Training

Guided project - Calculate final GPA

learn.microsoft.com

 

C#을 사용하여 첫 번째 코드 작성(C#로 시작, 파트 1)

- 단계별 프로젝트 - 최종 GPA 계산 -

 

part1의 마지막 단원은 학점 계산기를 만드는 프로젝트이다.
학생의 이름과 과목, 평점, 수업시간을 가지고 소수점 두 자리까지 학점을 출력하는 프로그램이다.

이때까지 배운 내용들을 가지고 만드는 프로그램이라 따로 설명할부분은 별로 없고
소수점 아래 두 자리만 학점을 출력하기 위해 계산하는 부분은 참고하면 좋을 것 같다.

string studentName = "Sophia Johnson";
// 학생의 이름

string course1Name = "English 101";
string course2Name = "Algebra 101";
string course3Name = "Biology 101";
string course4Name = "Computer Science I";
string course5Name = "Psychology 101";
// 과목

int course1Credit = 3;
int course2Credit = 3;
int course3Credit = 4;
int course4Credit = 4;
int course5Credit = 3;
// 수업시간

int gradeA = 4;
int gradeB = 3;
// 과목평점

int course1Grade = gradeA;
int course2Grade = gradeB;
int course3Grade = gradeB;
int course4Grade = gradeB;
int course5Grade = gradeA;

int totalCreditHours = 0;
totalCreditHours += course1Credit;
totalCreditHours += course2Credit;
totalCreditHours += course3Credit;
totalCreditHours += course4Credit;
totalCreditHours += course5Credit;
// 총 수업 시간을 더하기
// totalCreditHours = course1Credit+course2Credit+course3Credit+course4Credit+course5Credit;

int totalGradePoints = 0;
totalGradePoints += course1Credit * course1Grade;
totalGradePoints += course2Credit * course2Grade;
totalGradePoints += course3Credit * course3Grade;
totalGradePoints += course4Credit * course4Grade;
totalGradePoints += course5Credit * course5Grade;
// 과목평점*수업시간 계산 값을 모두 더하기

decimal gradePointAverage = (decimal) totalGradePoints/totalCreditHours;
// 평균 평점 계산하기

int leadingDigit = (int) gradePointAverage;
int trailingDigits = (int) (gradePointAverage * 100) - (leadingDigit * 100);
// (int) (3.3529411764705882352941176471 * 100)-(3*100)
// 335-300 = 35로 소숫점 2자리 계산

Console.WriteLine($"Student: {studentName}\n");

Console.WriteLine("Course\t\t\tGrade\tCredit Hours");
Console.WriteLine($"{course1Name}\t\t\t{course1Grade}\t\t{course1Credit}");
Console.WriteLine($"{course2Name}\t\t\t{course2Grade}\t\t{course2Credit}");
Console.WriteLine($"{course3Name}\t\t\t{course3Grade}\t\t{course3Credit}");
Console.WriteLine($"{course4Name}\t{course4Grade}\t\t{course4Credit}");
Console.WriteLine($"{course5Name}\t\t{course5Grade}\t\t{course5Credit}");

Console.WriteLine($"\nFinal GPA:\t\t\t{leadingDigit}.{trailingDigits}");

 

반응형