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

#include <iostream>

#include <string>

using namespace std;

 

int main()

{

    string str;

    string tempStr[10];

    int tempStrSeq = 0;

    int tempStrCount[10] = {0};

    int start = 0, many = 0;

    getline(cin, str, '\n');

    for( int i = 0 ; i < str.length() ; i++ )

    {

        if( str.at(i) == ' ' || str.at(i) == ',' || str.at(i) == '.' )

        {

            if( many != 0)

            {

                cout << str.substr(start,many) << endl;

                int flag = 0;

                for( int j = 0 ; j < tempStrSeq + 1 ; j++ )

                {

                    if( tempStr[j].compare(str.substr(start,many)) == 0 )

                    {

                        flag++;

                        tempStrCount[j]++;

                    }

                    else

                    {

                        // 같지않다면

                    }

                }

                if( flag == 0)

                {

                    tempStr[tempStrSeq] = str.substr(start,many);

                    tempStrCount[tempStrSeq]++;

                    tempStrSeq++;

                }

                cout << "s : "<< start << "m : " << many << endl;

                many = 0;

            }

            start = i+1;

        }

        else

        {

            many++;

        }

    }

    if( many != 0)

    {

        cout << str.substr(start,many) << endl;

        int flag = 0;

        for( int j = 0 ; j < tempStrSeq + 1 ; j++ )

        {

           if( tempStr[j].compare(str.substr(start,many)) == 0 )

            {

                flag++;

                tempStrCount[j]++;

            }

            else

            {

                // 같지않다면

            }

        }

        if( flag == 0)

        {

            tempStr[tempStrSeq] = str.substr(start,many);

            tempStrSeq++;

            tempStrCount[tempStrSeq]++;

        }

        cout << "s : "<< start << "m : " << many << endl;

    }

 

    // TODO: 계산

 

    for( int i = 0 ; i < 10 ; i++ )

    {

        cout << tempStr[i] ;

        cout << " " << tempStrCount[i] << endl;

    }

}

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

아스키코드표  (0) 2013.05.02
프로그래밍용으로 좋은 폰트  (0) 2013.03.23
CPP string 줄단위 입력  (0) 2013.01.26
링크드리스트 학생관리  (0) 2013.01.19
C언어 달력소스코드  (0) 2013.01.13

CPP string 줄단위 입력

Programming/C,CPP,CS 2013. 1. 26. 15:48 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
CPP string 줄단위 입력


 string str;
 getline(cin, str, '\n');

 

 

링크드리스트 학생관리

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

#include <iostream>

#include <stdio.h>

using namespace std;


typedef struct student_t

{

int lan;

int eng;

int mat;

struct student_t* p;

}student_t;

student_t* makeStudent()

{

student_t* curr = (student_t*)malloc(sizeof(student_t));

cin >> curr->lan;

cin >> curr->eng;

cin >> curr->mat;

curr->p = NULL;

return curr;

}

int main()

{

student_t* head;

student_t* temp;

int stuSum[1];

int lecSum[3] = {0};

int totalSum = 0;

int i, j, k;

head = (student_t*)malloc(sizeof(student_t));

head->p = NULL;

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

{


temp = head;

while( temp->p != NULL )

{

temp = temp->p;

}

temp->p = makeStudent();


cout << "계속 하시겠습니까? (y/n): " ;

char mode;

cin >> mode;

if( mode == 'n')

{

break;

}

}

cout << "결과 출력 ===================" << endl;

printf("%3s %4s %4s %4s\n", "번호" , "국어" , 

"영어" , "수학" );

temp = head->p;

i = 0;

while( temp != NULL )

{

lecSum[0] = temp->lan;

lecSum[1] = temp->eng;

lecSum[2] = temp->mat;

printf("%3d %4d %4d %4d\n", i+1 , temp->lan , 

temp->eng , temp->mat );

temp = temp->p;

i++;

}

printf("    %4d %4d %4d \n", lecSum[0] , 

lecSum[1] , lecSum[2]);

free(temp);

}

C언어 달력소스코드

Programming/C,CPP,CS 2013. 1. 13. 17:45 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

#include <iostream>
using namespace std;
int totalYearDay(int year);
int totalMonthDay(int year, int month);

