파일 입출력3

프로그래밍 2009. 12. 9. 23:13

#include <stdio.h>

 

int main()

{

         // Data

         FILE* outFile;

 

         // Open File

         outFile =fopen( "c:\\Data.txt", "wt");

         if( outFile ==NULL)

         {

                  return 0;

         }

 

         // Write

         fprintf( outFile, "Total Number =%d\n", 2);

         fprintf( outFile, "(%d) %s : %d %d %d => 평균 %d, 석차 =%d, 학점 =%s \n", 1, "John", 90, 70, 80, 80, 2, "B");

         fprintf( outFile, "(%d) %s : %d %d %d => 평균 %d, 석차 =%d, 학점 =%s \n", 2, "Tom", 80, 90, 100, 90, 1, "A");

         fclose( outFile);

 

         return 0;

}

 

'프로그래밍' 카테고리의 다른 글

파일입출력2  (0) 2009.12.04
파일입출력  (1) 2009.11.30
달력 만들기  (0) 2009.11.24
카드게임  (0) 2009.11.17
자판기 프로그램  (0) 2009.11.10
운영체제 도서관리 프로그램  (0) 2009.10.18
운영체제 파일입출력2  (0) 2009.10.17
운영체제 파일입출력  (0) 2009.10.17
운영체제 자판기 프로그램  (1) 2009.10.17
운영체제 버블소트  (0) 2009.10.17

설정

트랙백

댓글

파일입출력2

프로그래밍 2009. 12. 4. 18:56

문자 읽어들이기


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAXLEN 256

void main(int argc, char *argv[])
{
 int start = atoi(argv[1]), end = atoi(argv[2]); // 콘솔로 받는 KEY
 char line[MAXLEN]; // 파일로부터 한줄씩 받음
 long item1, item3, item5, item6, item7, item11;// 정수 애트리뷰트 저장공간
 long item12;// 추가투숙기간
 char item2[9], item4[3], item8[3], item9[3], item10[3];// 문자 애트리뷰트 저장공간
 char chTemp1[7],chTemp3[3],chTemp5[7],chTemp6[6],chTemp7[5],chTemp11[6];
 // 정수형 데이터로 바꿔줄 TEMP
 long sum=0;// 최종결과값의 초기화
 int i;
 FILE *Infp, *Outfp;
 Infp = fopen("C:\\C_IT\\Data\\abc4720.txt","rt");  // abc4720.txt로부터 자료를 읽음
 /* strncpy는 끝에 널종료문자를 추가해주지 않는 경우가 있으므로 아래와 같이 해주어야 합니다. */
 chTemp3[2] = '\0';
 chTemp11[5] = '\0';
 item8[2] = '\0';
 item9[2] = '\0';
 for(i=1;i<=end;i++){
  fgets(line,MAXLEN,Infp);
  if(i>=start){
    strncpy(item9,line+35,2);//예약방법코드  <======!!!!요기!!!!!
    item11 = atoi(strncpy(chTemp11,line+39,5));//누적점수
    item3 = atoi(strncpy(chTemp3,line+14,2));// 투숙기간
    strncpy(item8,line+33,2);// 지불코드
    //printf("%s\n",item9);
  }

  if((strcmp(item9,"HU")==0) && (item11<=5920)){
  //지불코드 추가투숙기간 ca6 cr10 de2 la20
  if(strcmp(item8,"CA")==0) item12 = 6;
  else if(strcmp(item8,"CR")==0) item12 = 10;
  else if(strcmp(item8,"DE")==0) item12 = 2;
  else if(strcmp(item8,"LA")==0) item12 = 20;
  sum = sum + item3 + item12;
 }
}
 fclose(Infp);
 Outfp = fopen("C:\\C_IT\\Data\\ans4.txt","wt");
 fprintf(Outfp,"%d %ld %d\n",start,end,sum);
 fclose(Outfp);
}


 

'프로그래밍' 카테고리의 다른 글

파일 입출력3  (0) 2009.12.09
파일입출력  (1) 2009.11.30
달력 만들기  (0) 2009.11.24
카드게임  (0) 2009.11.17
자판기 프로그램  (0) 2009.11.10
운영체제 도서관리 프로그램  (0) 2009.10.18
운영체제 파일입출력2  (0) 2009.10.17
운영체제 파일입출력  (0) 2009.10.17
운영체제 자판기 프로그램  (1) 2009.10.17
운영체제 버블소트  (0) 2009.10.17

설정

트랙백

댓글

파일입출력

프로그래밍 2009. 11. 30. 20:13

#include
#include   /*exit*/

