본문 바로가기

Programming/C&C++&C#

(17)
[C언어]scanf 사용시 버퍼 비우기 버퍼 비우기scanf 사용 시 버퍼에 데이터가 남을 수 있다. 아래 방법을 통해 버퍼를 비울 수 있다. void myflush(void) // 입력 버퍼 비우기 함수{ while (getchar() != '\n');}
[Linux] C++ 자료형 C++ 자료형
[C++] C++ singleton 패턴 LNK2001 에러 간만에 C++로 플젝 할 일이 있어서 간편(?)하게 싱글톤을 사용해서 작업하는데 에러가 발생했습니다~~ 문법상 전혀 문제가 없었다고 생각했는데... 이게 C++에서는 클래스 처리 방식이 달라 에러가 발생하더군요.... 까먹지 않기 위해서 적어둡니다..... 일반적인 싱글톤 클래스입니다. Main 함수에서 GetInstance 함수로 호출을 딱 하는데~! LNK2001 에러가 발생하면...... 클래스 밖에서 static 변수를 NULL로 초기화 해주세요~~ 위의 경우는 클래스의 해더파일에서 해준것이구요~ 아니면 Cpp 파일에서 해주어도 됩니다~~~~ 후아... 이게 자바랑은 다르더군요 ㅠㅠㅠㅠ ㅎㅎㅎㅎㅎㅎㅎ
[C++] C++ 다이아몬드 만들기 간단한 다이아몬드 만들기... 홀수를 입력 받아서 다이몬드를 출력함. 짝수 또는 다른 문자가 들어오면 다시 입력 받는다. #include using namespace std; int main(void){int level;do{coutlevel;if( cin.fail() == true){level = 0;cin.clear();cin.ignore();}}while(level%2 != 1);for(int i = level / 2 ; i>=0 ; i--){for(int k = 0 ; k < i ; k++)printf(" ");for(int j = 0 ; j< level-(i*2); j++)printf("*");printf("\n");} for(int i = 1 ; i
[C언어] 문자, 문자열 입력 C언어에서 문자, 문자열을 입력받을때에는 scanf() ,gets()를 주로 사용한다. 이 함수들 사용에 대해 정리하자. ▶ scanf()- scanf 함수는 처음 데이터를 입력 받을때 많이 사용한다. 하지만 이놈은 사용법이 매우 까다롭다. 어떤점에서 까다롭다고 하냐면 이놈은 입력받을때 형식을 100% 일치시켜 주어야한다. scanf("%d---%s---%c",num, str, ch);위와 같은 형식이 되어있다면 입력할때 단순히 입력 받을 3가지 변수만 적으면 되는것이 아니라 위와같이 3---asdf---T 와 같은 형태로 완벽히 맞춰 주어야한다. 그러지않는다면 제데로된 결과값을 기대할 수 없다. 이처럼 띄어쓰기 하나까지도 완전히 맞춰주어야 한다.
[C언어] 주소록 linked list + file I/O #include #include #include #define MAX_NAME 50#define TRUE 1 typedef struct node *NodePointer;typedef struct node {int age;char name[MAX_NAME];NodePointer link;} Node; int count = 0; void read_Node(NodePointer* );void save_Node(NodePointer); void Make_Node(NodePointer *,int ,char * );void Print_Node(NodePointer );void Fine_Node(NodePointer );void delete_Node(NodePointer* ); int main( void ){ int..
[C언어] 간단한 주소록 만들기를 링크드리스트로 구현 #include #include #include #define MAX_NAME 50#define TRUE 1 typedef struct node *NodePointer;typedef struct node {int age;char name[MAX_NAME];NodePointer link;} Node; void Make_Node(NodePointer );void Print_Node(NodePointer );void Fine_Node(NodePointer );void delete_Node(NodePointer); int main( void ){int i,j;int nember; NodePointer head = NULL;NodePointer temp = head; while(TRUE){printf("1) 입력..
[C++] 참조자 참조자 C언어에서는 하나의 메모리 공간에 하나의 이름을 지정하여 사용하였지만 C++에선 이러한 이름을 여러개 저 정하여 사용할 수 있다. int num1 = 10;int &num2 = num1; 처럼 사용하면 num1의 메모리를 사용할때에 num2을 이용하여서도 메모리 접근을 할 수 있다.보면 &연산자를 이용하여 사용하고 있는데 주의해서 보아야 할 점은 &연산자의 위치이다.보통 &연산자를 포인터를 사용할때 많이 사용하지만 그것과 위치가 반대인것을 주의해서 보아야한다. 그리고 아래와 같이도 사용이 가능하다. int num1 = 10;int &num2 = num1;int &num3 = num2;int &num4 = num1; 이처럼 사용해도 num1의 하나의 메모리에 이름을 여러가지로 사용가능하다. ※불가능..