int main()
{
 // 입력 : 년도 와 월
 // 년도 : int
 // 월 : int
 int year;
 int month;
 int monthDay = 0;
 cout << "년도를 입력하세요 : " ;
 cin >> year;
 cout << "월을 입력하세요 : ";
 cin >> month;


 switch(month)
 {
 case 1:
 case 3:
 case 5:
 case 7:
 case 8:
 case 10:
 case 12:
  monthDay = 31;
  break;
 case 2:
  if( (year % 4 == 0 && year % 100 != 0) || year % 400 == 0 )
  {
   monthDay = 29;
  }
  else
  {
   monthDay = 28;
  }
  break;
 default:
  monthDay = 30;
 }

 cout << year << "년 " << month << "월은 총 " << monthDay << "일 입니다." << endl;
 cout << "1900 년 부터 " << year << " 년 까지 총 일수는 " << totalYearDay(year) << endl;
 cout << year << " 년 1월 1일은 " ;
 switch( totalYearDay(year) % 7 )
 {
 case 1:
  cout << "화요일" << endl;
  break;
 case 2:
  cout << "수요일" << endl;
  break;
 case 3:
  cout << "목요일" << endl;
  break;
 case 4:
  cout << "금요일" << endl;
  break;
 case 5:
  cout << "토요일" << endl;
  break;
 case 6:
  cout << "일요일" << endl;
  break;
 case 0:
  cout << "월요일" << endl;
  break;
 }
 cout << year << " 년 "<< month << "월 1일은 " ;
 switch((totalYearDay(year) + totalMonthDay(year,month)) % 7 )
 {
 case 1:
  cout << "화요일" << endl;
  break;
 case 2:
  cout << "수요일" << endl;
  break;
 case 3:
  cout << "목요일" << endl;
  break;
 case 4:
  cout << "금요일" << endl;
  break;
 case 5:
  cout << "토요일" << endl;
  break;
 case 6:
  cout << "일요일" << endl;
  break;
 case 0:
  cout << "월요일" << endl;
  break;
 }
}


int totalYearDay(int year)
{
 int totalDay = 0;
 int i;

 for( i = 1900; i < year ; i++ )
 {
  if ( (i % 4 == 0 && i % 100 != 0) || i % 400 == 0 )
  {
   totalDay += 366;
  }
  else
  {
   totalDay += 365;
  }
 }
 return totalDay;
}
int totalMonthDay(int year, int month)
{
 int totalDay = 0;
 int i;

 // TODO totalDay 를 구하시오.

 for( i = 1; i < month ; i++ )
 {
  switch(i)
  {
  case 1:
  case 3:
  case 5:
  case 7:
  case 8:
  case 10:
  case 12:
   totalDay += 31;
   break;
  case 2:
   if( (year % 4 == 0 && year % 100 != 0) || year % 400 == 0 )
   {
    totalDay += 29;
   }
   else
   {
    totalDay += 28;
   }
   break;
  default:
   totalDay += 30;
  }
 }
 return totalDay;
}

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

CPP string 줄단위 입력  (0) 2013.01.26
링크드리스트 학생관리  (0) 2013.01.19
C 실습과제  (0) 2012.11.17
프로그래밍 경진대회 관련 사이트  (0) 2012.10.14
CPP 예외처리  (0) 2012.09.23

C 실습과제

Programming/C,CPP,CS 2012. 11. 17. 13:25 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

#include <stdio.h>

int factorial(int n);                   

int main(void)

{

        int a;

        int result;                   

        printf("정수입력: " );

        scanf("%d", &a);

       

        result=factorial(a);        

        printf( "%d 팩토리얼은: %d입니다. \n", a, result);

        return 0;

}   

int factorial(int n)                // 함수의 정의

{

        if (n<=1)

            return 1;

        else

            return n * factorial(n-1);

}

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

링크드리스트 학생관리  (0) 2013.01.19
C언어 달력소스코드  (0) 2013.01.13
프로그래밍 경진대회 관련 사이트  (0) 2012.10.14
CPP 예외처리  (0) 2012.09.23
C언어 정렬 알고리즘 예제  (0) 2012.08.26
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

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

C언어 달력소스코드  (0) 2013.01.13
C 실습과제  (0) 2012.11.17
CPP 예외처리  (0) 2012.09.23
C언어 정렬 알고리즘 예제  (0) 2012.08.26
C 달력 소스코드  (2) 2012.07.23

CPP 예외처리

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

#include <iostream>

#include <string>

#include <exception>

using namespace std;

class UserException : public logic_error

{

public:

    int num1;

    int num2;

    UserException(const int num1, const int num2)

        : logic_error("잘못된인수값")

    {

        this->num1 = num1;

        this->num2 = num2;

    }

    int getNum1(){ return num1; }

    int getNum2(){ return num2; }

};

int divide(int n1, int n2)

{

    UserException ue(n1, n2);

    if( n2 == 0 )

        throw ue;

    int result = n1 / n2;

    return result;

}

 

int main()

{

    int n1, n2;

    cout << ": ";

    cin >> n1;

    cout << ": ";

    cin >> n2;

    try

    {

        cout << divide(n1, n2);

    }

    catch(UserException n)

    {

        cout << "0으로나눌수없습니다." << endl;

        cout << "n1 = " << n.getNum1() << endl;

        cout << "n2 = " << n.getNum2() << endl;

    }  

    return 0;

}

 

 

 

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

C 실습과제  (0) 2012.11.17
프로그래밍 경진대회 관련 사이트  (0) 2012.10.14
C언어 정렬 알고리즘 예제  (0) 2012.08.26
C 달력 소스코드  (2) 2012.07.23
CPP 달력 소스코드  (0) 2012.07.21

C언어 정렬 알고리즘 예제

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

#include <stdio.h>

void printArray(int* array, int size);

void sortArray(int* array, int size);

int main(void)

{

   int array[10] = {40,78,65,32,11,100,90,80,74,20};

   int size = sizeof(array) / sizeof(int);

   printArray(array, size);

   sortArray(array, size);

   printArray(array, size);

   return 0;

}

void printArray(int* array, int size)

   int i;

   printf("배열을 출력합니다. \n");

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

   {

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

   }

}

void sortArray(int* array, int size)

   printf("배열을 정렬합니다. \n");

}

 

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

프로그래밍 경진대회 관련 사이트  (0) 2012.10.14
CPP 예외처리  (0) 2012.09.23
C 달력 소스코드  (2) 2012.07.23
CPP 달력 소스코드  (0) 2012.07.21
정렬 알고리즘 정리  (0) 2012.07.20

C 달력 소스코드

Programming/C,CPP,CS 2012. 7. 23. 04:30 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

#include <stdio.h>

#include <windows.h>   // 콘솔색상을바꾸기위해서선언

 

#define leapyear(year) ((year)%4==0 && ( (year)%100!=0 || (year)%400==0 )) //윤년판정매크로

 

// Console 글씨색상을바꾸는함수

void SetConsoleTextColor(int bgcolor , int color);

 

int main(void)

{

    int year, month=0;

    int totalday[]={0,31,28,31,30,31,30,31,31,30,31,30,31};

    int lastyear, day, i;

    FILE * fp = fopen("output5.txt", "wt"); //output5.txt에출력하기위해오픈한다.

 

    printf("몇년의달력을출력하시겠습니까?: ");

    scanf("%d",&year);

    printf("몇월의달력을출력하시겠습니까?: ");

    scanf("%d",&month);

    if(month==2 && leapyear(year))  totalday[2]=29;

    lastyear = year-1;

    {

        day = (lastyear+(lastyear/4)-(lastyear/100)+(lastyear/400)+1)%7;

        for(i=1;i < month;i++)

        {

            day+=totalday[i];

            day%=7;

        }

        // console에출력

        printf("\n           ");

        SetConsoleTextColor(0x0 , 0xe);              // 노란색글씨로바꾼다.

        printf("%d%d\n",year,month);

        SetConsoleTextColor(0x0 , 0xc);              // 빨간색글씨로바꾼다.

        printf("\n  ");

        SetConsoleTextColor(0x0 , 0xf);              // 흰색글씨로복귀

        printf("월화수목금");

        SetConsoleTextColor(0x0 , 0x9);              // 파란색글씨로바꾼다.

        printf("  ");

        SetConsoleTextColor(0x0 , 0xf);              // 흰색글씨로복귀

 

        // 파일에출력

        fprintf(fp, "\n           %d%d\n",year,month);

        fprintf(fp, "\n  일월화수목금토");

 

        for(i=-day; i<totalday[month]; i++)

        {

            if((i+day)%7 == 0)

            {

                printf("\n");

                fprintf(fp, "\n");

            }

            if(i<0)

            {

                printf("    ");

                fprintf(fp, "    ");

            }

            else

            {

                // 토요일일경우에는파란색으로출력한다

                if( (i+day)%7 == 6)   SetConsoleTextColor(0x0 , 0x9);

                // 일요일일경우에는빨간색으로출력한다.

                if( (i+day)%7 == 0)   SetConsoleTextColor(0x0 , 0xc);printf("%4d",i+1);

                // 원래흰색글씨로복귀시킨다.

                SetConsoleTextColor(0x0 , 0xf);

                fprintf(fp, "%4d",i+1);

            }

        }

    }

    printf("\n\n");

    fprintf(fp, "\n\n");

    fclose(fp);

    return 0;

}

 

 

// Console 글씨색상을바꾸는함수

void SetConsoleTextColor(int bgcolor , int color)

{

    bgcolor &= 0xf;

    color      &= 0xf;

    SetConsoleTextAttribute( GetStdHandle(STD_OUTPUT_HANDLE) , (bgcolor << 4) | color );

}

 

 

 

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

프로그래밍 경진대회 관련 사이트  (0) 2012.10.14
CPP 예외처리  (0) 2012.09.23
C언어 정렬 알고리즘 예제  (0) 2012.08.26
CPP 달력 소스코드  (0) 2012.07.21
정렬 알고리즘 정리  (0) 2012.07.20

CPP 달력 소스코드

Programming/C,CPP,CS 2012. 7. 21. 10:30 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

#include <iostream>
using namespace std;


int main()
{
 int year;
 int month;
 int totalDay = 0;
 int i = 1990;
 int dayOfWeek; // 0 : 월, 1: 화, .....
 int dayOfMonth; // 해당 달의 총 일수

 cout << "년도 입력 : " ;
 cin >> year;
 cout << "월 입력 : " ;
 cin >> month;

 for( ; i < year ; i++)
 {
  if( i % 4 == 0 && i % 100 != 0 || i % 400 == 0 )
  {
   totalDay += 366;
  }
  else
  {
   totalDay += 365;
  }
 }

 cout << year << "년 1월 1일 까지의 일수 " << totalDay << "요일 : ";

 switch( totalDay % 7 )
 {
 case 0:
  cout << "월요일" << endl;
  break;
 case 1:
  cout << "화요일" << endl;
  break;
 case 2:
  cout << "수요일" << endl;
  break;
 case 3:
  cout << "목요일" << endl;
  break;
 case 4:
  cout << "금요일" << endl;
  break;
 case 5:
  cout << "토요일" << endl;
  break;
 case 6:
  cout << "일요일" << endl;
  break;
 }

 for( i = 1; i < month ; i++ ) // 5
 {
  // 1 + 2 + 3 + 4
  switch(i)
  {
  case 1:
  case 3:
  case 5:
  case 7:
  case 8:
  case 10:
  case 12:
   totalDay += 31;
   break;
  case 4:
  case 6:
  case 9:
  case 11:
   totalDay += 30;
   break;
  case 2:
   if( (year % 4) == 0 && ( (year % 100) != 0 || (year % 400) == 0 ) )
   {
    totalDay += 29;
   }
   else
   {
    totalDay += 28;
   }
   break;
  }
 }

 cout << year << "년 "<< month<<"월 1일 까지의 일수 " << totalDay << "요일 : ";

 switch( totalDay % 7 )
 {
 case 0:
  cout << "월요일" << endl;
  break;
 case 1:
  cout << "화요일" << endl;
  break;
 case 2:
  cout << "수요일" << endl;
  break;
 case 3:
  cout << "목요일" << endl;
  break;
 case 4:
  cout << "금요일" << endl;
  break;
 case 5:
  cout << "토요일" << endl;
  break;
 case 6:
  cout << "일요일" << endl;
  break;
 } 


 switch(month)
 {
 case 1:
 case 3:
 case 5:
 case 7:
 case 8:
 case 10:
 case 12:
  dayOfMonth = 31;
  break;
 case 4:
 case 6:
 case 9:
 case 11:
  dayOfMonth = 30;
  break;
 case 2:
  if( (year % 4) == 0 && ( (year % 100) != 0 || (year % 400) == 0 ) )
  {
   dayOfMonth = 29;
  }
  else
  {
   dayOfMonth = 28;
  }
  break;
 }

 cout << year << "년 " << month << "월 달력 =====" << endl;
 cout << "월 화 수 목 금 토 일" << endl;
 cout << dayOfMonth << "일 입니다" << endl;

 

 for( i = 0 ; i < totalDay % 7 ; i++)
 {
  cout << "   " ;
 }
 for(i = 1; i <= dayOfMonth ; i ++ )
 {  
  printf("%2d ", i);

  if( totalDay % 7 == 6)
  {
   cout << endl;
  }
  totalDay++;  
 }


 cout << endl << endl;


 return 0;
}

 

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

프로그래밍 경진대회 관련 사이트  (0) 2012.10.14
CPP 예외처리  (0) 2012.09.23
C언어 정렬 알고리즘 예제  (0) 2012.08.26
C 달력 소스코드  (2) 2012.07.23
정렬 알고리즘 정리  (0) 2012.07.20