반응형
Visual Studio 2008 C# Console에서 작성된 성적입력 예제입니다. [출처 - 멍멍]
결과화면
Program.cs |
using System; using System.Collections.Generic; public class MyClass { public static void Main(string[] args) { List<Cals> lst = new List<Cals>(); Cals p1; string tempNum; string tempEnglish; string tempJapan; string btn = "n"; bool flag = false; do { p1 = new Cals(); Console.WriteLine("자료를 입력하세요."); Console.Write("학생번호 : _\b"); tempNum = Console.ReadLine(); // 학생번호가 2자리수가 넘어갈경우 if (Convert.ToInt32(tempNum) > 9) { Console.WriteLine("학생번호는 정수 1자리로 입력하세요"); } else { p1.Num = Convert.ToInt32(tempNum); } Console.Write("영어점수 : ___\b\b\b"); tempEnglish = Console.ReadLine(); // 영어점수가 0점 이하 또는 100점 이상일 경우 if (Convert.ToInt32(tempEnglish) < 0 || Convert.ToInt32(tempEnglish) > 100) { Console.WriteLine("영어점수 0 ~ 100 범위의 정수값 입력하세요."); } else { p1.English = Convert.ToInt32(tempEnglish); } Console.Write("일어점수 : ___\b\b\b"); tempJapan = Console.ReadLine(); // 일어점수가 0점 이하 또는 100점 이상일 경우 if (Convert.ToInt32(tempJapan) < 0 || Convert.ToInt32(tempJapan) > 100) { Console.WriteLine("일어점수 0 ~ 100 범위의 정수값 입력하세요."); } else { p1.Japan = Convert.ToInt32(tempJapan); } if (flag == false) // 자료입력 시작 확인 (첫번째 data 는 바로 입력) { lst.Add(p1); flag = true; } else //이전 자료의 학생번호와 비교 같을경우 return { for (int i = 0; i < lst.Count; i++) { if (lst[i].Num == p1.Num) { Console.WriteLine("동일 학생번호가 있습니다."); return; } } lst.Add(p1); } Console.Write("입력(y), 종료(n) : "); btn = Console.ReadLine().ToLower(); } while (btn == "y" && lst.Count <= 4); // 학생수 최대 5명 for (int i = 0; i < lst.Count; i++) { // 합계 점수 계산 lst[i].Total = lst[i].English + lst[i].Japan; // 반올림 계산 lst[i].Avr = (int)(lst[i].Total / 2.0 + 0.5); // 학점 계산 if (lst[i].Avr <= 70) { //70점 이하 lst[i].Hakjum = "D"; } else if (lst[i].Avr <= 80) { //80점 이하 lst[i].Hakjum = "C"; } else if (lst[i].Avr <= 90) { //90점 이하 lst[i].Hakjum = "B"; } else { lst[i].Hakjum = "A"; //그외 (100점 이하) } } //입력화면 초기화 Console.Clear(); Console.WriteLine("학생번호 영어 일어 총점 평균 학점"); for (int i = 0; i < lst.Count; i++) { Console.WriteLine("{0}\t\t{1}\t{2}\t{3}\t{4}\t{5}", lst[i].Num, lst[i].English, lst[i].Japan, lst[i].Total, lst[i].Avr, lst[i].Hakjum); } } } |
Cals.cs |
using System; public class Cals { // 속성 public int Num { get; set; } public int English { get; set; } public int Japan { get; set; } public int Total { get; set; } public int Avr { get; set; } public string Hakjum { get; set; } public Cals() { // Empty } public Cals(string num, string english, string japan) { this.Num = Convert.ToInt32(num); this.English = Convert.ToInt32(english); this.Japan = Convert.ToInt32(japan); } } |
반응형
'C#' 카테고리의 다른 글
81.C# - 람다식 (0) | 2009.08.19 |
---|---|
80.C# - 확장메서드 (0) | 2009.08.19 |
13.C# - 알고리즘 : 그룹 (0) | 2009.08.18 |
78.C# - 초기화자 (0) | 2009.08.18 |
77.C# - Attribute 사용자 정의 특성 (0) | 2009.08.18 |
Comments