main(void)
{
    FILE *fin, *fout;                    /*파일 포인터*/
    char infile[40],outfile[40];     /*파일 이름 입력용*/
    int c;                                        /*c = 문자*/

    printf("입력 파일명=");
    gets(infile);                             /*파일명을 입력*/
    printf("출력 파일명=");
    gets(outfile);
    if((fin=fopen(infile,"r"))==NULL){
    printf("입력 파일을 열 수 없습니다.\n");  /*입력 파일*/
    exit(1);
    }
    if((fout=fopen(outfile,"w"))==NULL){                 //수정한 부분...
    printf("출력 파일을 열 수 없습니다.\n");  /*출력 파일*/
    exit(1);
    }

    while((c=getc(fin))!=EOF){      /*한문자 파일에서 입력*/
      if(c='t'){                                     /*c문자가 기존 커맨드랑 같으면*/
      c='0';                                          /*c는 바꿀 커맨드로 교채*/
      putc(c,fout);                             /*c를 출력파일로 출력*/
      }
   }
   fclose(fin);                                   /*파일 닫기*/
   fclose(fout);

   return 0;
}


'프로그래밍' 카테고리의 다른 글

파일 입출력3  (0) 2009.12.09
파일입출력2  (0) 2009.12.04
달력 만들기  (0) 2009.11.24
카드게임  (0) 2009.11.17
자판기 프로그램  (0) 2009.11.10
운영체제 도서관리 프로그램  (0) 2009.10.18
운영체제 파일입출력2  (0) 2009.10.17
운영체제 파일입출력  (0) 2009.10.17
운영체제 자판기 프로그램  (1) 2009.10.17
운영체제 버블소트  (0) 2009.10.17

설정

트랙백

댓글

달력 만들기

프로그래밍 2009. 11. 24. 22:33

#include stdio.h 

void cho1();                                                        //표준 입출력 작업을위한 헤더파일.
void cho2();

int main()                                                            
{
 int choice ;

 while(1)
 {
  printf("=======================\n");
        printf("만년달력 프로그램입니다\n");             //만년달력 프로그램 시작
        printf("    1. 달력출력\n");                                        //세개의 항목들
        printf("    2. 요일출력\n");
        printf("    3.   종료  \n");
        printf("=======================\n");
        printf("메뉴(1,2,3)를 입력하세요:");                                //사용자 입력
        scanf("%d", &choice);
  
     switch(choice)
  {
         case 1 : cho1();
       break;
            case 2 : cho2();
                break;
            case 3 : printf("종료 되었습니다\n");
       return 0;
  }
  if ( choice < 1 || choice > 3 ) printf("잘못된 입력입니다.\n");
 }

 return 0;
}

