336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

#include <stdio.h>

void printArr(int *x, int size);

void sortArr(int *x, int size);

int main( )

{

    int arr[10] = { 1503, 2420, 11350, 3110, 20

        ,153, 220, 350, 34110, 2011 };

    printArr(arr, 10);

    sortArr(arr, 10);

    printArr(arr, 10);

    return 0;

}

void printArr(int *x, int size)

{

    int i;

    printf("printArr==\n");

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

    {

        printf("%d\n", x[i]);

    }

}  

 

void sortArr(int *x, int size)

{

    int temp, i, j;

 

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

    {

        for( j = i+1 ; j < size ; j++ )

        {

            if( x[i] < x[j] )

            {

                temp = x[i];

                x[i] = x[j];

                x[j] = temp;

            }

        }

    }

}

 

'Programming > C,CPP,CS' 카테고리의 다른 글

C 언어 방향키 입력활용  (0) 2014.05.03
cpp  (0) 2014.05.03
C 선택, 버블 정렬 함수  (0) 2014.04.12
C 언어 반복문 실습 과제  (0) 2014.03.22
CPP 객체지향 핵심이롬  (0) 2014.03.09

C 선택, 버블 정렬 함수

Programming/C,CPP,CS 2014. 4. 12. 15:53 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

선택 정렬 ========

void sortArr(int *x)

{

    int smaller;

    int smallIndex;

    int temp, i, j;

 

    for( j = 0 ; j < 5 - 1 ; j++ )

    {

        smaller = x[j];

        smallIndex = j;

        for( i = j+1; i < 5 ; i++)

        {

            if ( smaller > x[i] )

            {

                smaller = x[i];     smallIndex = i;

            }

        }

        temp = x[j];

        x[j] = x[smallIndex];

        x[smallIndex] = temp;

    }

}

버블 정렬 ===============

 

void sortArr(int *x)

{

    int i, temp, j;

    for(j = 1; j < 5 ; j++)

    {

        for( i = 0 ; i < 5-j ; i++ )

        {

            if ( x[i] > x[i+1] )

            {

                temp = x[i];

                x[i] = x[i+1];

                x[i+1] = temp;

            }

        }

    }

}

'Programming > C,CPP,CS' 카테고리의 다른 글

cpp  (0) 2014.05.03
C 정렬함수 인자 주소값, 사이즈  (0) 2014.04.12
C 언어 반복문 실습 과제  (0) 2014.03.22
CPP 객체지향 핵심이롬  (0) 2014.03.09
아두이노와 연계한 CPP 시리얼 통신 응용  (0) 2014.03.08

C 언어 반복문 실습 과제

Programming/C,CPP,CS 2014. 3. 22. 14:34 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

C 언어 반복문 실습 과제



C 반복문 과제.docx



1. (,나머지)

세자리 정수를 입력 받아

각 자리의 수를 따로 출력하시오.

 

ex)

입력 : 523

출력 :

 

백의 자리 : 5

십의 자리 : 2

일의 자리 : 3

 

int main()

{

           int inputNumber;

           int num1=0,num2=0,num3=0;

           // TODO : 변수 생성

 

           printf("입력 : ");

           scanf("%d", &inputNumber);

 

           // TODO : num1,num2,num3 연산

 

           printf("출력 : ");

           printf("백의 자리 : %d\n", num1);

           printf("십의 자리 : %d\n", num2);

           printf("일의 자리 : %d\n", num3);

 

 

 

2. 세자리 십진수를 받아서 각 자리수가 짝수인지 홀수인지 구분하여 출력하시오.

실행 예)

step1) 세자리 십진수 입력 :

step1) 세자리 십진수 입력 : 456

           4 : 짝수 5 : 홀수 6 : 짝수

 

...

...

printf("세자리 십진수 입력:");

scanf("%d", &num);

...

...

...

 

 

3. 0~100 까지의 수 중에서 홀수만 출력하는 프로그램을 작성하시오.

실행예)

1

3

5

7

9

...

...

97

99

           return 0;

}

 

4. 1~100 까지의 소수 출력

 

2         3         5         7

11        13        17        19

 

5. 1~ 입력한 수까지의 소수 출력

 

6. 반복문과 제어문을 이용하여

 ex) 3 입력시

           *         1

           **        2

           ***       3

