'분류 전체보기'에 해당되는 글 46건

  1. 2009.05.31 [C#] C# 시작하기
  2. 2009.05.31 [MFC] Fireworks Display 2
  3. 2009.05.31 [MFC] Draw Shapes
  4. 2009.05.30 SRM 191 DIV 2 (250)
  5. 2009.05.27 SRM 148 DIV 2 (250)
  6. 2009.05.27 SRM 146 DIV 2 (250)
  7. 2009.05.27 SRM 147 DIV 2 (250)
  8. 2009.05.26 [Win32] Bacteria War (Demo)
  9. 2009.05.26 [GNEX] Touch Avatar
  10. 2009.05.26 SRM 370 DIV 2 (500)

[C#] C# 시작하기

Programming/.NET Programming 2009. 5. 31. 04:13

C# Console 응용프로그램 프로젝트 생성시 기본 소스

// 키워드 Using

//  자주 사용하는 namespace가 포함하는 클래스를 사용할 수 있게 함(간략화)

//  자주 사용하는 namespace를 적지 않아도 그 안의 내용을 사용할 수 있음
//  ex. System.Console.WriteLine(); --> Console.WriteLine();
//  namespace는 다른데 함수 이름이 같을 경우는 문제가 됨

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace Program // 범위 설정

{

    // 필요한 코드나 타입을 정의함
    // C#은 클래스 단위로 실행됨

    class Program

    {

        static void Main(string[] args) // Main 함수

        {

        }

    }

}


변수 접근 권한 설정 키워드(클래스 및 변수 선언시 사용)

private : 선언된 클래스 내부에서만 사용됨, 변수 기본설정

protected : 선언된 클래스와 상속된 클래스에서 사용됨

internal : 같은 어셈블리(프로젝트) 안에서만 사용됨, 외부공개(extern) 안됨

public : 어떤 곳에서도 사용됨, 함수/클래스 기본설정, 특히 생성자는 public으로!

변수 Type의 종류와 각각의 크기

int a; // integer형, 4byte

float f; // float형, 4byte

double d; // double형, 8byte

char c; // character형, 유니코드 기본지원, 2byte 

string s; // char형 배열

s = "EnSharp"; // string은 큰 따옴표 사용

c = '#'; // char는 작은 따옴표 사용



'Programming > .NET Programming' 카테고리의 다른 글

[C#] this와 상속  (0) 2009.05.31
[C#] 오버로딩과 오버라이딩  (0) 2009.05.31
[C#] 상속과 sealed  (1) 2009.05.31
[C#] 인터페이스, 추상클래스, 클래스  (1) 2009.05.31
[C#] static과 new 그리고 property  (0) 2009.05.31
:

[MFC] Fireworks Display

Programming/GUI Programming 2009. 5. 31. 00:19


 개발환경
Tool : Visual Studio 2008
Language : C++
Library : MFC

 개발기간
2009년 5월 10일 ~ 2009년 5월 15일(6일)
 
Comments
박상일 교수님의 Visual C++ Programming 수업 과제
스페이스 바나 불꽃 버튼을 누르면 노드가 생성되고 포물선을 그리면서 올라간다.
메뉴에서 여러가지 옵션을 줄 수 있다.
Divition(분할), Fragments(분할 입자 수), Color Change(투명도 변화), Tails(꼬리 생성)
교수님이 하신 것보다 조금 많이 부자연스럽지만
그래도 처음에 과제를 접하고 ㅈㅈ칠 뻔한 것을 완성했다는 점에 의의를 둔다.

'Programming > GUI Programming' 카테고리의 다른 글

[MFC] Draw Shapes  (0) 2009.05.31
[Win32] Bacteria War (Demo)  (0) 2009.05.26
:

[MFC] Draw Shapes

Programming/GUI Programming 2009. 5. 31. 00:09


 개발환경
Tool : Visual Studio 2008
Language : C++
Library : MFC

 개발기간
2009년 4월 6일 ~ 2009년 4월 10일(5일)
 
Comments
박상일 교수님의 Visual C++ Programming 수업 과제
마우스 왼쪽 버튼으로 드래깅 : 김태희 사진으로 채워진 사각형이 그려짐
마우스 오른쪽 버튼으로 드래깅 : 색깔이 채워진 원이 그려짐
마우스 가운데 버튼을 클릭 : 다각형의 꼭지점을 찍을 수 있음
가운데 버튼 클릭으로 꼭지점을 그린 후 마우스 왼쪽/오른쪽 버튼 누르면
찍었던 점이 이어지면서 다각형이 그려지는 프로그램

'Programming > GUI Programming' 카테고리의 다른 글

[MFC] Fireworks Display  (2) 2009.05.31
[Win32] Bacteria War (Demo)  (0) 2009.05.26
:

SRM 191 DIV 2 (250)

Programming/SRM Practice 2009. 5. 30. 23:09
SRM 191 DIV 2 (250)
문제 요약 : 내기에서 이긴 사람이 받을 수 있는 돈을 Cents 단위로 반환하라. 

#include <iostream>

#include <vector>

using namespace std;

 

class BettingMoney

{

public:

           int moneyMade(vector <int> amounts, vector <int> centsPerDollar, int finalResult);

};

 

int BettingMoney::moneyMade(vector <int> amounts, vector <int> centsPerDollar, int finalResult)

{

           int sum = 0;

          

           for(int i = 0 ; i < amounts.size() ; i++)

                     if(i != finalResult) sum += amounts[i];

                    

           return (sum*100) - (centsPerDollar[finalResult]*amounts[finalResult]);

}

using system;

 

public class BettingMoney

{

    public int moneyMade(int[] amounts, int[] centsPerDollar, int finalResult)

    {

        int sum = 0;

 

        for (int i = 0; i < amounts.Length; i++)

            if (i != finalResult) sum += amounts[i];

 

        return (sum * 100) - (amounts[finalResult] * centsPerDollar[finalResult]);

    }

}



'Programming > SRM Practice' 카테고리의 다른 글

SRM 149 DIV 2 (250)  (0) 2009.09.15
SRM 307 DIV 2 (250)  (0) 2009.07.04
SRM 148 DIV 2 (250)  (0) 2009.05.27
SRM 146 DIV 2 (250)  (0) 2009.05.27
SRM 147 DIV 2 (250)  (0) 2009.05.27
:

SRM 148 DIV 2 (250)

Programming/SRM Practice 2009. 5. 27. 17:19
SRM 148 DIV 2 (250)
문제 요약 : 주어진 숫자를 그 숫자의 각 자리수로 나눌 수 있다면, 
그 횟수를 반환하라. 

#include <iostream>

using namespace std;

 

class DivisorDigits

{

public:

  int howMany(int number);

};

 

int DivisorDigits::howMany(int number)

{

  int temp = number;

  int cnt = 0;

  int n;

 

  while(temp >= 1)

  {

    n = temp % 10;

    temp /= 10;

    if(n != 0 && number % n == 0) cnt++;

  }

  return cnt;

}

'Programming > SRM Practice' 카테고리의 다른 글

SRM 307 DIV 2 (250)  (0) 2009.07.04
SRM 191 DIV 2 (250)  (0) 2009.05.30
SRM 146 DIV 2 (250)  (0) 2009.05.27
SRM 147 DIV 2 (250)  (0) 2009.05.27
SRM 370 DIV 2 (500)  (0) 2009.05.26
:

SRM 146 DIV 2 (250)

Programming/SRM Practice 2009. 5. 27. 15:51
SRM 146 DIV 2 (250)
문제 요약 : 주사위를 5번 던진 값이 주어지면,
그 중에서 같은 값의 경우는 그 값을 전부 더한다. 이 때 나올 수 있는 최대값을 구하라.

#include <iostream>

#include <vector>

using namespace std;

 

class YahtzeeScore

{

public:

  int maxPoints(vector <int> toss);

};

 

int YahtzeeScore::maxPoints(vector <int> toss)

{

  int sum = 0, max = 0;

 

  for(int i = 1 ; i < 7 ; i++)

  {

    for(int j = 0 ; j < toss.size() ; j++)

    {

      if(i == toss[j]) sum += toss[j];

    }

    if(sum > max) max = sum;

    sum = 0;

  }

 

  return max;
}

'Programming > SRM Practice' 카테고리의 다른 글

SRM 191 DIV 2 (250)  (0) 2009.05.30
SRM 148 DIV 2 (250)  (0) 2009.05.27
SRM 147 DIV 2 (250)  (0) 2009.05.27
SRM 370 DIV 2 (500)  (0) 2009.05.26
SRM 370 DIV 2 (250)  (0) 2009.05.26
:

SRM 147 DIV 2 (250)

Programming/SRM Practice 2009. 5. 27. 00:48
SRM 147 DIV 2 (250)
문제 요약 : 주어진 문장을 주어진 수만큼 shift한 후
결과 값을 반환하라.

#include <iostream>

using namespace std;

class CCipher

{

public:

  string decode(string cipherText, int shift);

};

 

string CCipher::decode(string cipherText, int shift)

{

  string res = "";


  
for(int i = 0 ; cipherText[i] ; i++)

    if(cipherText[i] - shift < 'A')  res += cipherText[i] + 26 - shift;

    else  res += cipherText[i] - shift;


  
return res;
}

'Programming > SRM Practice' 카테고리의 다른 글

SRM 148 DIV 2 (250)  (0) 2009.05.27
SRM 146 DIV 2 (250)  (0) 2009.05.27
SRM 370 DIV 2 (500)  (0) 2009.05.26
SRM 370 DIV 2 (250)  (0) 2009.05.26
SRM 205 DIV 2 (250)  (0) 2009.05.26
:

[Win32] Bacteria War (Demo)

Programming/GUI Programming 2009. 5. 26. 22:16




 

 개발환경
Tool : Visual Studio 2008
Language : C
Library : Win32 API

 개발기간
2008년 10월 27일 ~ 2008년 11월 4일 (9일)

Comments

나를 지금 멤버십에 있게 해준 프로그램.
원래는 네트워크 기능까지 추가할 생각이었지만,
다른 일정들 때문에 결국 이 상태로 제출했다.
테스트 과정에서 움직일 버섯 없을 때
다음턴으로 넘기는 부분을 처리하지 않았다는 사실을 알았지만
컴퓨터 포멧으로 코드가 날아가는 바람에 수정하지 못했다.
그렇다고 처음부터 다시 만들 생각은 없으니까.
1학년 때 Win32 API를 처음 접하고 난 후,
공부하면서 연습삼아 만든 거니까 그냥 조금 아쉽지만 미완성으로..


 

'Programming > GUI Programming' 카테고리의 다른 글

[MFC] Fireworks Display  (2) 2009.05.31
[MFC] Draw Shapes  (0) 2009.05.31
:

[GNEX] Touch Avatar

Programming/Mobile Programming 2009. 5. 26. 21:48



 개발환경
Tool : GNEX SDK v2.10
Language : Mobile C

 개발기간
2009년 2월 16일 ~ 2009년 3월 1일 (14일)

Comments

 멤버십 19기로 합격한 후 약 한 달간 진행되었던 신입회원 세미나 기간동안
지웅오빠랑 현우오빠랑 같이 Mini Project로 만들었던 게임.
나는 이 게임에서 아바타를 흐르게 하고,
흐르는 아바타를 얼마나 정확한 타이밍에 맞춰 눌러줬는지를 판단하는 부분을 맡았었다.
솔직히 나는 별로 한 것이 없지만, 그래도 처음 접해본 Mobile 환경이 재밌었다.



 

:

SRM 370 DIV 2 (500)

Programming/SRM Practice 2009. 5. 26. 17:47
SRM 370 DIV 2 (500)
문제 요약 : 색깔이 중복될 것으로 예상되는 마블의 수를 구하라.

#include <iostream>

#include <vector>

using namespace std;

 

class DrawingMarbles

{

public:

  double sameColor(vector<int> colors, int n);

};

 

double DrawingMarbles::sameColor(vector<int> colors, int n)

{

  int i = 0, j = 0;

  int total = 0;

  double res = 0;

  double sum = 1;

 

  if(colors.size() != 1)

  {

     for(i = 0 ; i < colors.size() ; i++)

         total += colors[i];

     for(i = 0 ; i < colors.size() ; i++)

     {

        for(j = 0 ; j < n ; j++)

          sum *= ((double)colors[i] - (double)j)
                             / ((
double)total - (double)j);

         

        res += sum;

        sum = 1;

     }

  }

  else res = 1.0;

  return res;

}
 

'Programming > SRM Practice' 카테고리의 다른 글

SRM 146 DIV 2 (250)  (0) 2009.05.27
SRM 147 DIV 2 (250)  (0) 2009.05.27
SRM 370 DIV 2 (250)  (0) 2009.05.26
SRM 205 DIV 2 (250)  (0) 2009.05.26
SRM 200 DIV 2 (250)  (0) 2009.05.26
: