Const Member변수 초기화 특성
- #include <iostream>
- using namespace std;
- class Student
- {
- const int id;
- int age;
- char name[20];
- public :
- Student(int _id, int _age, char *_name) : id(_id)
- {
- age = _age;
- strcpy(name,_name);
- }
- void Show()
- {
- cout << " " << id << endl;
- cout << " " << age << endl;
- cout << " " << name << endl;
- }
- };
- int main()
- {
- Student st(2002, 20,"good");
- st.Show();
- return 0;
- }
'Computer_IT > C++' 카테고리의 다른 글
[VC] MMX support 여부 (0) | 2006.08.14 |
---|---|
Example Program: A Simple Query (0) | 2006.08.07 |
LinkedList 자료 (0) | 2006.04.06 |
VC++ 단축키 모음 (2) | 2006.03.19 |
Console - 바둑소스 (0) | 2006.02.22 |
콘솔입력받아 배열에 넣기
[CODE type="java"]
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.util.StringTokenizer;
import java.io.IOException;
public class Grading
{
private void mCTA()
{
BufferedReader br;
StringTokenizer st=null;
int i=0;
int[] iArr= new int[10];
System.out.print("Input ? ");
br = new BufferedReader(new InputStreamReader(System.in));
try
{
String str = br.readLine();
System.out.println("\nInput-value = " + str);
st = new StringTokenizer(str);
}
catch(IOException ioex)
{
ioex.printStackTrace();
}
while (st.hasMoreTokens())
{
iArr[i]= Integer.parseInt(st.nextToken());
System.out.println("iArr[" + i + "]=" +iArr[i]);
i++;
}
}
public static void main(String[] args)
{
Grading cta=new Grading();
cta.mCTA();
}
}
[/HTML][/CODE]
'Computer_IT > JAVA' 카테고리의 다른 글
[JAVA5] ActionEvent Example (0) | 2006.09.14 |
---|---|
[JAVA] InetAddress (0) | 2006.09.14 |
JAVA class 정의 (0) | 2006.04.12 |
JAVA에서 Console 문자열 입력받기 (0) | 2006.04.05 |
2차원 배열 생성, 값 배정 (1) | 2006.04.05 |
JSP request. 들의 메소드
- <%@ page contentType = "text/html; charset=euc-kr" %>
- 클라이언트IP = <%= request.getRemoteAddr() %> <br>
- 요청정보길이 = <%= request.getContentLength() %> <br>
- 요청정보 인코딩 = <%= request.getCharacterEncoding() %> <br>
- 요청정보 컨텐트타입 = <%= request.getContentType() %> <br>
- 요청정보 프로토콜 = <%= request.getProtocol() %> <br>
- 요청정보 전송방식 = <%= request.getMethod() %> <br>
- 요청 URI = <%= request.getRequestURI() %> <br>
- 컨텍스트 경로 = <%= request.getContextPath() %> <br>
- 서버이름 = <%= request.getServerName() %> <br>
- 서버포트 = <%= request.getServerPort() %> <br>
- </body>
- </html>
'Computer_IT > JSP' 카테고리의 다른 글
[JSP] URLEncoder (0) | 2006.09.30 |
---|---|
[JSP] page redirect (0) | 2006.09.30 |
[JSP] request method list (0) | 2006.09.30 |
[JSP] JSP 필수 Directive (0) | 2006.09.30 |
Calendar 를 이용한 날짜 출력 (0) | 2006.04.07 |
JAVA class 정의
'Computer_IT > JAVA' 카테고리의 다른 글
[JAVA] InetAddress (0) | 2006.09.14 |
---|---|
콘솔입력받아 배열에 넣기 (0) | 2006.04.16 |
JAVA에서 Console 문자열 입력받기 (0) | 2006.04.05 |
2차원 배열 생성, 값 배정 (1) | 2006.04.05 |
swing 자바 Addtion (0) | 2006.04.04 |
Calendar 를 이용한 날짜 출력
- <%@ page contentType = "text/html;charset=euc-kr" %>
- <%@ page import = "java.util.Calendar" %>
- <% Calendar cal = Calendar.getInstance(); %>
- 오늘은
- <%=cal.get(Calendar.YEAR) %>년
- <%=cal.get(Calendar.MONTH)+1 %> 월
- <%=cal.get(Calendar.DATE) %> 일 입니다.
- </body>
- </html>
'Computer_IT > JSP' 카테고리의 다른 글
[JSP] URLEncoder (0) | 2006.09.30 |
---|---|
[JSP] page redirect (0) | 2006.09.30 |
[JSP] request method list (0) | 2006.09.30 |
[JSP] JSP 필수 Directive (0) | 2006.09.30 |
JSP request. 들의 메소드 (0) | 2006.04.13 |
LinkedList 자료
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define FILE_NAME "d:\\student.dat"
FILE * fpStd;
typedef struct node NODE;
struct node {
NODE * flink;
NODE * blink;
char id[12];
char name[30];
};
typedef struct anchor ANCHOR;
struct anchor {
NODE * flink;
NODE * blink;
};
ANCHOR anc;
NODE * makeNode(char * id, char * name);
NODE * makeEmptyNode();
void printData(void);
char showMenu();
void enqAft(NODE * newNode, NODE * oldNode);
void enqBef(NODE * newNode, NODE * oldNode);
NODE * findNode(char * id);
void delNode(NODE * node);
int getListSize(void);
void writeFile(void);
void readFile();
void clearList(void);
int main(void) {
// 1. anchor가 자신의 주소를 가르키게 함
anc.flink = (NODE *) &anc;
anc.blink = (NODE *) &anc;
char choice;
char input[80];
NODE * newNode;
NODE * tempNode;
char id[12];
char name[30];
choice = showMenu();
while (choice != '0') {
if (choice == '1') {
printf("학생의 정보를 입력하세요 (아이디 이름) : ");
gets(input); // aaa 홍길동
sscanf(input, "%s %s", id, name);
newNode = makeNode(id, name);
tempNode = findNode(id);
if (tempNode == NULL) {
enqBef(newNode, (NODE *)&anc);
} else {
printf("%s 아이디는 존재합니다. \n", id);
}
} else if (choice == '2') {
printf("찾으려는 학생의 아이디를 입력하세요 : ");
gets(input); // aaa 홍길동
sscanf(input, "%s", id);
newNode = findNode(id);
if (newNode == NULL) {
printf("%s 아이디는 존재하지 않습니다. \n", id);
} else {
printf("학생의 정보를 입력하세요 (이름) : ");
gets(input); // aaa 홍길동
sscanf(input, "%s", newNode->name);
}
} else if (choice == '3') {
printf("찾으려는 학생의 아이디를 입력하세요 : ");
gets(input); // aaa 홍길동
sscanf(input, "%s", id);
newNode = findNode(id);
if (newNode == NULL) {
printf("%s 아이디는 존재하지 않습니다. \n", id);
} else {
delNode(newNode);
}
} else if (choice == '4') {
printf("찾으려는 학생의 아이디를 입력하세요 : ");
gets(input); // aaa 홍길동
sscanf(input, "%s", id);
newNode = findNode(id);
if (newNode == NULL) {
printf("%s 아이디는 존재하지 않습니다. \n", id);
} else {
printf("찾을 학생 %s의 정보 : %s, %s\n", id, newNode->id, newNode->name);
}
} else if (choice == '5') {
printData();
} else if (choice == '6') {
printf("총 학생의 수 : %d명 입니다.\n", getListSize());
} else if (choice == '7') {
writeFile();
} else if (choice == '8') {
readFile();
} else if (choice == '9') {
clearList();
} else {
}
printf("\n<계속 진행하려면 엔터를 치세요 >\n");
gets(input);
system("cls");
choice = showMenu();
}
return 0;
}
NODE * makeNode(char *id, char *name) {
NODE * newNode = (NODE *) malloc(sizeof(NODE));
strcpy(newNode->id, id);
strcpy(newNode->name, name);
return newNode;
}
NODE * makeEmptyNode() {
NODE * newNode = (NODE *) malloc(sizeof(NODE));
return newNode;
}
void enqAft(NODE * newNode, NODE * oldNode) {
newNode->flink = oldNode->flink;
newNode->blink = oldNode;
oldNode->flink->blink = newNode;
oldNode->flink = newNode;
}
void enqBef(NODE * newNode, NODE * oldNode) {
newNode->flink = oldNode;
newNode->blink = oldNode->blink;
oldNode->blink->flink = newNode;
oldNode->blink = newNode;
}
NODE * findNode(char * id) {
NODE * curNode = anc.flink;
NODE * findNode = NULL;
while(curNode != (NODE *) &anc) {
if (strcmp(curNode->id, id) == 0) {
findNode = curNode;
}
curNode = curNode->flink;
}
return findNode;
}
void delNode(NODE * node) {
node->blink->flink = node->flink;
node->flink->blink = node->blink;
free(node);
}
int getListSize() {
NODE * curNode = anc.flink;
int count = 0;
while(curNode != (NODE *) &anc) {
count++;
curNode = curNode->flink;
}
return count;
}
void printData(void) {
NODE * curNode = anc.flink;
while(curNode != (NODE *) &anc) {
printf("학생의 아이디 : %s, 이름 : %s.\n", curNode->id, curNode->name);
curNode = curNode->flink;
}
}
void clearList() {
NODE * curNode = anc.flink;
NODE * tempNode = NULL;
while(curNode != (NODE *) &anc) {
tempNode = curNode->flink;
delNode(curNode);
curNode = tempNode;
}
}
void readFile() {
fpStd = fopen(FILE_NAME, "r");
if (fpStd == NULL) {
printf("파일 열기에 실패함.\n");
} else {
clearList();
NODE * newNode = makeEmptyNode();
while (fread(newNode, sizeof(NODE), 1, fpStd) > 0) {
enqBef(newNode, (NODE *) &anc);
newNode = makeEmptyNode();
}
fclose(fpStd);
}
}
void writeFile() {
fpStd = fopen(FILE_NAME, "w");
if (fpStd == NULL) {
printf("파일 열기에 실패함.\n");
} else {
NODE * curNode = anc.flink;
while(curNode != (NODE *) &anc) {
fwrite(curNode, sizeof(NODE), 1, fpStd);
curNode = curNode->flink;
}
fclose(fpStd);
}
}
char showMenu() {
char choice, dummy;
printf("************************************\n");
printf("* 1. 학생 추가 \n");
printf("* 2. 학생 수정 \n");
printf("* 3. 학생 삭제 \n");
printf("* 4. 학생 찾기 \n");
printf("* --------------------------------- \n");
printf("* 5. 학생 목록 \n");
printf("* 6. 학생 수 출력 \n");
printf("* --------------------------------- \n");
printf("* 7. 파일 저장 \n");
printf("* 8. 파일 읽기 \n");
printf("* --------------------------------- \n");
printf("* 9. 모두 지우기 \n");
printf("* --------------------------------- \n");
printf("* 0. 종료 \n");
printf("************************************\n");
printf(">> ");
scanf("%c%c", &choice, &dummy);
return choice;
}
[/HTML][/CODE]
'Computer_IT > C++' 카테고리의 다른 글
Example Program: A Simple Query (0) | 2006.08.07 |
---|---|
Const Member변수 초기화 특성 (0) | 2006.04.24 |
VC++ 단축키 모음 (2) | 2006.03.19 |
Console - 바둑소스 (0) | 2006.02.22 |
Console Codepage 설정. (0) | 2006.02.15 |
JAVA에서 Console 문자열 입력받기
[CODE type="java"]
class Middle2 {
public static void main(String arg[]) throws java.io.IOException{
char choice;
String s1="";
String s2="";
System.out.print("\n첫번째 문자열 입력 : ");
while ((choice = (char)System.in.read()) != '\n')
{
s1 = s1 + choice;
}
System.out.print("\n첫번째 정수값 : ");
System.out.println(s1);
System.out.print("\n두번째 문자열 입력 : ");
while ((choice = (char)System.in.read()) != '\n')
{
s2 = s2 + choice;
}
System.out.print("\n두번째 정수값 : ");
System.out.println(s2);
}
}
/* 위에서 제공하는 부분 코드를 가지고 중앙값을 구하는 프로그램을 완성하시오 */
[/HTML][/CODE]
'Computer_IT > JAVA' 카테고리의 다른 글
콘솔입력받아 배열에 넣기 (0) | 2006.04.16 |
---|---|
JAVA class 정의 (0) | 2006.04.12 |
2차원 배열 생성, 값 배정 (1) | 2006.04.05 |
swing 자바 Addtion (0) | 2006.04.04 |
연산자 instanceof (0) | 2006.04.01 |
2차원 배열 생성, 값 배정
class TwoArray
{
public static void main(String args[])
{
int two_array[][] = new int[4][5];
int i,j,k=0;
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
{
two_array[i][j] = k;
k++;
}
}
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
System.out.print(two_array[i][j]+ " " );
System.out.println();
}
}
}
[/HTML][/CODE]
'Computer_IT > JAVA' 카테고리의 다른 글
JAVA class 정의 (0) | 2006.04.12 |
---|---|
JAVA에서 Console 문자열 입력받기 (0) | 2006.04.05 |
swing 자바 Addtion (0) | 2006.04.04 |
연산자 instanceof (0) | 2006.04.01 |
예약어 super (0) | 2006.04.01 |
swing 자바 Addtion
[CODE type="java"]
import javax.swing.JOptionPane;
public class Addition
{
public static void main(String args[])
{
String firstNumber, secondNumber;
int number1, number2, sum;
firstNumber = JOptionPane.showInputDialog("Inter First Integer");
secondNumber = JOptionPane.showInputDialog("Enter Second Integer");
number1 = Integer.parseInt(firstNumber);
number2 = Integer.parseInt(secondNumber);
sum = number1 + number2;
JOptionPane.showMessageDialog(null, "The sum is " + sum, "Result", JOptionPane.PLAIN_MESSAGE);
System.exit(0);
}
}
[/HTML][/CODE]
'Computer_IT > JAVA' 카테고리의 다른 글
JAVA에서 Console 문자열 입력받기 (0) | 2006.04.05 |
---|---|
2차원 배열 생성, 값 배정 (1) | 2006.04.05 |
연산자 instanceof (0) | 2006.04.01 |
예약어 super (0) | 2006.04.01 |
멤버 변수의 상속 (0) | 2006.04.01 |
연산자 instanceof
[CODE type="java"]
class A { }
class B extends A { }
class C extends B { }
public class instanceofTest
{
public static void main(String args[])
{
B ob = new B();
if (ob instanceof B) System.out.println("B의 객체");
if (ob instanceof C) System.out.println("C의 객체");
if (ob instanceof A) System.out.println("A의 객체");
A oa = new A();
if (oa instanceof A) System.out.println("A의 객체");
if (oa instanceof B) System.out.println("B의 객체");
if (oa instanceof C) System.out.println("C의 객체");
}
}
[/HTML][/CODE]
'Computer_IT > JAVA' 카테고리의 다른 글
2차원 배열 생성, 값 배정 (1) | 2006.04.05 |
---|---|
swing 자바 Addtion (0) | 2006.04.04 |
예약어 super (0) | 2006.04.01 |
멤버 변수의 상속 (0) | 2006.04.01 |
오버로딩(Overloading), 오버라이딩(Overriding) (0) | 2006.04.01 |
예약어 super
[CODE type="java"]
class C1
{
protected int a = 50;
private int b = 100;
static String x = "파이팅 자바";
void write()
{
System.out.println(x);
System.out.println(a);
System.out.println(b);
}
}
class C2 extends C1
{
String b = "어려운 자바";
String x = "쉬운 자바";
void write()
{
System.out.println(x);
System.out.println(a);
System.out.println(b);
super.write();
}
}
public class SuperTest2
{
public static void main(String args[])
{
C2 o = new C2();
o.write();
}
}
[/HTML][/CODE]
'Computer_IT > JAVA' 카테고리의 다른 글
swing 자바 Addtion (0) | 2006.04.04 |
---|---|
연산자 instanceof (0) | 2006.04.01 |
멤버 변수의 상속 (0) | 2006.04.01 |
오버로딩(Overloading), 오버라이딩(Overriding) (0) | 2006.04.01 |
-- ++ 연산자 테스트 (0) | 2006.04.01 |
멤버 변수의 상속
[CODE type="java"]
class C1
{
int a=100;
static String b = "파이팅 자바";
}
class C2 extends C1
{
String b;
String x = "쉬운자바";
}
class Inheritance
{
public static void main(String args[])
{
C2 o = new C2();
System.out.println(o.x);
System.out.println(o.b);
System.out.println(o.a);
System.out.println(C1.b);
}
}
[/HTML][/CODE]
'Computer_IT > JAVA' 카테고리의 다른 글
연산자 instanceof (0) | 2006.04.01 |
---|---|
예약어 super (0) | 2006.04.01 |
오버로딩(Overloading), 오버라이딩(Overriding) (0) | 2006.04.01 |
-- ++ 연산자 테스트 (0) | 2006.04.01 |
JAVA 기본 Data타입 (0) | 2006.04.01 |
오버로딩(Overloading), 오버라이딩(Overriding)
오버로딩(Overloading) - 기존에 없는 새로운 메서드를 정의하는 것(new) 오버라이딩(Overriding) - 상속받은 메서드의 내용을 변경하는 것(change, modify) |
아래의 코드를 보고 오버로딩과 오버라이딩을 구별할 수 있어야 한다.
class Parent { void parentMethod() {} } class Child extends Parent { void parentMethod() {} // 오버라이딩 void parentMethod(int i) {} // 오버로딩 void childMethod() {} void childMethod(int i) {} // 오버로딩 void childMethod() {} // 에러!!! 중복정의 되었음.(already defined in Child) } |
'Computer_IT > JAVA' 카테고리의 다른 글
예약어 super (0) | 2006.04.01 |
---|---|
멤버 변수의 상속 (0) | 2006.04.01 |
-- ++ 연산자 테스트 (0) | 2006.04.01 |
JAVA 기본 Data타입 (0) | 2006.04.01 |
Jad - the fast JAva Decompiler (0) | 2006.03.17 |
-- ++ 연산자 테스트
class unary
{
public static void main(String args[])
{
int ii = 0;
System.out.println(ii++ + ii + ii--);
System.out.println(ii-- + ii);
int jj=0;
System.out.println(++jj + jj + --jj);
System.out.println(--jj + jj);
}
}
[/HTML][/CODE]
download
'Computer_IT > JAVA' 카테고리의 다른 글
예약어 super (0) | 2006.04.01 |
---|---|
멤버 변수의 상속 (0) | 2006.04.01 |
오버로딩(Overloading), 오버라이딩(Overriding) (0) | 2006.04.01 |
JAVA 기본 Data타입 (0) | 2006.04.01 |
Jad - the fast JAva Decompiler (0) | 2006.03.17 |
JAVA 기본 Data타입
[CODE type="c"]
public class DataTypeTest
{
public static void main(String args[])
{
System.out.println("1. 16진수값 : " + 0x11);
System.out.println("2. 8진수값 : " + 011);
System.out.println("3. 십진수값 : " + 111);
System.out.println("4. 2.0f / 3.0f = " + 2.0f / 3.0f);
System.out.println("5. 2.0 / 3.0 = " + 2.0 / 3.0);
System.out.println("6. 2/3 = " + 2/ 3);
System.out.println("7. 지수형 데이터 3.14159e-3 = " + 3.14159e-3);
System.out.println("8. 이진형 데이터 값 : " + true + (10 > 20));
System.out.println("9. 특수문자값 : \\ \"");
System.out.println("10. 유니코드값 : \u004a \u004f");
}
}
[/HTML][/CODE]
Download
'Computer_IT > JAVA' 카테고리의 다른 글
예약어 super (0) | 2006.04.01 |
---|---|
멤버 변수의 상속 (0) | 2006.04.01 |
오버로딩(Overloading), 오버라이딩(Overriding) (0) | 2006.04.01 |
-- ++ 연산자 테스트 (0) | 2006.04.01 |
Jad - the fast JAva Decompiler (0) | 2006.03.17 |
VC++ 단축키 모음
Visual C++ 단축키 모음
일반 Editor 에서…
Ctrl + Space : 인텔리센스 출력
Ctrl + F5 : 빌드 후 프로그램 실행
F5 : Debugging 모드로 작동
F9 : Break Point
Ctrl + F2 : 북마크
F2 : 북마크로 이동
F10 : Debugging 모드로 작동하되 엔트리 포인트부터 시작
Ctrl + F10 : Debugging 모드로 작동하되 커서의 위치까지
Alt + F8 : 들여쓰기 정리
Ctrl + Shite + Space : 현재 가르키고 있는 함수의 매개변수 보기
Alt + B -> E : Clean
Alt + B -> R : Rebuild All
Ctrl + E : 현재 괄호랑 맞는 괄호를 찾아준다.
Alt + F7 : Project Setting
Ctrl + H : 바꿈
Ctrl + F : 찾기
Alt + E -> I : 여러파일에서 찾기
Ctrl + W : 클래스 위자드 (MFC 코딩시에만 사용)
Alt + 2 : output 윈도우
Alt + 0 : Workspace 윈도우
Debug 모드 작동중
F10 : Step Over (다음줄로)
F11 : Step Into (함수 안으로 들어감)
F5 : 다음 BreakPoint 까지 작동
Alt + 7 : Call Stack 윈도우
Alt + 3 : Watch 윈도우
Shift + F11 : 현재 루틴에서 빠져나온다.
Shift + F5 : 강제로 디버깅 모드 종료
===================================================================================
Ctrl + Tab Edit하고 있는 Child Window 간의 이동
Ctrl + F4 현재 Edit하고 있는 Child Window를 닫기
Ctrl + I >> 문자열 입력 점진적으로 문자열 찾기 (Incremental Search)
Ctrl + F3 현재 커서에 있는 문자열 찾기 (블록 지정 안 해도 됨)
F3 찾은 문자열에 대한 다음 문자열로 이동 (Next Search)
Ctrl + H 문자열 찾아 바꾸기 (Replace)
Ctrl + Left/Right Arrow 단어 단위로 이동
Ctrl + Delete 또는 Backspace 단어 단위로 삭제
Ctrl + F2 현재 라인에 북마크 지정/해제
F2 지정된 다음 북마크로 이동
Ctrl + Shift + F2 지정된 모든 북마크를 해제
F9 현재 라인에 Breakpoint를 지정/해제
Ctrl + Shift + F9 현재 Edit하고 있는 소스파일에 지정된 모든 Breakpoint 해제
Ctrl + ] 또는 E {괄호의 짝을 찾아줌 ({에 커서를 놓고 눌러야 함}
Ctrl + J, K #ifdef 와 #endif의 짝을 찾아줌
Ctrl + L 한 라인을 클립보드로 잘라내기 (Cut)
Ctrl + Shift + L 한 라인을 삭제
Alt + Mouse로 블록 설정 세로로 블록 설정하기 (마우스로)
Ctrl + Shift + F8 세로로 블록 설정하기 (키보드로), 취소할 때는 Esc키를 눌러야 함
블록 설정 >> Tab 선택된 블록의 문자열을 일괄적으로 들여쓰기(Tab) 적용
블록 설정 >> Shift + Tab 선택된 블록의 문자열을 일괄적으로 내어쓰기 적용
Alt + F8 >> Tab 또는 Shift + Tab 들여쓰기 자동 조정 (Tab:들여쓰기, Shift + Tab : 내어쓰기)
Ctrl + T 현재 커서에 있는 변수/함수에 대한 Type이 Tooltip 힌트 창에 나타남
Ctrl + Alt + T 멤버 변수/함수 목록에 대한 팝업 창이 나타남
Ctrl + Shift + T 공백/콤마/파이프/괄호 등을 기준으로 좌우 문자열을 Swap시킴
Ctrl + Shift + 8 문단기호 표시/감추기 : Tab은 ^, Space는 .으로 표시
Ctrl + D 툴바의 찾기 Editbox로 이동
Ctrl + Up/Down Arrow 커서는 고정시키고 화면만 스크롤 시키기
'Computer_IT > C++' 카테고리의 다른 글
Const Member변수 초기화 특성 (0) | 2006.04.24 |
---|---|
LinkedList 자료 (0) | 2006.04.06 |
Console - 바둑소스 (0) | 2006.02.22 |
Console Codepage 설정. (0) | 2006.02.15 |
[펌] Visual C++ Console - 사격게임 (0) | 2006.02.15 |
Jad - the fast JAva Decompiler
'Computer_IT > JAVA' 카테고리의 다른 글
예약어 super (0) | 2006.04.01 |
---|---|
멤버 변수의 상속 (0) | 2006.04.01 |
오버로딩(Overloading), 오버라이딩(Overriding) (0) | 2006.04.01 |
-- ++ 연산자 테스트 (0) | 2006.04.01 |
JAVA 기본 Data타입 (0) | 2006.04.01 |
VM Player...
Vmware workstation 에서 생성된 가상 이미지를 Acrobat Reader 처럼
이미지를 play시킬수 있다.
그러기에 FREE 다.
http://www.vmware.com/download/player/
http://download3.vmware.com/software/vmplayer/VMware-player-1.0.1-19317.exe
'Computer_IT > OS' 카테고리의 다른 글
[우분투] apt-get (0) | 2007.04.12 |
---|---|
mstsc - Remote Desktop Connection Software (0) | 2006.11.17 |
APM 에서 UTF-8 사용시 손봐야될 파일... (0) | 2006.03.10 |
무료 디버깅 툴 - ollydbg (0) | 2006.02.16 |
Linux - Vi editor (0) | 2006.02.15 |
APM 에서 UTF-8 사용시 손봐야될 파일...
1. Apache 환경파일 편집 (httpd.conf)
2. php 환경파일 편집 (php.ini)
3. mysql 환경파일 편집 (my.cnf)
4. apache, mysql 서비스 재시작
5. mysql에서 캐릭터셋 확인 및 디비생성
6. php 소스코드에 mysql_query("set names utf8;"); 함수 추가
7. php 소스에 한글문자열이 있으면 파일저장할때 UTF-8 파일형식으로 저장
8. 웹브라우즈의 보기-인코딩-UTF-8로 선택
'Computer_IT > OS' 카테고리의 다른 글
[우분투] apt-get (0) | 2007.04.12 |
---|---|
mstsc - Remote Desktop Connection Software (0) | 2006.11.17 |
VM Player... (0) | 2006.03.10 |
무료 디버깅 툴 - ollydbg (0) | 2006.02.16 |
Linux - Vi editor (0) | 2006.02.15 |
Console - 바둑소스
출처는 불분명... 어디더라??
- #include <stdio.h>
- #include <windows.h>
- #include <stdlib.h>
- #include <conio.h>
- #define LEFT '4'
- #define RIGHT '6'
- #define UP '8'
- #define DOWN '2'
- #define ENTER '5'
- #define CLEAR 0
- #define NONE 0
- #define MAPSIZE 19
- #define PLAYER1 1
- #define PLAYER2 2
- #define PLAY 1
- #define START 1
- #define END 0
- #define NO 0
- #define OK 1
- #define YES 1
- #define OKTOTALCOUNT 4
- #define FLAGTRUE 1
- #define FLAGFALSE 0
- void gotoxy(int x, int y);
- int xy[MAPSIZE][MAPSIZE];
- int map[MAPSIZE][MAPSIZE];
- int x, y, x2 = 2;
- int centerX=MAPSIZE/2, centerY=MAPSIZE/2;
- int displayX=0, displayLineY=21, displayY=22;
- char mapChar[]="┌┬┐├┼┤└┴┘";
- void clearValue() {
- int x,y;
- for(y=0;y<MAPSIZE;y++) {
- for(x=0;x<MAPSIZE;x++) {
- map[y][x]=CLEAR;
- }
- }
- }
- int IsKill(int cnt) {
- return cnt==OKTOTALCOUNT;
- }
- int TestFlag(int x,int y) {
- if(x<0 x>=MAPSIZE y<0 y>=MAPSIZE) return FLAGTRUE;
- if(map[y][x]==OK) return FLAGTRUE;
- return FLAGFALSE;
- }
- int SefeDeleteTest(int x,int y,int OtherPlayer) {
- int result;
- int cnt;
- if(x<0 x>=MAPSIZE y<0 y>=MAPSIZE) return OK;
- if(xy[y][x]==OtherPlayer) return OK;
- if(xy[y][x]==NONE) return NO;
- cnt=0;
- result=NO;
- map[y][x]=OK;
- if(TestFlag(x,y-1)==FLAGFALSE) {
- if(SefeDeleteTest(x,y-1,OtherPlayer)) {
- cnt=cnt + 1;
- }
- } else {
- cnt=cnt+1;
- }
- if(TestFlag(x-1,y)==FLAGFALSE) {
- if(SefeDeleteTest(x-1,y,OtherPlayer)) {
- cnt=cnt + 1;
- }
- } else {
- cnt=cnt+1;
- }
- if(TestFlag(x+1,y)==FLAGFALSE) {
- if(SefeDeleteTest(x+1,y,OtherPlayer)) {
- cnt=cnt + 1;
- }
- } else {
- cnt=cnt+1;
- }
- if(TestFlag(x,y+1)==FLAGFALSE) {
- if(SefeDeleteTest(x,y+1,OtherPlayer)) {
- cnt=cnt + 1;
- }
- } else {
- cnt=cnt+1;
- }
- if(IsKill(cnt)){
- result=OK;
- }
- return result;
- }
- void DolDelete(int x,int y,int OtherPlayer) {
- if(x<0 x>=MAPSIZE y<0 y>=MAPSIZE) return;
- if(xy[y][x]==OtherPlayer) return;
- if(xy[y][x]==NONE) return;
- xy[y][x]=CLEAR;
- if(x+1<MAPSIZE) DolDelete(x+1,y,OtherPlayer);
- if(x-1>=0) DolDelete(x-1,y,OtherPlayer);
- if(y+1<MAPSIZE) DolDelete(x,y+1,OtherPlayer);
- if(y-1>=0) DolDelete(x,y-1,OtherPlayer);
- }
- void RalDeleteTest(int x,int y,int OtherPlayer) {
- clearValue();
- if(SefeDeleteTest(x+1,y,OtherPlayer)==YES)
- DolDelete(x+1,y,OtherPlayer);
- clearValue();
- if(SefeDeleteTest(x-1,y,OtherPlayer)==YES)
- DolDelete(x-1,y,OtherPlayer);
- clearValue();
- if(SefeDeleteTest(x,y+1,OtherPlayer)==YES)
- DolDelete(x,y+1,OtherPlayer);
- clearValue();
- if(SefeDeleteTest(x,y-1,OtherPlayer)==YES)
- DolDelete(x,y-1,OtherPlayer);
- }
- void input(int Player) {
- char c;
- int LOOP=START;
- int OtherPlayer;
- if(Player == PLAYER1) {
- OtherPlayer = PLAYER2;
- } else {
- OtherPlayer = PLAYER1;
- }
- while(LOOP!=END){
- c = getch();
- switch(c)
- {
- case RIGHT:
- x=x+1;
- if(x >= MAPSIZE) x=x-1;
- gotoxy(x,y);
- break;
- case LEFT:
- x=x-1;
- if(x < 0 ) x=x+1;
- gotoxy(x,y);
- break;
- case UP:
- y=y-1;
- if(y < 0 ) y=y+1;
- gotoxy(x,y);
- break;
- case DOWN:
- y=y+1;
- if(y >= MAPSIZE ) y=y-1;
- gotoxy(x,y);
- break;
- case ENTER:
- if(xy[y][x] != NONE ) break;
- xy[y][x]=Player;
- RalDeleteTest(x,y,Player);
- clearValue();
- if(SefeDeleteTest(x,y,OtherPlayer)==YES){
- xy[y][x]=CLEAR;
- } else {
- LOOP = END;
- }
- }
- }
- }
- void printScreen(){
- system("cls");
- int x,y,n;
- char c[3];
- for(y=0;y<MAPSIZE;y++) {
- for(x=0;x<MAPSIZE;x++) {
- if(xy[y][x] == PLAYER1) {
- } else if(xy[y][x] == PLAYER2 ) {
- } else if(xy[y][x] == NONE ) {
- n=(x+16)/17+(y+16)/17*3;
- c[0]=mapChar[n*2];
- c[1]=mapChar[n*2+1];
- c[2]=0;
- if((x-3)%6==0 && (y-3)%6==0) {
- strcpy(c,"×");
- }
- }
- }
- }
- gotoxy(displayX,displayLineY);
- }
- int gamePlayCheck(int Player)
- {
- //승패를 가른다.
- return 1;
- }
- void InitMapData() {
- int x,y;
- for(y=0;y<MAPSIZE;y++) {
- for(x=0;x<MAPSIZE;x++) {
- xy[y][x]=CLEAR;
- }
- }
- }
- // 커서를 나타냅니다.
- void SetCursorShow(void)
- {
- HANDLE hConsole;
- hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
- CONSOLE_CURSOR_INFO ci;
- GetConsoleCursorInfo( hConsole, &ci );
- ci.dwSize=100;
- ci.bVisible = TRUE;
- SetConsoleCursorInfo( hConsole , &ci );
- }
- void main() {
- int Player=PLAYER1,GamePlayFlag=PLAY;
- InitMapData();
- SetCursorShow();
- clearValue();
- printScreen();
- x=centerX;
- y=centerY;
- while(GamePlayFlag!=END){
- gotoxy(displayX,displayY);
- gotoxy(x,y);
- input(Player);
- printScreen();
- if(Player==PLAYER1) {
- Player=PLAYER2;
- } else {
- Player=PLAYER1;
- }
- GamePlayFlag = gamePlayCheck(Player);
- }
- gotoxy(displayX,displayY);
- }
- void gotoxy(int x , int y)
- {
- COORD Pos = { x*2 , y};
- SetConsoleCursorPosition(GetStdHandle( STD_OUTPUT_HANDLE), Pos);
- }
'Computer_IT > C++' 카테고리의 다른 글
LinkedList 자료 (0) | 2006.04.06 |
---|---|
VC++ 단축키 모음 (2) | 2006.03.19 |
Console Codepage 설정. (0) | 2006.02.15 |
[펌] Visual C++ Console - 사격게임 (0) | 2006.02.15 |
Visual C++ Console 에서 TurboC clrscr 구현 (0) | 2006.02.15 |
무료 디버깅 툴 - ollydbg
'Computer_IT > OS' 카테고리의 다른 글
[우분투] apt-get (0) | 2007.04.12 |
---|---|
mstsc - Remote Desktop Connection Software (0) | 2006.11.17 |
VM Player... (0) | 2006.03.10 |
APM 에서 UTF-8 사용시 손봐야될 파일... (0) | 2006.03.10 |
Linux - Vi editor (0) | 2006.02.15 |
Linux - Vi editor
1. ": set" 으로 변경
:set ai (autoindeant)
--> 윗라인과 같이 자동으로 들려쓰기를 해 줍니다.
:set ts=4 (tabstop)
--> [tab] 키를 입력 하였을때 이동하는 크기를 조정 합니다.
(보통 "ts=4" 일때가 가장 적당한 듯 합니다.)
:set et (expandtab)
--> [tab] 키를 입력 하였을때 tab에 대당하는 space 만큼 이동 됩니다.
(Python 언어 코딩 할때 매우 편리 합니다.)
:set si
--> 코딩 할때 if, for 같은 것을 입력 하고 다음 라인으로 이동시 들려쓰기를 해줍니다.
:set sw=4 (shiftwidth)
--> "set si" 했을 경우 들려쓰기 하는 깊이를 설정 합니다.
:set encoding=cp949 or utf-8
--> 작업 하는 컴퓨터 또는 개발 언어에서 기본 인코딩 타입을 설정 할 수 있습니다.
[참고]
* 알고 있겠지만 모든 명령의 취소는 no를 앞에 붙여 주시면 됩니다. 예) :set noai
* 항상 같은 설정이 되도록 하려면 UNIX는 홈디렉토리 아래에 .vimrc 에 넣어 주시구요
windows 는 vim 설치 디렉토리에 _vimrc 파일에 넣어 주시면 됩니다.
예)
set ts=4
set si
set ai
set sw=4
set encoding=cp494
2. vi 편집 작업시
1) 화면 스크롤
^F : 한 화면 앞으로 스크롤
^B : 한 화면 뒤로 스크롤
^D : 반 화면 앞으로 스크롤
^U : 반 화면 뒤로 스크롤
^E : 한줄 앞으로 스크롤
^Y : 한줄 뒤로 스크롤
H : 화면의 맨 윗줄로
M : 화면의 중간 줄로
I : 화면의 맨 아랫줄로
2) 화면 나누기
: vs 수직으로 나눔
: sp 스평으로 나눔
* 화면간 이동은 ^ww
3) 마크 이동
m[a~z] --> 현재의 위치를 기록
'[a~z] --> 기록한 위치로 이동
4) 접기
V 로 블럭 설정을 한후에 'zf' 하면 접힘
'zo' 를 하면 다시 펴짐
5) 함수/변수명 자동 완성
호출 하고자 하는 변수명이나 함수명의 앞글자만 쓰고서 ^p 를 입력 하면 자동 완성 됨
6) 잠시 쉘로 나가기
^z, 들어 올때는 fg
'Computer_IT > OS' 카테고리의 다른 글
[우분투] apt-get (0) | 2007.04.12 |
---|---|
mstsc - Remote Desktop Connection Software (0) | 2006.11.17 |
VM Player... (0) | 2006.03.10 |
APM 에서 UTF-8 사용시 손봐야될 파일... (0) | 2006.03.10 |
무료 디버깅 툴 - ollydbg (0) | 2006.02.16 |
Console Codepage 설정.
BOOL SetConsoleCP(
UINT wCodePageID // code page to set
);
[/HTML][/CODE]
'Computer_IT > C++' 카테고리의 다른 글
VC++ 단축키 모음 (2) | 2006.03.19 |
---|---|
Console - 바둑소스 (0) | 2006.02.22 |
[펌] Visual C++ Console - 사격게임 (0) | 2006.02.15 |
Visual C++ Console 에서 TurboC clrscr 구현 (0) | 2006.02.15 |
Visual C++ Console에서 TurboC gotoxy구현 (0) | 2006.02.15 |
[펌] Visual C++ Console - 사격게임
- #include < stdio.h >
- #include < time.h >
- #include < conio.h >
- #include < stdlib.h >
- #include < windows.h >
- /*
- * < 사격게임 >
- *
- * 호환성
- * 이 프로그램은 Borland C++ 5.5 에서 컴파일하고 시험되었습니다.
- *
- * 게임설명
- * 사격장은 각각 하나씩의 화살을 포함하고 있는 아홉개의 레인으로 만들어져 있습니다.
- * 프로그램이 시작되면 레인의 오른쪽에 한개의 타겟(X)이 나타납니다.
- * 당신의 과제는 화살들 중의 하나로 타겟을 맞추는 것 입니다.
- * 화살을 쏘려면 레인 번호를 누르면 됩니다.
- * 25개의 타겟이 나타난 후에, 게임은 끝나고, 최종점수가 출력됩니다.
- *
- * 난이도 변경하기
- * 난이도를 변경하려면 ShootArrow(int)함수의 두번째 for루프를 변경해서 화살의 속도를 변경하면 됩니다.
- * 화살이 천천히 나갈수록 맞추기까지의 시간을 소비하므로 난이도는 높아집니다.
- * PlayGame(void)함수의 TIME_LIMIT값을 2초로 맞추어 놓았기 때문에
- * 화살이 발사되는데 2초가 걸린다면 게임이 안되죠. 역시 제한시간도 마음대로 수정하세요.
- */
- #define true 1
- #define false 0
- typedef int bool;
- void ShowScore(int);
- int PlayGame(void);
- void EraseTarget(int);
- void ShootArrow(int);
- int ShowTarget(void);
- void DrawScreen(void);
- void gotoxy(int x, int y);
- void clrscr(void);
- int main(void) {
- int score;
- srand((unsigned) time(NULL));
- DrawScreen();
- score = PlayGame();
- ShowScore(score);
- return 0;
- }
- void DrawScreen(void) {
- int x;
- clrscr();
- gotoxy(20, 11);
- getch();
- clrscr();
- for (x = 1; x <= 10; x++) { // 루프는 한번에 한 개의 헤인벽과 한개의 화살을 그린다.
- gotoxy(1, x * 2 + 2);
- if (x < 10) {
- gotoxy(1, x * 2 + 3);
- }
- }
- }
- void EraseTarget(int target_position) {
- gotoxy(60, target_position * 2 + 3);
- }
- int PlayGame(void) {
- int score = 0;
- int target_position;
- long start_time;
- bool shot_fired;
- int num; // 값으로 저장하는 숫자키
- const int TIME_LIMIT = 2; // 한 타겟당 제한시간 2초
- int x;
- for (x = 1; x <= 20; x++) { // 이 루프는 25개의 타겟을 부여한다.
- target_position = ShowTarget();
- start_time = time(NULL); // 여기에서 시작시간이 저장된다.
- shot_fired = false;
- // 제한시간과 남은 화살개수를 알려줌
- gotoxy(44, 2);
- gotoxy(10, 2);
- do { // 선수가 사격을 할 때까지 키 입력을 기다린다.
- num = getch() - '0';
- if (num >= 1 && num <= 9) {
- ShootArrow(num);
- shot_fired = true;
- }
- } while (!shot_fired);
- // 시간 안에(2초) 타겟을 맞추었을 때 실행된다.
- if ((time(NULL) < start_time + TIME_LIMIT) && num == target_position) {
- putchar('\a');
- ++score;
- }
- EraseTarget(target_position);
- }
- return score;
- }
- void ShootArrow(int a) { // 파라미터 a는 발사한 화살의 번호
- int x;
- long delay;
- for (x = 4; x <= 60; x++) {
- gotoxy(x, a * 2 + 3); // 루프의 매 회마다 화살을 1문자씩 오른쪽으로 움직인다.
- for (delay = 0; delay < 3999999; delay++) // 이 코드로 화살의 속도조절을 한다. 시스템의 성능에 따라 다르다.
- continue;
- gotoxy(x, a * 2 + 3);
- }
- gotoxy(4, a * 2 + 3);
- }
- void ShowScore(int score) {
- gotoxy(60, 20);
- gotoxy(60, 21);
- gotoxy(60, 22);
- }
- int ShowTarget(void) {
- int p = rand() % 9 + 1; // 이 난수는 타겟이 나타날 레인번호이다. 1 ~ 9
- gotoxy(60, p * 2 + 3);
- return p;
- }
- void gotoxy(int x, int y)
- {
- COORD pos={x,y};
- SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
- }
- void clrscr(void)
- {
- COORD Cur= {0,0 };
- unsigned long dwLen;
- FillConsoleOutputCharacter(GetStdHandle(STD_OUTPUT_HANDLE) , ' ', 80*25, Cur, &dwLen);
- }
'Computer_IT > C++' 카테고리의 다른 글
Console - 바둑소스 (0) | 2006.02.22 |
---|---|
Console Codepage 설정. (0) | 2006.02.15 |
Visual C++ Console 에서 TurboC clrscr 구현 (0) | 2006.02.15 |
Visual C++ Console에서 TurboC gotoxy구현 (0) | 2006.02.15 |
Compiler ... (0) | 2006.02.14 |
Visual C++ Console 에서 TurboC clrscr 구현
void clrscr(void)
{
COORD Cur= {0,0 };
unsigned long dwLen;
FillConsoleOutputCharacter(GetStdHandle(STD_OUTPUT_HANDLE) , ' ', 80*25, Cur, &dwLen);
}
[/HTML][/CODE]
화면 모두 지우기
'Computer_IT > C++' 카테고리의 다른 글
Console Codepage 설정. (0) | 2006.02.15 |
---|---|
[펌] Visual C++ Console - 사격게임 (0) | 2006.02.15 |
Visual C++ Console에서 TurboC gotoxy구현 (0) | 2006.02.15 |
Compiler ... (0) | 2006.02.14 |
확장열(Escape Sequence) 표기 (0) | 2006.02.14 |
Visual C++ Console에서 TurboC gotoxy구현
[CODE type="c"]
void gotoxy(int x, int y)
{
COORD pos={x,y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
}
[/HTML][/CODE]
'Computer_IT > C++' 카테고리의 다른 글
[펌] Visual C++ Console - 사격게임 (0) | 2006.02.15 |
---|---|
Visual C++ Console 에서 TurboC clrscr 구현 (0) | 2006.02.15 |
Compiler ... (0) | 2006.02.14 |
확장열(Escape Sequence) 표기 (0) | 2006.02.14 |
Console Windows창 Title 바꾸기 (0) | 2006.02.14 |
Compiler ...
[CODE]
#pragma comment(lib, "mylib.lib")
#pragma comment(lib, "winmm.lib")
[/CODE]
컴파일시 lib파일 포함...
'Computer_IT > C++' 카테고리의 다른 글
Visual C++ Console 에서 TurboC clrscr 구현 (0) | 2006.02.15 |
---|---|
Visual C++ Console에서 TurboC gotoxy구현 (0) | 2006.02.15 |
확장열(Escape Sequence) 표기 (0) | 2006.02.14 |
Console Windows창 Title 바꾸기 (0) | 2006.02.14 |
Console 환경 전용 API 함수 (0) | 2006.02.14 |
확장열(Escape Sequence) 표기
[CODE type="c"]
\a 0x07 벨 소리
\b 0x08 백 스페이스
\t 0x09 탭
\n 0x0a 개행
\x## 0x## 16진 코드
\### 0### 8진 코드
\\ 0x5c 백슬레쉬
\' 0x27 홑따옴표
\" 0x22 겹따옴표
\? 0x3f 물음표
[/HTML][/CODE]
'Computer_IT > C++' 카테고리의 다른 글
Visual C++ Console에서 TurboC gotoxy구현 (0) | 2006.02.15 |
---|---|
Compiler ... (0) | 2006.02.14 |
Console Windows창 Title 바꾸기 (0) | 2006.02.14 |
Console 환경 전용 API 함수 (0) | 2006.02.14 |
#define, #ifdef, #endif (0) | 2006.02.14 |
Console Windows창 Title 바꾸기
[CODE type="c"]
#include < windows.h >
void main()
{
SetConsoleTitle("ConsoleProgram"); // Console창의 Title 명을 바꾼다.
}
[/HTML][/CODE]
'Computer_IT > C++' 카테고리의 다른 글
Compiler ... (0) | 2006.02.14 |
---|---|
확장열(Escape Sequence) 표기 (0) | 2006.02.14 |
Console 환경 전용 API 함수 (0) | 2006.02.14 |
#define, #ifdef, #endif (0) | 2006.02.14 |
VC++ Error, Warning 목록 (0) | 2006.02.14 |
Console 환경 전용 API 함수
AllocConsole
CreateConsoleScreenBuffer
FillConsoleOutputAttribute
FillConsoleOutputCharacter
FlushConsoleInputBuffer
FreeConsole
GenerateConsoleCtrlEvent
GetConsoleCP
GetConsoleCursorInfo
GetConsoleMode
GetConsoleOutputCP
GetConsoleScreenBufferInfo
GetConsoleTitle
GetLargestConsoleWindowSize
GetNumberOfConsoleInputEvents
GetNumberOfConsoleMouseButtons
GetStdHandle
HandlerRoutine
PeekConsoleInput
ReadConsole
ReadConsoleInput
ReadConsoleOutput
ReadConsoleOutputAttribute
ReadConsoleOutputCharacter
ScrollConsoleScreenBuffer
SetConsoleActiveScreenBuffer
SetConsoleCP
SetConsoleCtrlHandler
SetConsoleCursorInfo
SetConsoleCursorPosition
SetConsoleMode
SetConsoleOutputCP
SetConsoleScreenBufferSize
SetConsoleTextAttribute
SetConsoleTitle
SetConsoleWindowInfo
SetStdHandle
WriteConsole
WriteConsoleInput
WriteConsoleOutput
WriteConsoleOutputAttribute
WriteConsoleOutputCharacter
[/HTML][/CODE]
'Computer_IT > C++' 카테고리의 다른 글
확장열(Escape Sequence) 표기 (0) | 2006.02.14 |
---|---|
Console Windows창 Title 바꾸기 (0) | 2006.02.14 |
#define, #ifdef, #endif (0) | 2006.02.14 |
VC++ Error, Warning 목록 (0) | 2006.02.14 |
Pointer(포인터)를 이용해 문자열 길이 반환 (0) | 2006.02.14 |