7.

 ex) 3입력시

             *       1

            ***      2

           *****     3

8.

 ex) 3입력시

             *       1

            ***      2

           *****     3

            ***      2

             *       1

 

 

9. 0이 입력될 때까지 계속 정수를 입력 받고, 입력된 모든 숫자들의 총합을 출력하시오.

 

 

 

10. 1부터 9사이의 숫자 하나를 입력 받아 그 숫자의 구구단을 출력하는 프로그램을 작성하시오.(5이면 5단을 출력)

 

 

10. 위의 문제에서 1부터 9사이 이외의 숫자를 사용자가 잘못 입력할 수도 있으니, 이 경우에 잘못된 숫자라는 것을 알려주는 에러 메시지를 출력하고 다시 숫자를 입력 받도록 처리하시오.(입력의 유효성 검사)

 

 

11. 소수(prime-number) 검사와 흡사하게 사용자가 입력한 수의 인수들을 모두 출력하는 프로그램을 작성하시오.

8 => 2 4

12 => 2 3 4 6

 

 

 

12. 달력 문제

 

12.1 년도를 입력 받아 해당 년도가 윤년인지 평년인지를 출력하시오.

 

 

12.2 , 월을 입력 받아 해당 월의 총 일수를 출력하시오.

 

Ex) 2014 3

출력 : 2014 3월은 총 31일 입니다.

2014 2

출력 : 20142월은 총 28일 입니다.

 

12.3 년도를 입력 받아 해당 년도 1 1일이 무슨 요일인지 출력하시오.

 

12.4 , 월을 입력 받아 해당 월 1일이 무슨 요일인지 출력하시오.

 

12.5 달력을 출력하시오.

 

 

입력예)

년도 : 2012

   : 3

           3

일 월 화 수 목 금 토

   1  2  3  4  5  6

7  8  9 10 11 12 13

...

30

13. 10진수를 입력 받아 2진수로 출력하시오.

(, 0~ 15까지 처리되도록 작성하시오.)

Ex) 6

0 1 1 0

CPP 객체지향 핵심이롬

Programming/C,CPP,CS 2014. 3. 9. 15:22 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

1. 왜 객체지향이 더 좋은지?
2. 객체와 클래스 뭐가 다른지?
3. 객체를 추상화 ex) 강아지
4. 객체지향의 캡슐화 설명
5. 객체지향의 캡슐화의 장점   왜 캡슐화를 쓰는지?
6. 객제지향의 상속 설명
7. 객체지향의 상속의 장점      왜 상속을 쓰는지?
8. 생성자 함수는 언제 불리는가?

'Programming > C,CPP,CS' 카테고리의 다른 글

C 선택, 버블 정렬 함수  (0) 2014.04.12
C 언어 반복문 실습 과제  (0) 2014.03.22
아두이노와 연계한 CPP 시리얼 통신 응용  (0) 2014.03.08
CString Convert 변환  (0) 2014.03.08
MFC 시리얼 통신 클래스  (0) 2014.03.08
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

아두이노와 연계한 CPP 시리얼 통신 응용



SerialDataToExcel.rar


SerialDataToVisual.rar


'Programming > C,CPP,CS' 카테고리의 다른 글

C 언어 반복문 실습 과제  (0) 2014.03.22
CPP 객체지향 핵심이롬  (0) 2014.03.09
CString Convert 변환  (0) 2014.03.08
MFC 시리얼 통신 클래스  (0) 2014.03.08
아두이노 & CPP 시리얼 통신 연동  (0) 2014.03.02

CString Convert 변환

Programming/C,CPP,CS 2014. 3. 8. 16:01 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

// CString -> int convert

CString strNum = _T("5");

int nNum = _ttoi(strNum);

int nNum = atoi(strNum);

// int -> CString convert

int nNum = 5;

CString strNum;

strNum.Format(_T("%d"), nNum);


// CString -> double

CString strNum = _T("5.5");

double nNum = _wtof(strNum);

double nNum =  atof(strNum);


// double -> CString

double nNum = 5.5;

CString strNum;

strNum.Format(_T("%f"), nNum);




MFC 시리얼 통신 클래스

Programming/C,CPP,CS 2014. 3. 8. 15:39 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

컴퓨터에서 시리얼 통신을 하려면 보통 터미널 프로그램을 사용하게 됩니다.

하지만 이 경우 용도가 매우 제한 되고 활용도가 떨어지죠.

이 시점에서 보통 Visual C++ MFC나 Visual Basic 쪽으로 눈을 돌려보게 되는데, 많은 DLL 파일들이나 프레임워크를 동반해야 되는 VB 프로젝트는 왠지 맘에 안들더군요. 

시리얼 통신 클래스는 하나 포스트해 두려고 합니다.

이 클래스는 몇년전에 인터넷 어디에서 구한 소스인데 프로젝트의 중요한 부분을 손데거나 클래스 내부에서 사용되는 변수들이 프로젝트 밖에 선언되어있는 경우가 있어서 나름 제 방식데로 수정한 버전입니다.

현재 컴퓨터에 연결된 컴포트를 검색해 주는 함수도 하나 추가했구요. 출처가 기억이 안나서 출처를 쓸 수가 없네요;; 


첨부된 Readme.txt 파일을 참고해서 사용하시면 되겠습니다. 

위 파일은 이 클래스를 이용해 만들어 본 시리얼 통신 체팅 입니다. 컴두대를 이용해서 확인해보셔도 되고, 루프백 이용해서 확인해 보셔도 됩니다. 
Visual Studio 2010 Pro 에서 컴파일 되었습니다.




출처 : http://magicom9.tistory.com/54


'Programming > C,CPP,CS' 카테고리의 다른 글

아두이노와 연계한 CPP 시리얼 통신 응용  (0) 2014.03.08
CString Convert 변환  (0) 2014.03.08
아두이노 & CPP 시리얼 통신 연동  (0) 2014.03.02
아두이노 기본 세팅  (0) 2014.03.02
CPP 연산자 오버로딩  (0) 2014.01.16

이클립스 라인넘버 표시

Programming/JAVA,JSP 2014. 3. 7. 23:17 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

이클립스 라인넘버 표시




'Programming > JAVA,JSP' 카테고리의 다른 글

Java 선택 정렬 알고리즘 구현  (0) 2014.06.14
String to int, int to String  (0) 2014.06.07
JAVA 채팅 프로그램 export zip  (1) 2014.01.24
JAVA DML  (0) 2014.01.22
JAVA 채팅 프로그램  (0) 2014.01.21

Android APK 추출 툴

Programming/Android 2014. 3. 7. 22:06 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

Android APK 추출 툴



336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

아두이노 & CPP 연동


출처 : http://playground.arduino.cc/Interfacing/CPPWindows#.UxLbvuN_uSo




SerialClass.h

#ifndef SERIALCLASS_H_INCLUDED
#define SERIALCLASS_H_INCLUDED

#define ARDUINO_WAIT_TIME 2000

#include 
#include 
#include 

class Serial
{
    private:
        //Serial comm handler
        HANDLE hSerial;
        //Connection status
        bool connected;
        //Get various information about the connection
        COMSTAT status;
        //Keep track of last error
        DWORD errors;

    public:
        //Initialize Serial communication with the given COM port
        Serial(char *portName);
        //Close the connection
        //NOTA: for some reason you can't connect again before exiting
        //the program and running it again
        ~Serial();
        //Read data in a buffer, if nbChar is greater than the
        //maximum number of bytes available, it will return only the
        //bytes available. The function return -1 when nothing could
        //be read, the number of bytes actually read.
        int ReadData(char *buffer, unsigned int nbChar);
        //Writes data from a buffer through the Serial connection
        //return true on success.
        bool WriteData(char *buffer, unsigned int nbChar);
        //Check if we are actually connected
        bool IsConnected();


};

#endif // SERIALCLASS_H_INCLUDED
SerialClass.cpp
#include "SerialClass.h"