// 년, 월을 입력하면 해당년월의 시작요일을 구하는 함수
int find_first_yoil( int year, int month, int *mon_size )
{
 int temp_year = 1, start_yoil = 1, i;
 int days[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

 // 해당년의 1월 1일의 요일을 구하는 루틴
 while(1)
 {
  if ( temp_year == year ) break;
  if ( ( temp_year % 4 == 0 && temp_year % 100 != 0 ) || temp_year % 400 == 0 ) start_yoil++;
  start_yoil++;
  temp_year++;
 }

 // 입력한 년도가 윤년인 경우 2월달 하루 추가
 if ( ( year % 4 == 0 && year % 100 != 0 ) || year % 400 == 0 ) days[1] = 29;
 
 // 입력한 월까지 가서 시작요일을 구함
 for( i = 0; i < month - 1; i++ )
  start_yoil += days[i];

 // 해당월의 일수를 리턴
 *mon_size = days[month-1];
 
 // 구한 요일 리턴
 return start_yoil % 7;
}

void cho1()
{
 int year, month, start_yoil, mon_size, cal_garo, i, i2;
 int startlist[7] = { 1, 0, -1, -2, -3, -4, -5 };
 
 while(1)
 {
  printf("원하는 년도, 월을 입력하시오\n(단 년도는 1800-2200까지): ");
        scanf( "%d, %d" , &year, &month );
  
  if ( year >= 1800 && year <= 2200 && month >= 1 && month <= 12 ) break;                     //년도의 입력범위 지정
        else printf( "다시 입력 바랍니다.\n" );                        
 }

 start_yoil = find_first_yoil( year, month, &mon_size );

 // 달력 가로 줄수 구하기
 cal_garo = ( start_yoil + mon_size ) / 7 + 1;

 // 달력 출력
 printf("\n[%d년 %d월]\n  일   월   화   수   목   금   토   \n", year, month);
 for( i = 0; i < cal_garo; i++ )
 {
  i2 = startlist[start_yoil] + 7*i;
  // 달력의 첫줄 출력
  if ( i == 0 )
  {
   printf("  ");

   while(1)
   {
    if ( i2 > 0 ) printf( "%2d", i2 );
       else printf( "  " );
    printf( "   " );
    i2++;
    if ( i2 == startlist[start_yoil] + 7 ) break;
   }

   printf("\n");
  }
  // 달력의 마지막줄 출력
  else if ( i + 1 == cal_garo )
  {
   printf("  ");

   while(1)
   {
    if ( i2 > mon_size ) break;
    printf( "%2d   ", i2 );
    i2++;
   }
   printf("\n");
  }
  // 달력의 중간줄 출력
  else printf("  %2d   %2d   %2d   %2d   %2d   %2d   %2d\n", i2, i2 + 1, i2 + 2, i2 + 3, i2 + 4, i2 + 5, i2 + 6 );
 }
   
}

void cho2()
{
 int year, month, day, mon_size, yoil;
 char st[7][3] = { "일", "월", "화", "수", "목", "금", "토" };

 while(1)
 {
  printf( "원하는 년도, 월, 일을 입력하시오\n(단 년도는 1800-2200까지): ");
        scanf( "%d, %d, %d" , &year, &month, &day );
  
  if ( year >= 1800 && year <= 2200 && month >= 1 && month <= 12 && day >= 1 && day <= 31 ) break;                
        else printf("다시 입력 바랍니다.\n");                        
 }

 //첫달의 요일을 구한다.
 yoil = find_first_yoil( year, month, &mon_size );
    //구한 첫달의 요일에 (일수-1)를 더한다.
 yoil += (day - 1);
 //7로 나눠 요일을 구한다.
 yoil = yoil % 7;

 printf("%d년 %d월 %d일은 %s요일입니다.\n", year, month, day, st[yoil] );
}


'프로그래밍' 카테고리의 다른 글

파일 입출력3  (0) 2009.12.09
파일입출력2  (0) 2009.12.04
파일입출력  (1) 2009.11.30
카드게임  (0) 2009.11.17
자판기 프로그램  (0) 2009.11.10
운영체제 도서관리 프로그램  (0) 2009.10.18
운영체제 파일입출력2  (0) 2009.10.17
운영체제 파일입출력  (0) 2009.10.17
운영체제 자판기 프로그램  (1) 2009.10.17
운영체제 버블소트  (0) 2009.10.17

설정

트랙백

댓글

카드게임

프로그래밍 2009. 11. 17. 15:30
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define computer 1
#define user 2

#define NOT_USED -1
#define USED 0

int card[4] [13];
int computer_card[3] [2];
int user_card[3] [2];

void shuffle()
{
int i, j;

for(i=0; i<3; i++)
for(j=0; j<2; j++)
computer_card[i] [j] = NOT_USED;

for(i=0; i<3; i++)
for(j=0; j<2; j++)
user_card[i] [j] = NOT_USED;
}

void getcard(int kind, int index)
{
int shape, num;

do{
shape = rand() % 4;
num= rand() % 13;
} while(card[shape] [num]
card[shape] [num] = used;

shape++;
num++;
if(num > 10)
num = 10;

if(kind==computer)
computer_card[index] [0] = shape;
computer_card[index] [0] = num;
}
else
user_card



}

void showcard()
{
printf("computer : ");

for(i=0; i<3; i+) {
if(computer_card[i] [0] == not_used)
break;
printf("[%d , %d] ",
computer_card[i][0], computer_card[i][1];
}
printf("\n");

printf("USER : ");

void judge()
{
int computer_sum(), user_sum=0;
int i;

for(i=0; i<3; i++) {
if(computer_card[i] [1] == NOT_USED)
break;
computer_sum += computer[i] [1];

for(i=0; i<3; i++) {
if(computer_card[i] [1] == NOT_USED)
break;
user_sum += computer[i] [1];
}
if(computer_sum > 21) && (user_sum >21)) {
if(computer_sum < user_sum)
printf(" 게임에서 졌습니다. \n");
else
printf(" 게임에서 이겼습니다. \n");
}
else if(computer_sum > 21)
printf(" 게임에서 이겼습니다. \n");
else if(user_sum >21)
printf(" 게임에서 졌습니다. \n");
else if((computer_sum == 21) && (user_sum == 21))
printf(" 비겼습니다. \n");
else if (computer_sum > user_sum)
printf(" 게임에서 졌습니다. \n");
else
printf(" 게임에서 이겼습니다. \n");
}



void main()
{
char answer;

printf("------------- START the GAME -------------\n");
shuffle();

getcard(computer, 0);

getcard(user, 0);
getcard(user, 1);

showcard();

printf("카드를 한 장 더 받겠습니까? (y/n)");
fflush(stdin);
scanf("%c", &answer);

if((answer=='y') || (answer=='y'))
getcard(user, 2);

getcard(computer, 1);

if(computer_card[0] [1] + computer_card[1] [1]) < 17)
getcard(computer, 2);

showcard();
judge();

printf("------------- GAME OVER -------------\n");
}

'프로그래밍' 카테고리의 다른 글

파일 입출력3  (0) 2009.12.09
파일입출력2  (0) 2009.12.04
파일입출력  (1) 2009.11.30
달력 만들기  (0) 2009.11.24
자판기 프로그램  (0) 2009.11.10
운영체제 도서관리 프로그램  (0) 2009.10.18
운영체제 파일입출력2  (0) 2009.10.17
운영체제 파일입출력  (0) 2009.10.17
운영체제 자판기 프로그램  (1) 2009.10.17
운영체제 버블소트  (0) 2009.10.17

설정

트랙백

댓글

자판기 프로그램

프로그래밍 2009. 11. 10. 15:41

#include <stdio.h>

void main()
{
 int money=0;
 int total=0;
 int i, k;
 do{
  i=0;k=0;
  if(total<=190){
  do{
   printf("돈을 투입하십시오. 1)500원 2)1000원 : ");
   scanf("%d", &money);
  }while(!(money==1||money==2));
  }
  if(money==1){
  total+=500;
  }
  if(money==2){
  total+=1000;
  }
  money=0;
  do{
   printf("무엇을 드시겠습니까? (1.밀크커피(200), 2.프림커피(300), 3.블랙커피(300))");
   scanf("%d", &i);
  }while(!(i>0&&i<4));
 

 if(i==1){
  total-=200;
  printf("밀크커피가 나왔습니다.\n"); 
 }
 if(i==2){
  total-=300;
  printf("프림커피가 나왔습니다.\n");
 }
 if(i==3){
  total-=200;
  printf("블랙커피가 나왔습니다.\n");
 }
 do{
  printf("잔돈은 %d 입니다. 한잔 더 뽑으시겠습니까? (1.Yes, 2.No) : ", total);
  scanf("%d", &k);
 }while(!(k==1||k==2));
 if(k==2)("동전을 반환합니다.\n");
 }while(k==1);
}


'프로그래밍' 카테고리의 다른 글

파일 입출력3  (0) 2009.12.09
파일입출력2  (0) 2009.12.04
파일입출력  (1) 2009.11.30
달력 만들기  (0) 2009.11.24
카드게임  (0) 2009.11.17
운영체제 도서관리 프로그램  (0) 2009.10.18
운영체제 파일입출력2  (0) 2009.10.17
운영체제 파일입출력  (0) 2009.10.17
운영체제 자판기 프로그램  (1) 2009.10.17
운영체제 버블소트  (0) 2009.10.17

설정

트랙백

댓글

운영체제 도서관리 프로그램

프로그래밍 2009. 10. 18. 11:00

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#define BK_SIZE 3
#define TITL_SIZE 30
#define AUTR_SIZE 20
typedef struct _book
{
 int no;
 char title[TITL_SIZE];
 char author[AUTR_SIZE];
 int price;
 int cnt;
 int sale;
}BOOK;
void input( BOOK *p);
void output( BOOK *p);
void sort( BOOK *p);
void search( BOOK *p);
int main()
{
 int n;
 BOOK bo[BK_SIZE];

 while(1)
 {
  system("cls");
  printf("\n *** 도서관리 메뉴 ***\n\n");
  printf(" 1. 입력\n");
  printf(" 2. 출력\n");
  printf(" 3. 정렬\n");
  printf(" 4. 검색\n");
  printf(" 5. 종료\n");
  printf(" 선택 : [ ]\b\b");
  scanf("%d", &n);
  fflush(stdin);

  switch(n)
  {
 
   case 1: input(bo); break;
   case 2: output(bo); break;
   case 3: sort(bo); break;
   case 4: search(bo); break;
   case 5:
    printf("\n\n\t\t프로그램을 종료합니다.\n");
    exit(0);
  }
  printf("\n\n\t\t아무키나 누르면 메뉴로 돌아갑니다.");
  getch();
 }
 return 0;
}

void input( BOOK *p )
{
 int i;
 for(i=0; i<BK_SIZE; i++)
 {
  system("cls");

  printf("\n\n*** 도서 정보 입력 ***\n\n");
  p[i].no = i+1;
  printf("[%d번째 입력]\n", p[i].no);
  printf("도서명 : ");
  gets( p[i].title );
  fflush(stdin);

  printf("작  가 : ");
  gets( p[i].author );
  fflush(stdin);

  printf("가  격 : ");
  scanf("%d", &p[i].price);
  fflush(stdin);

  printf("수  량 : ");
  scanf("%d", &p[i].cnt);
  fflush(stdin);

  p[i].sale = p[i].price * p[i].cnt;
 }
}

void output( BOOK *p )
{
 int i;
 system("cls");

 printf("\n\n\t\t\t *** 도서 정보 출력 ***\n\n");
 printf("%5s %-27s %-20s %7s %5s % 8s\n",
      "번호","도서명","작가","가격","수량","매출액");
 printf("----------------------------------------------"
     "-------------------------------------\n");

 for(i=0; i<BK_SIZE; i++)
 {
   printf("  %03d %-27s %-20s %7d %5d %8 d\n",p[i].no, p[i].title, p[i].author, p[i].price, p[i].cnt, p[i].sale);
 }
}

void sort( BOOK *p )
{
 int i, j;
 BOOK temp;
 for(i=0;i<BK_SIZE; j++)
 {
  for(j=i+1; j<BK_SIZE; j++)
  {
   if( strcmp(p[i].title, p[i].title)>0 )
   {

    temp = p[i];
    p[i] = p[j];
    p[i] = temp;
   }
  }
 }
 printf("\n\n\t\t도서명 기준 오름차순 정렬 완료~!!\n");
}

void search( BOOK *p )
{
 char str[30];
 int i;
 int flag=0;

 system("cls");
 printf("\n\n검색 도서명 입력 : ");
 gets(str);
 fflush(stdin);

 printf("\n\n\t\t\t *** 도서 정보 출력 ***\n\n");
 printf("%5s %-27s %-20s %7s %5s % 8s\n",
  "번호","도서명","작가","가격","수량","매출액");
 printf("-------------------------------------------"
  "-----------------------------");

 for(i=0; i<BK_SIZE; i++)
 {
  if( strcmp(str, p[i].title)==0 )
  {
   printf(" %03d %-27s %-20s %7d %5d % 8d\n",
    p[i].no, p[i].title, p[i].author, p[i].price, p[i].cnt, p[i].sale);
   flag = 1;
  }
 }

 if(flag == 0)
 {
  printf("\n\n\t\t검색 도서가 존재하지 않습니다.\n");

 }
}

 

'프로그래밍' 카테고리의 다른 글

파일입출력2  (0) 2009.12.04
파일입출력  (1) 2009.11.30
달력 만들기  (0) 2009.11.24
카드게임  (0) 2009.11.17
자판기 프로그램  (0) 2009.11.10
운영체제 파일입출력2  (0) 2009.10.17
운영체제 파일입출력  (0) 2009.10.17
운영체제 자판기 프로그램  (1) 2009.10.17
운영체제 버블소트  (0) 2009.10.17
운영체제 진법변환  (1) 2009.10.17

설정

트랙백

댓글

운영체제 파일입출력2

프로그래밍 2009. 10. 17. 19:12

#include <stdio.h>

int main()
{
 FILE *fp;
 int fnum[50][50];
 int x = 0, y = 0;
 int size, num, i, j;

 if((fp=fopen("\\abc.txt","r"))==NULL)
 {
  printf("<파일을 열수없습니다>\n");
  return 1;
 }

 {
  printf("<파일을 열었습니다.>\n");
 

  //feof는 현재 포인터 위치가 파일의 끝부분인지 검색해주는 함수로써 !를 붙여 끝이 아닌동안 반복하게 설정
  while(!feof(fp))
  {
   //문자 한글자를 받아 ASCII값을 num 에 대입한다.
   num = fgetc(fp);
   //만약 num값이 숫자라면
   if( (num >= '0' && num <= '9') )
   {
    //배열에 삽입. '0'을 뺀 이유는 정수형 숫자로 바꿔주기 위해서
    fnum[y][x] = num - '0';
    x++;
   }
   //개행 문자를 만나면 y를 1 증가시켜주고 x초기화
   else if( num == '\n' )
   {
    y++;
    //x배열의 크기를 size에 저장
    size = x;
    x = 0;
   }
  }

  //출력부
  for(i = 0; i < y; i++)
  {
   for(j = 0; j < size; j++)
   {
    printf("%2d", fnum[i][j]);
   }
   printf("\n");
  }
 

  fclose(fp);

  printf("<파일을 닫았습니다.>\n");
 }
 return 0;
}


'프로그래밍' 카테고리의 다른 글

파일입출력  (1) 2009.11.30
달력 만들기  (0) 2009.11.24
카드게임  (0) 2009.11.17
자판기 프로그램  (0) 2009.11.10
운영체제 도서관리 프로그램  (0) 2009.10.18
운영체제 파일입출력  (0) 2009.10.17
운영체제 자판기 프로그램  (1) 2009.10.17
운영체제 버블소트  (0) 2009.10.17
운영체제 진법변환  (1) 2009.10.17
JAVA  (0) 2009.05.04

설정

트랙백

댓글

운영체제 파일입출력

프로그래밍 2009. 10. 17. 18:15

#include

FILE *stream; // 파일포인터를 저장할 변수

void main( void )
{
long l;
float fp;
char s[81];
char c;

stream = fopen( "temp.txt", "w+" ); // fopen은 파일을 열어주는 함수(파일포인터를 리턴)
// temp.txt는 파일명
// w+는 쓰기와 읽기 모드를 가능하게 해주는 옵션

if( stream == NULL )
printf( "The file temp.txt was not opened\n" ); // 파일이 열렸는지 확인
else
{
fprintf( stream, "%s %ld %f%c", "a-string", 65000, 3.14159, 'x' );
// printf가 화면에 출력하는 함수라면,
// fprintf는 파일에 출력하는 함수,
// 파일포인터가 가리키는 파일에 저장


/* Set pointer to beginning of file: */
fseek( stream, 0L, SEEK_SET ); // 파일의 특정위치로 파일포인터의 값을 바꿔주는 함수

/* Read data back from file: */
fscanf( stream, "%s", s ); // scanf가 키보드로부터 입력받는 함수라면,
// fscanf는 파일로부터 입력하는 함수,
// 파일포인터가 가리키는 파일에 저장
fscanf( stream, "%ld", &l );

fscanf( stream, "%f", &fp );
fscanf( stream, "%c", &c );

/* Output data read: */
printf( "%s\n", s );
printf( "%ld\n", l );
printf( "%f\n", fp );
printf( "%c\n", c );

fclose( stream ); // 열어서 사용했던 파일을 닫아줌..
}
}

'프로그래밍' 카테고리의 다른 글

달력 만들기  (0) 2009.11.24
카드게임  (0) 2009.11.17
자판기 프로그램  (0) 2009.11.10
운영체제 도서관리 프로그램  (0) 2009.10.18
운영체제 파일입출력2  (0) 2009.10.17
운영체제 자판기 프로그램  (1) 2009.10.17
운영체제 버블소트  (0) 2009.10.17
운영체제 진법변환  (1) 2009.10.17
JAVA  (0) 2009.05.04
JAVA  (0) 2009.05.02

설정

트랙백

댓글

운영체제 자판기 프로그램

프로그래밍 2009. 10. 17. 03:44

#include <stdio.h>

int main (void)
{
 int money = 0; // int형 변수 money를 0으로 초기화.
 int sum = 0; // int형 변수 sum을 0으로 초기화.
 int i = 0; // int형 변수 i를 0으로 초기화.
 int j = 1; // int형 변수 j를 0으로 초기화.

 while(j==1){
if(sum<300)
  while(1)
  {
   printf("500원, 1000원만 투입하실 수 있습니다. \n");
   printf("돈을 투입하십시오. (1. 500원, 2. 1000원) : ");
   scanf("%d", &money); // 정수를 입력받아 money라는 변수에 저장.

   if(!(money==1 || money==2)) // 만약 변수 money가 1이 또는 2가 아니면 반복.
    printf("다시 투입하십시오.");
   else
    break;
  }

 
  if(money==1) // 만약 money값이 1이라면
   sum += 500; // sum = sum + 500;
  if(money==2) // 만약 money값이 2라면
   sum += 1000; // sum = sum + 1000;
  money = 0; // 이부분은 참고하였습니다.

  do{
   printf("무엇을 드시겠습니까? (1.밀크커피(200원), 2.프림커피(300원), 3.블랙커피(300원))");
   scanf("%d", &i); // 정수를 입력받아 변수 i에 저장.
  }while(i<1 || i>4);  // i값이 1보나 작거나 4보다 크다면 반복.

   if (i==1){ // 변수 i가 1이라면
     sum -= 200; // sum = sum - 200
     printf("밀크커피가 나왔습니다. \n"); // 밀크커피가 나왔습니다. 출력
   }
   if (i==2){ // 변수 i가 2라면
     sum -= 300; // sum = sum - 300
     printf("프림커피가 나왔습니다. \n"); // 프림커피가 나왔습니다. 출력
   }
   if (i==3){ // 변수 i가 3이라면
     sum -= 300; // sum = sum - 300
     printf("블랙커피가 나왔습니다. \n"); // 블랙커피가 나왔습니다. 출력
   }

   do{
    printf("잔돈은 %d 입니다. 한잔 더 뽑으시겠습니까? (1.Yes, 2.No) : ", sum);
    scanf("%d", &j); // 정수를 입력받아 변수 j에 저장.
   }while(!(j==1 || j==2)); // 변수 j가 1이 아니거나 2가 아닐경우 반복.
 }
  printf("동전을 반환합니다. \n");
 return 0;
}


'프로그래밍' 카테고리의 다른 글

카드게임  (0) 2009.11.17
자판기 프로그램  (0) 2009.11.10
운영체제 도서관리 프로그램  (0) 2009.10.18
운영체제 파일입출력2  (0) 2009.10.17
운영체제 파일입출력  (0) 2009.10.17
운영체제 버블소트  (0) 2009.10.17
운영체제 진법변환  (1) 2009.10.17
JAVA  (0) 2009.05.04
JAVA  (0) 2009.05.02
JAVA  (0) 2009.05.01

설정

트랙백

댓글

운영체제 버블소트

프로그래밍 2009. 10. 17. 03:37

#include <stdio.h>
#include <stdlib.h>

void housekeeping();
void sortScores();
void switchValues();
void finishUp();

int inScore;
int score[10]={90,85,65,95,75,55,50,80,45,70};
int x = 0;
int y;
int temp;
int numberOfEls = 10;

void main()
{
 housekeeping();
 sortScores();
 finishUp();
}

void housekeeping()
{
 int score[10]={90,85,65,95,75,55,50,80,45,70};
}

void sortScores()
{
 y = 0;
 while (y<numberOfEls-1)
 {
  x=y+1;
  while(x<numberOfEls)
  {
   if(score[y] > score[x])
   {
    switchValues();
   }
   x++;
  }
  y++;
 }
}

void switchValues()
{
 temp=score[x];
 score[x]=score[y];
 score[y]=temp;
}

void finishUp()
{
 x=0;
 while(x<=numberOfEls-1)
 {
  printf("%d\n",score[x]);
  x++;
 }
}


'프로그래밍' 카테고리의 다른 글

자판기 프로그램  (0) 2009.11.10
운영체제 도서관리 프로그램  (0) 2009.10.18
운영체제 파일입출력2  (0) 2009.10.17
운영체제 파일입출력  (0) 2009.10.17
운영체제 자판기 프로그램  (1) 2009.10.17
운영체제 진법변환  (1) 2009.10.17
JAVA  (0) 2009.05.04
JAVA  (0) 2009.05.02
JAVA  (0) 2009.05.01
JAVA  (0) 2009.04.30

설정

트랙백

댓글

운영체제 진법변환

프로그래밍 2009. 10. 17. 03:30

#include
int main()
{
 int i, j, k, a[100], cnt = 0;
 cout << "10진법을 입력하시오 : ";
 cin >> i;
 j = i;
 while(i != 1 && i > 1)
 {
  a[cnt++] = i % 2;
  i = i / 2;
 }
 cout << "이진법 : " << i;
 for(k=cnt-1;k>=0;k--)
  cout << a[k];
 cout << endl;
 i = j;
 cnt = 0;
 while(i != 1 && i > 7)
 {
  a[cnt++] = i % 8;
  i = i / 8;
 }
 cout << "팔진법 : " << i;
 for(k=cnt-1;k>=0;k--)
  cout << a[k];
 cout << endl;
 i = j;
 cnt = 0;
 while(i != 1 && i > 15)
 {
  a[cnt++] = i % 16;
  i = i / 16;
 }
 cout << "십육진법 : ";
 if(i == 15)
  cout << "F";
 else if(i == 14)
  cout << "E";
 else if(i == 13)
  cout << "D";
 else if(i == 12)
  cout << "C";
 else if(i == 11)
  cout << "B";
 else if(i == 10)
  cout << "A";
 else
  cout << i;
 for(k=cnt-1;k>=0;k--)
 {
  if(a[k] == 15)
   cout << "F";
  else if(a[k] == 14)
   cout << "E";
  else if(a[k] == 13)
   cout << "D";
  else if(a[k] == 12)
   cout << "C";
  else if(a[k] == 11)
   cout << "B";
  else if(a[k] == 10)
   cout << "A";
  else
   cout << a[k];
 }
 cout << endl;
}


'프로그래밍' 카테고리의 다른 글

운영체제 도서관리 프로그램  (0) 2009.10.18
운영체제 파일입출력2  (0) 2009.10.17
운영체제 파일입출력  (0) 2009.10.17
운영체제 자판기 프로그램  (1) 2009.10.17
운영체제 버블소트  (0) 2009.10.17
JAVA  (0) 2009.05.04
JAVA  (0) 2009.05.02
JAVA  (0) 2009.05.01
JAVA  (0) 2009.04.30
JAVA  (1) 2009.04.28

설정

트랙백

댓글

JAVA

프로그래밍 2009. 5. 4. 20:45

import org.kwis.msp.lcdui.*;
import java.util.*;

public class ClipingEx extends Jlet
{
 protected void startApp(String args[])
 {
  Display dp = Display.getDefaultDisplay();
  dp.pushCard(new ClipCard());
 }

 protected void destroyApp(boolean b){}

}

class ClipCard extends Card {
 int count = 1, x = 0, y = 0, width = 20, height = 0;
 Image img; Font font;

 protected void paint(Graphics g) {
  try { img = Image.createImage("image.gif");
  } catch(Exception e){}
  g.setColor(0x000000);
  g.fillRect(0, 0, getWidth(), getHeight());
  font = Font.getDefaultFont();
  g.setFont(font);
  g.setColor(0xFFFFFF);
  g.drawString("1번 눌러요-"+count+"번째 줄", 0, getHeight()-15, g.LEFT);
  g.drawImage(img, 0, 0, g.LEFT);
  //클리핑할 영역을 설정
  g.setClip(x, y, width, height);
  g.setColor(0x000000);
  g.fillRect(0, 0, getWidth(), getHeight());
 }
 //KEY의 이벤트를 받기 위한 함수
 public boolean keyNotify(int type, int keyCode) {
  if(type == EventQueue.KEY_PRESSED && keyCode == EventQueue.KEY_NUM1) {
   //크리핑 영역의 y축의 변수값 설정
   height = height + 20;
   repaint();
   //클리핑 영역의 x축 시작점의 변수값을 설정
   if(height >= (getHeight()-15)) {
    x = x + 20;  height = 0;  count++;
   }
   //x축이 화면에 끝까지 옮겨졌을 경우 초기화
   if(x >= getWidth())  {
    x = 0; count = 1;
   }
  }
  return true;
 }
}

'프로그래밍' 카테고리의 다른 글

운영체제 파일입출력2  (0) 2009.10.17
운영체제 파일입출력  (0) 2009.10.17
운영체제 자판기 프로그램  (1) 2009.10.17
운영체제 버블소트  (0) 2009.10.17
운영체제 진법변환  (1) 2009.10.17
JAVA  (0) 2009.05.02
JAVA  (0) 2009.05.01
JAVA  (0) 2009.04.30
JAVA  (1) 2009.04.28
JAVA  (1) 2009.04.28

설정

트랙백

댓글

JAVA

프로그래밍 2009. 5. 2. 14:35

import org.kwis.msp.lcdui.*;
import org.kwis.msp.lwc.*;

public class XorEx extends Jlet
{
 protected void startApp(String args[])
 {
  Display dp = Display.getDefaultDisplay();
  XorClass card = new XorClass();
  dp.pushCard(card);
 }

 protected void destroyApp(boolean b){}

}

class XorClass extends Card {
 protected void paint(Graphics g) {
  int i = 30; //위 아래 좌우 공간을 동일한 비율로 설정
  int x[] = {(getWidth()/2), i, (getWidth()-i)};
  int y[] = {10, (getHeight()-i), (getHeight()-i)};

  g.setColor(0x000000);
  g.drawPolygon(x, y);

  g.setColor(0xFFFF99);
  g.fillRect(10, 10, 70, 70);
  
  //XOR 모드로 설정
  g.setXORMode(true);

  g.setColor(0xFF0066);
  g.fillRect(30, 30, 80, 90);
 }
}


'프로그래밍' 카테고리의 다른 글

운영체제 파일입출력  (0) 2009.10.17
운영체제 자판기 프로그램  (1) 2009.10.17
운영체제 버블소트  (0) 2009.10.17
운영체제 진법변환  (1) 2009.10.17
JAVA  (0) 2009.05.04
JAVA  (0) 2009.05.01
JAVA  (0) 2009.04.30
JAVA  (1) 2009.04.28
JAVA  (1) 2009.04.28
JAVA  (0) 2009.04.26

설정

트랙백

댓글

JAVA

프로그래밍 2009. 5. 1. 16:17

 //In Making Jar File, set $(FileNameNoExt).jar *.class ./image/*.gif *.png

import org.kwis.msp.lcdui.*;
import java.util.*;

public class ImageEx extends Jlet
{
 protected void startApp(String args[])
 {
  Display dp = Display.getDefaultDisplay();

  //ImageCard 객체를 바로 생성하여 pushCard()에 넣음
  dp.pushCard(new ImageCard());
 }

 protected void destroyApp(boolean b){}

}

class ImageCard extends Card {
 Image img1, img2;
 Font font;

 protected void paint(Graphics g) {
  int tmp1,tmp2;
  Random rand = new Random();

  g.setColor(0x339933);
  g.fillRect(0, 0, getWidth(), getHeight());

  g.setColor(0x00cc00);
  g.fillRect(0, 10, getWidth(), 20);

  g.setColor(0xffffff);
  font = Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_BOLD | Font.STYLE_UNDERLINED, Font.SIZE_LARGE);
  g.setFont(font);
  g.drawString("Two Card Game", getWidth()/2, 10, g.HCENTER);
 
  g.setColor(0xffffff);
  g.fillRect(0, getHeight()-25, getWidth(), getHeight());

  font = Font.getDefaultFont();
  g.setFont(font);
  g.setColor(0x000000);
  g.drawString("1번 클릭 : 카드교환", getWidth()/2, getHeight()-20, g.HCENTER);

  //랜덤 함수를 이용하여 랜덤 값 할당
  tmp1 = Math.abs(rand.nextInt()) % 8 + 1;
  
  //tmp1과 다른 값이 나올 때까지 랜덤 함수를 실행
  while(true) {
   tmp2 = Math.abs(rand.nextInt()) % 8 + 1;
   if(tmp1 != tmp2)
    break;
  }

  //랜덤 값을 이용하여 이미지를 생성
  try {
   img1 = Image.createImage("./image/" + tmp1 + ".gif");
   img2 = Image.createImage("./image/" + tmp2 + ".gif");

  } catch(Exception e){}

  //선택된 카드 이미지를 뿌려줌
  g.drawImage(img1, 20, getHeight()/2, g.LEFT | g.VCENTER);
  g.drawImage(img2, getWidth()-20, getHeight()/2, g.RIGHT | g.VCENTER);
 }

 //KEY의 이벤트를 받기 위한 함수
 public boolean keyNotify(int type, int keyCode) {
  if(type==EventQueue.KEY_PRESSED && keyCode==EventQueue.KEY_NUM1) {
   repaint();
  }
  return true;
 }

'프로그래밍' 카테고리의 다른 글

운영체제 자판기 프로그램  (1) 2009.10.17
운영체제 버블소트  (0) 2009.10.17
운영체제 진법변환  (1) 2009.10.17
JAVA  (0) 2009.05.04
JAVA  (0) 2009.05.02
JAVA  (0) 2009.04.30
JAVA  (1) 2009.04.28
JAVA  (1) 2009.04.28
JAVA  (0) 2009.04.26
JAVA  (0) 2009.04.23

설정

트랙백

댓글