C++ Point & Point3D Class
http://dis.dankook.ac.kr/lectures/hci09/entry/C-Point-Point3D-Class
C# Point & Point3D Class
http://dis.dankook.ac.kr/lectures/hci09/entry/C-Point-Point3D-Class-1
C# Point & Point3D Class Assembly
http://dis.dankook.ac.kr/lectures/hci09/entry/C-Point-Point3D-Class-Assembly
lecture5
0부터 100까지 숫자만 입력받기
int value; // needed for TryParse
string str; // needed for ReadLine
Console.Write(“0부터 100까지 숫자를 입력하세요: “);
str = Console.ReadLine();
while ((!int.TryParse(str, out value)) || (value < 0 || value > 100))
{
Console.Write(“다시 0부터 100까지 숫자를 입력하세요: “);
str = Console.ReadLine();
}
int result = int.Parse(str);
Console.WriteLine(“입력된 숫자=” + result);
ESCAPE 키가 눌린게 아니면 프로그램이 계속 실행되기
class Program
{
static double Add(double a, double b)
{
return (a + b);
}
static void Main(string[] args)
{
do
{
Console.Write(“a를 입력하세요: “);
string str = Console.ReadLine();
double a;
bool result = double.TryParse(str, out a);
Console.Write(“b를 입력하세요: “);
str = Console.ReadLine();
double b;
result = double.TryParse(str, out b);
double c = Add(a, b);
Console.WriteLine(“결과는 {0}”, c);
Console.WriteLine(“다시 하려면 ENTER 키를 누르시고 종료하려면 ESC 키를 누르세요”);
} while (Console.ReadKey().Key != ConsoleKey.Escape);
}
}
C# class vs public class
class Test { // internal class Test (현재의 어셈블리 내부에서 접근가능한 클래스)
//code inside it
}
public class Test{ (다른 어셈블리에서도 접근가능한 클래스)
//code inside it
}
internal(C# 참조)
http://msdn.microsoft.com/ko-kr/library/7c5ka91b.aspx
class vs public class
http://stackoverflow.com/questions/12392876/class-vs-public-class
Operator & Statement & Method
Arithmetic Operator
Temperature Converter F=9/5*C+32 & C=5/9(F-32)
Break Statement vs. Continue Statement
Recursive Method
lecture4
Why need boxing and unboxing
Why do we need boxing and unboxing in C#?
http://stackoverflow.com/questions/2111857/why-do-we-need-boxing-and-unboxing-in-c
struct Point
{
public int x, y;
public Point(int x, int y)
{
this.x = x;
this.y = y;
}
public override string ToString()
{
return String.Format(“{0} {1}”, this.x, this.y);
}
}
class Point2
{
public int x, y;
public Point2(int x, int y)
{
this.x = x;
this.y = y;
}
public override string ToString()
{
return String.Format(“{0} {1}”, this.x, this.y);
}
}
class Program
{
static void Print(object o)
{
Console.WriteLine(o);
}
static void Main(string[] args)
{
int x = 4;
Print(x); // boxing (int=>object)
double y = 3.2;
Print(y); // boxing (double=>object)
char z = ‘n’;
Print(z); // boxing (char=>object)
double e = 2.718281828459045;
object o1 = e; // boxing (double=>object)
object o2 = e; // boxing (double=>object)
Console.WriteLine(o1 == o2); // False (o1과 o2는 서로 다른 메모리에 데이타 복사본 저장)
Point p3 = new Point(1, 1);
Print(p3); // boxing (struct=>object)
object o3 = p3; // boxing (struct=>object)
p3.x = 2;
Console.WriteLine(((Point)o3).x); // unboxing(object=>struct) o3.x=1 (o3는 박싱된 복사본 p3에의해 데이터 안바뀜)
Point2 p4 = new Point2(1, 1);
Print(p4); // boxing 아님
object o4 = p4; // boxing 아님
p4.x = 2;
Console.WriteLine(((Point2)o4).x); // downcasting(object=>Point2 class) o4.x=2 (class는 reference type이므로 o4는 p4에의해 데이터가 바뀜)
}
}
Console Class
http://msdn.microsoft.com/en-us/library/system.console.aspx
Console 클래스에는 ReadLine, WriteLine 같은 기본적인 입출력 메서드 외에도 콘솔 관리를 위한 여러 가지 멤버들이 제공된다. 어떤 멤버는 함수처럼 필요할 때 호출할 수 있는 메서드이고 어떤 것은 값을 읽고 쓰는 프로퍼티 형태로 되어 있다.
멤버 | 설명 |
Title | 콘솔창의 제목 문자열이다. |
BackgroundColor, ForegroundColor | 전경색, 배경색의 색상이다. |
CursorSize | 커서의 높이를 지정한다. |
CursorVisible | 커서의 보임/숨김을 지정한다. |
CursorLeft, CursorTop | 커서의 현재 위치이다. |
Clear() | 화면을 지운다. |
Beep() | 삑 소리를 낸다. |
ResetColor() | 디폴트 색상으로 변경한다. |
SetCursorPosition(x,y) | 커서의 위치를 옮긴다. |
class Program
{
public static void Main()
{
Console.Title = “콘솔 테스트”; // 콘솔창의 제목
Console.BackgroundColor = ConsoleColor.Yellow; // 콘솔창의 배경색
Console.ForegroundColor = ConsoleColor.Blue; // 콘솔창의 전경색
Console.Clear(); // 콘솔창 화면을 깨끗이 지움
Console.Beep(); // 콘솔창에 삑소리를 냄
Console.WriteLine(“색상을 변경했습니다.”); // 콘솔창에 “색상을 변경했습니다.” 출력
Console.ReadKey(); // 콘솔창에서 아무키나 입력받길 대기
Console.ResetColor(); // 콘솔창에서 색상(배경,전경)을 초기화
Console.SetCursorPosition(10, 10); // (10, 10) 좌표로 커서를 이동
Console.WriteLine(“디폴트 색상입니다.”); // 콘솔창에 “디폴트 색상입니다.” 출력
Console.ReadKey(); // 콘솔창에서 아무키나 입력받길 대기
}
}
체감온도산출식
// 체감온도(℃) = 13.12 + 0.6215ⅹT – 11.37 V0.16 +0.3965 V0.16 ⅹT
// [ T : 기온, V : 풍속(km/h) ]
public double GetWindChillTemperature(double T, double V)
{
return (13.12 + 0.6215 * T – 11.37 * Math.Pow(V, 0.16) + 0.3965 * Math.Pow(V, 0.16) * T);
}