Serial::Serial(char *portName)
{
    //We're not yet connected
    this->connected = false;

    //Try to connect to the given port throuh CreateFile
    this->hSerial = CreateFile(portName,
            GENERIC_READ ,
            0,
            NULL,
            OPEN_EXISTING,
            FILE_ATTRIBUTE_NORMAL,
            NULL);

    //Check if the connection was successfull
    if(this->hSerial==INVALID_HANDLE_VALUE)
    {
        //If not success full display an Error
        if(GetLastError()==ERROR_FILE_NOT_FOUND){

            //Print Error if neccessary
            printf("ERROR: Handle was not attached. Reason: %s not available.\n", portName);

        }
        else
        {
            printf("ERROR!!!");
        }
    }
    else
    {
        //If connected we try to set the comm parameters
        DCB dcbSerialParams = {0};

        //Try to get the current
        if (!GetCommState(this->hSerial, &dcbSerialParams))
        {
            //If impossible, show an error
            printf("failed to get current serial parameters!");
        }
        else
        {
            //Define serial connection parameters for the arduino board
            dcbSerialParams.BaudRate=CBR_9600;
            dcbSerialParams.ByteSize=8;
            dcbSerialParams.StopBits=ONESTOPBIT;
            dcbSerialParams.Parity=NOPARITY;

             //Set the parameters and check for their proper application
             if(!SetCommState(hSerial, &dcbSerialParams))
             {
                printf("ALERT: Could not set Serial Port parameters");
             }
             else
             {
                 //If everything went fine we're connected
                 this->connected = true;
                 //We wait 2s as the arduino board will be reseting
                 Sleep(ARDUINO_WAIT_TIME);
             }
        }
    }

}

Serial::~Serial()
{
    //Check if we are connected before trying to disconnect
    if(this->connected)
    {
        //We're no longer connected
        this->connected = false;
        //Close the serial handler
        CloseHandle(this->hSerial);
    }
}

int Serial::ReadData(char *buffer, unsigned int nbChar)
{
    //Number of bytes we'll have read
    DWORD bytesRead;
    //Number of bytes we'll really ask to read
    unsigned int toRead;

    //Use the ClearCommError function to get status info on the Serial port
    ClearCommError(this->hSerial, &this->errors, &this->status);

    //Check if there is something to read
    if(this->status.cbInQue>0)
    {
        //If there is we check if there is enough data to read the required number
        //of characters, if not we'll read only the available characters to prevent
        //locking of the application.
        if(this->status.cbInQue>nbChar)
        {
            toRead = nbChar;
        }
        else
        {
            toRead = this->status.cbInQue;
        }

        //Try to read the require number of chars, and return the number of read bytes on success
        if(ReadFile(this->hSerial, buffer, toRead, &bytesRead, NULL) && bytesRead != 0)
        {
            return bytesRead;
        }

    }

    //If nothing has been read, or that an error was detected return -1
    return -1;

}


bool Serial::WriteData(char *buffer, unsigned int nbChar)
{
    DWORD bytesSend;

    //Try to write the buffer on the Serial port
    if(!WriteFile(this->hSerial, (void *)buffer, nbChar, &bytesSend, 0))
    {
        //In case it don't work get comm error and return false
        ClearCommError(this->hSerial, &this->errors, &this->status);

        return false;
    }
    else
        return true;
}

bool Serial::IsConnected()
{
    //Simply return the connection status
    return this->connected;
}
main.cpp
#include 
#include 
#include "SerialClass.h"	// Library described above
#include 

// application reads from the specified serial port and reports the collected data
int main(int argc, _TCHAR* argv[])
{
	printf("Welcome to the serial test app!\n\n");

	Serial* SP = new Serial("\\\\.\\COM3");    // adjust as needed

	if (SP->IsConnected())
		printf("We're connected");

	char incomingData[256] = "";			// don't forget to pre-allocate memory
	//printf("%s\n",incomingData);
	int dataLength = 256;
	int readResult = 0;
	FILE *f;
	f = fopen("TempData.txt","w");

	while(SP->IsConnected())
	{
		readResult = SP->ReadData(incomingData,dataLength);
		//		printf("Bytes read: (-1 means no data available) %i\n",readResult);

		std::string test(incomingData);

		printf("%s",incomingData);

		char* token = strtok(incomingData, " ");
		while (token!=NULL) {
			fprintf(f,"\t%s",token);
			token = strtok(NULL, " ");
		}
		
		// strtok // token
		test = "";

		Sleep(1000);
	}
	fclose(f);
	return 0;
}

'Programming > C,CPP,CS' 카테고리의 다른 글

CString Convert 변환  (0) 2014.03.08
MFC 시리얼 통신 클래스  (0) 2014.03.08
아두이노 기본 세팅  (0) 2014.03.02
CPP 연산자 오버로딩  (0) 2014.01.16
CPP 연산자 오버로딩  (0) 2014.01.16