Oracle(27일차)

Posted by seunggwon
2009. 7. 24. 13:00 Web Develop Note/Oracle
* 권한(부여/회수)
- 시스템권한 : system관련권한, dba~, 연쇄회수 X
- 객체권한 : 객체관련권한, 객체소유자 

*권한부여
grant 권한, [권한, ...]
to user명

grant create session
to jj1;


*user생성
create user user명
identified by 비번
[with admin option]

- sys에서 
jj1 생성
create user jj1
identified by jj1;

jj2 생성-------------------------> jj3부여
create session 부여
[with admin option]


jj3 생성


jj3에게 create session권한 부여
jj2에서...
grant create session
to jj3
with admin option


* 권한조회
select ~ 
from user_sys_privs;

select *
from user_sys_privs;


* 권한 회수
revoke 권한, [권한, ...]
from user명

jj1으로부터 session권한을 회수...
revoke create session
from jj1

jj2로부터
create session 권한 회수
revoke create session
from jj1;


super user에서

super.dept 객체 --> jj3가 super.dept
select
insert
update
delete

select * 
from super.dept;


* 권한부여
grant 권한[, 권한, ...]
on 객체명
to user명
[with grant option]

grant select
on dept
to jj3

select *
from super.dept


jj3상태에서 
super.dept 테이블에 
임의 데이터 입력
insert into super.dept
values(60, '', '');
권한이 불충분...

super에서 jj3에 insert, update, delete 권한부여
grant insert, update, delete
on dept
to jj3;

insert into super.dept
values(60, '', '');

update super.dept
set dname='권한연습중'
where deptno=60;

delete super.dept
where deptno=60;


super.dept ---> jj1 super.dept ---> jj2 super.dept
select select
update

jj1 : create session
jj2 : create session 을 가질수 있게...

grant create session
to jj1, jj2;

conn super/man

grant select, update
on dept
to jj1
with grant option;

conn jj1/jj1

grant select
on super.dept
to jj2;

conn jj2/jj2

select *
from super.dept;

객체권한 조회
select *
from user_tab_privs;

객체권한 받은것
select *
from user_tab_privs_recd;

객체권한 준것
select *
from user_tab_privs_made;


권한회수
revoke 권한[, 권한, ...]
on 객체명
from user명;


super
jj3로부터 super.dept
select, insert, update, delete 회수
revoke select, insert, update, delete
on dept
from jj3;


super는 
jj1으로부터 dept객체에 대한 select, update 권한을 회수합니다.

revoke select, update
on dept
from jj1;

===============================================

* Role
: 권한집합

- DBA
- CONNECT
- RESOURCE

*role 생성
create role role명

- role에 권한부여
- role에 권한회수

-sys에서
role roletest
- create session, create table, drop table

grant create session, create table, drop any table
to roletest;

jj1 user에게 roletest 부여
grant roletest
to jj1;

create session권한을 roletest에서 회수
revoke create session
from roletest

jj1 user로부터 roletest 회수
revoke roletest
from jj1


* role 삭제
drop role role명

drop role roletest;


select *
from user_role_privs;

select * 
from role_sys_privs;

Oracle(Test_1) - SELECT query문 종합문제

Posted by seunggwon
2009. 6. 22. 13:05 Web Develop Note/Oracle

1. 부서 번호가 10번인 부서의 사람 중 사원번호, 이름, 급여를 출력해라.
select empno, ename, sal
from emp
where deptno=10;

2. 사원번호가 7369인 사람 중 이름, 입사일, 부서번호를 출력해라.
select ename, hiredate, deptno
from emp
where empno=7369;

3. 이름이 ALLEN인 사람의 모든 정보를 출력하여라.
select *
from emp
where ename='ALLEN';

4. 입사일이 87/04/19인 사원의 이름, 부서번호, 급여를 출력해라.
select ename, deptno, sal
from emp
where hiredate='87/04/19';

5. 직업이 MANAGER가 아닌 사람의 모든 정보를 출력해라.
select *
from emp
where  job!='MANAGER';

6. 입사일이 81/04/02 이후에 입사한 사원의 정보를 출력해라.
select *
from emp
where hiredate>'81/04/02';

7. 급여가 800이상인 사람의 이름, 급여, 부서번호를 출력해라.
select empno, sal, deptno
from emp
where sal>=800;

8. 부서번호가 20번 이상인 사원의 모든 정보를 출력해라.
select *
from emp
where deptno>=20;

9. 입사일이 81/12/09보다 먼저 입사한 사람들의 모든 정보를 출력해라.
select *
from emp
where hiredate<'81/12/09';

10. 사원번호가 7698보다 작거나 같은 사람들의 입사번호와 이름을 출력해라.
select empno, ename
from emp
where empno<=7698;

11. 입사일이 81/04/02보다 늦고 82/12/09보다 빠른 사원의 이름, 급여, 부서번호를 출력해라.
select ename, sal, deptno
from emp
where hiredate between '81/04/20' and '82/12/09';

12. 급여가 1600보다 크고 3000보다 작은 사람의 이름, 직업, 급여를 출력해라.
select ename, job, sal
from emp
where sal>1600 and sal<3000;

13. 사원번호가 7654와 7782사이 이외의 사원의 모든 정보를 출력해라.
select *
from emp
where empno not between 7654 and 7782;

14. 입사일이 81년 이외에 입사한 사원의 모든 정보를 출력해라.
select *
from emp
where hiredate not between '81/1/1' and '81/12/31';

15. 직업이 MANAGER와 SALESMAN인 사원의 모든 정보를 출력해라.
select ename, empno
from emp
where job in('MANAGER', 'SALESMAN');

16. 부서번호가 20, 30번을 제외한 모든 사원의 이름, 사원번호를 출력해라.
select ename, empno
from emp
where deptno not in(20, 30);

17. 이름이 S로 시작하는 사원의 사원번호, 이름, 입사일, 부서번호를 출력해라.
select empno, ename, hiredate, deptno
from emp
where ename like 'S%';

18. 입사일이 81년도인 사원의 모든 정보를 출력해라.
select *
from emp
where hiredate between '81/1/1' and '81/12/31';

19. 이름 중 S자가 들어가 있는 사람만 모든 정보를 출력해라.
select *
from emp
where ename like '%S%';

20. 이름이 S자로 시작하고 마지막 글자가 T인 사람의 모든 정보를 출력해라.(이때, 이름의 전체 글자수는 5자리이다.)
select *
from emp
where ename like 'S___T';

21. 첫 번째 문자는 관계없고 두 번째 문자가 A인 사원의 모든 정보를 출력해라.
select *
from emp
where ename like '_A%';

22. 커미션이 NULL인 사람의 정보를 출력해라.
select *
from emp
where comm is null;

23. 부서가 30번 부서이고 급여가 500이상인 사람의 이름, 부서, 급여를 출력하라.

select ename, deptno, sal
from emp
where deptno=30 and sal>=500;

24. 이름의 첫 글자가 K로 시작하거나 부서번호가 30인 사람의 사원번호, 이름, 부서번호를 출력하라.
select empno, ename, deptno
from emp
where ename like 'K%' and deptno=30;

25. 급여가 1500이상이고 부서번호가 30번인 사원중 직업이 MANAGER인 사원의 모든 정보를 출력하여라.
select *
from emp
where sal>=1500 and deptno=30 and job='MANAGER';

Oracle(3일차) - WHERE(비교연산자, 논리연산자, null검색)

Posted by seunggwon
2009. 6. 22. 13:00 Web Develop Note/Oracle

* 비교연산자
a=b : a는 b와 같다.
a<>b : a와 b는 같지 않다.
a>b : a는 b보다 크다(초과)
a>=b : a는 b보다 크거나 같다(이상)
a<b : a는 b보다 작다(미만)
a<=b : a는 b보다 작거나 같다(이하)

- 예제
1. 급여가 1500이상 2850이하 사원출력

select ename, sal
from emp
where sal>=1500 and sal<=2850
order by sal asc;
혹은
select ename, sal

from emp
where sal between 1500 and 2850
order by sal asc;

*논리연산자
or, and, not

*in(값, 값, ...)

not in(값, 값, ...)

예제
1. 사원명, 부서번호조회
부서번호가 10 또는 20 조회
 select ename, deptno
 from emp
 where deptno=10 or deptno=20 -> 같은 의미로  where deptno in(10, 20)
                                             -> 부정의의미 where deptno not in(10, 20)
 order by deptno asc;

2. 10과 30사이

select ename,deptno
from emp
where deptno not between 10 and 20
order by deptno asc;

*연결연산자 : ||
*함수명(~, ~, ~) parameter, argument, 인수, 인자

concat(표현식, 표현식) 인수가 2개밖에 들어갈수 있다.
현재날짜와 시간조회

*2009/06/22 09:41:30 이런형태로 출력하려면...
to_char(날짜, '날짜시간Format') 중요함...
to_char(sysdate, 'yyyy/mm/dd hh:mi:ss')

select sysdate, to_char(sysdate, 'bc yyyy/mon/dd day hh24:mi:ss am')
from dual;

* alter session set nls_date_format='날짜시간format'

*조건
select ~
from 테이블명
[where 조건]
[order by 정렬기준 정렬방법];

- 데이터타입 : 문자. 날짜 '~'

예제
- allen의 사원번호, 급여, 입사일조회
select empno, sal, hiredate
from emp
where ename='ALLEN';

*소문자를 대문자로 변환하는 함수
upper(~)

예제
select empno, sal, hiredate
from emp
where ename=upper('allen');

*lower(~)
대문자를 소문자로 출력시키는 함수

*앞글자만 대문자로...
initcap(~)

select empno, sal, lower(ename), initcap(ename), hiredate
from emp
where ename=upper('allen');

81/09/28에 입사한 사원명, 입사일, 급여, 커미션 조회
select ename, hiredate, sal, comm
from emp
where hiredate='81/09/28';

- 예제
1. xx번 부서는 ~~~ =>  출력 concat함수 + ~ 사용
select concat(deptno, concat('번 부서 : ', dname))
from dept;
OR
select deptno||concat('번 부서 : ', dname)

from dept;

2. 커미션이 확정된 사원의 사원번호, 사원명, 급여, 커미션 조회
select empno, ename, sal, comm
from emp
where comm is not null;

3. 2번 결과내 급여가 1500이상인 사원번호, 사원명, 급여, 커미션 조회
select empno, ename, sal, comm
from emp
where comm is not null and sal>=1500;

4. 3번의 결과를 급여 오름차순 조회
select empno, ename, sal, comm
from emp
where comm is not null and sal>=1500;
order by sal asc;

5. 10번 또는 20번 부서에 근무하는 사원들의
부서번호, 사원명, 급여, 커미션, bonus를 bonus 오름차순, 동일보너스 내 사원명 오름차순
bonus=기본커미션+300 커미션이 null이면 50을 기본 커미션으로 한다.
select deptno, ename, sal, nvl(comm, 50), nvl(comm, 50)+300 as bonus
from emp
where deptno in(10, 20)
order by bonus asc, ename asc;

Oracle(2일차) - SELECT(select 문법, 특정컬럼조회, 정렬, null의 의미)

Posted by seunggwon
2009. 6. 19. 13:00 Web Develop Note/Oracle

* select 문법
select {* | 컬럼명}
from table명
order by 정렬기준 정렬방법, [정렬기준 정렬방법];

* 특정컬럼조회
- dept(부서테이블)

DEPTNO : 부서번호 (기본키 = primary key)
DNAME : 부서명
LOC : 지역

- emp(사원)

EMPNO : 사원번호 (기본키 = primary key)
ENAME : 사원명
JOB : 업무
MGR : 상사
HIREDATE: 입사일
SAL : 급여
COMM : 커미션
DEPTNO : 부서번호 (외래키 = foreign key)

- salgrade(급여등급)

GRADE : 호봉
LOSAL : 최저임금
HISAL : 최고임금

- 예제
1. dept 테이블에서 부서번호와 부서명 조회
select deptno, dname
from dept;

2. 사원테이블에서 사원번호, 사원명, 업무, 업무입사일 조회

select empno, ename, job, hiredate
from emp;

3. 사원테이블에서 사원번호, 사원명, 급여, 커미션, 부서번호 조회

select empno, ename, sal, comm, deptno
from emp;

* 정렬
오름차순(asc) : 숫자 작음 -> 큼 , 문자 a->z A->Z ㄱ->ㅎ날짜 예전->최근
내림차순(desc) : 숫자 큼 -> 작음, 문자 z->a Z->A ㅎ->ㄱ 날짜 최근->예전

*distinct : 중복되는 컬럼을 한번씩만 보여줌

- 예제
1. 부서테이블에서 부서명 내림차순 조회
select distinct *
from dept
order by dname desc;


2. 동일부서내 급여를 많이 받는 사원부터 조회
select *
from emp
order by sal desc;

3. 동일부서내에 급여를 많이 받는 사원부터 출력하되 급여가 동일하다면 이름 오름차순
select *
from emp
order by sal desc, ename asc;

* 별칭
- 칼럼명 [as] 칼럼alias
- 칼럼명 "칼럼alias" : "~~"에는 소문자, 대소문자, 공백, 한글

* null의 의미
0(zero)도 아니고, 빈공간도 아니다. 
미확정(해당사항 없음), 알수 없는(unknown) 값을 의미한다.
어떤 값인지 알 수 없지만 어떤 값이 존재하고 있다.
? 혹은 ∞의 의미이므로 연산, 할당, 비교가 불가능하다.

*산술연산
+, -, *, /

* dual 테이블
산술연산이나 가상컬럼 등의 값을 한번만 출력하고 싶을 때 많이 사용하는 테이블

- 예제
오늘 날짜를 한번만 출력
select sysdate
from dual;

C++ 4일차

Posted by seunggwon
2009. 5. 19. 18:43 IT Note/C++

/* v1.0 성적표

학생이 몇명인지 물어본다.

국어,영어,수학 점수 입력한다.

평균 계산해서 입출력한다.

 

#include <iostream.h>

class Student

{

private:

             int *kor;

             int *eng;

             int *math;

             int *ave;

public:

             void stu_input(int num)     //학생 성적 입력

             {

                           kor=new int[num];

                           eng=new int[num];

                           math=new int[num];

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

                           {

                                        cout<<i+1<<"번의 국어 점수를 입력하세요.";

                                        cin>>kor[i];

                                        cout<<i+1<<"번의 영어 점수를 입력하세요.";

                                        cin>>eng[i];

                                        cout<<i+1<<"번의 수학 점수를 입력하세요.";

                                        cin>>math[i];

                                        cout<<"-----------------------------\n";

                           }

             }

             void stu_ave(int num)       //학생 평균

             {

                           ave=new int[num];

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

                           {

                                        ave[i]=(kor[i]+eng[i]+math[i])/3;

                                        cout<<i+1<<"번의 학생의 평균은 "<<ave[i]<<"점입니다.\n";

                                        cout<<"----------------------------------\n";

                           }

             }

};

void main()

{

             Student stu;

             int num;

             cout<<"학생이 몇명입니까?";

             cin>>num;

             stu.stu_input(num);

             stu.stu_ave(num);

}*/

/* 성적표 v1.5

추가사항

메뉴 : 1.성적추가 2.성적출력 3.종료

성적출력하면 반평균 추가한다.*/

/*

#include <iostream.h>

class Student

{

private:

             int *kor;

             int *eng;

             int *math;

             int *student_ave;

             int class_ave;

public:

             void stu_input(int num)     //학생 성적 입력

             {

                           kor=new int[num];

                           eng=new int[num];

                           math=new int[num];

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

                           {

                                        cout<<i+1<<"번의 국어 점수를 입력하세요.";

                                        cin>>kor[i];

                                        cout<<i+1<<"번의 영어 점수를 입력하세요.";

                                        cin>>eng[i];

                                        cout<<i+1<<"번의 수학 점수를 입력하세요.";

                                        cin>>math[i];

                                        cout<<"-----------------------------\n";

                           }

             }

             void stu_output(int num)   //학생 개인 성적과 평균 출력

             {

                           student_ave=new int[num];

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

                           {

                                        student_ave[i]=(kor[i]+eng[i]+math[i])/3;

                                        cout<<i+1<<"번 학생\n";

                                        cout<<"국어 영어 수학 평균\n";

                                        cout<<" "<<kor[i]<<"   "<<eng[i]<<"   "<<math[i]<<"   "<<student_ave[i]<<endl;

                                        cout<<"----------------------------------\n";

                           }

             }

             void Class_ave(int num)   //반 평균 출력

             {

                           class_ave=0;

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

                           {

                                        class_ave+=student_ave[i];

                           }

                           class_ave=class_ave/num;

                           cout<<"반평균은 "<<class_ave<<"점입니다.\n";

                           cout<<"종료합니다.\n";

             }

};

void main()

{

             Student stu;

             int num=0;

             int menu;

             for(;;)

             {

                           cout<<"메뉴를 선택하세요.\n";

                           cout<<"1.성적 입력 2. 성적출력 3.종료 \n";

                           cin>>menu;

                           if(menu==1)

                           {

                                        cout<<"학생이 몇명입니까?";

                                        cin>>num;

                                        stu.stu_input(num);

                           }

                           else if(menu==2)

                           {

                                        if(num==0)

                                        {

                                                     cout<<"입력된 값이 없습니다.\n";

                                        }

                                        else

                                        {

                                                     stu.stu_output(num);

                                        }

                           }

                           else if(menu==3)

                           {

                                        if(num==0)

                                        {

                                                     cout<<"입력된 값이 없습니다.\n";

                                        }

                                        else

                                        {

                                                     stu.Class_ave(num);

                                        }

                                        break;

                           }

                           else

                           {

                                        cout<<"다시 입력하세요.\n";

                           }

             }

}*/

/*성적표 v2.0

메뉴추가 1.성적입력 2.성적출력 3.로드 4.저장 5.종료*/

//          파일의 저장과 로드

//          File *fopen(*filename,*mode);       파일을 연다.

//          mode에서 wt는 쓰기, rt는 읽기

//          fprintf 파일을 출력하는 함수

//          fclose 해체

 

#include <iostream.h>

#include <string.h>

class Student

{

private:

             int *kor;

             int *eng;

             int *math;

             int *student_ave;

             int class_ave;

public:

             void stu_input(int num)     //학생 성적 입력

             {

                           kor=new int[num];

                           eng=new int[num];

                           math=new int[num];

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

                           {

                                        cout<<i+1<<"번의 국어 점수를 입력하세요.";

                                        cin>>kor[i];

                                        cout<<i+1<<"번의 영어 점수를 입력하세요.";

                                        cin>>eng[i];

                                        cout<<i+1<<"번의 수학 점수를 입력하세요.";

                                        cin>>math[i];

                                        cout<<"-----------------------------\n";

                           }

             }

             void stu_output(int num)   //학생 개인 성적과 평균 출력

             {

                           student_ave=new int[num];

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

                           {

                                        student_ave[i]=(kor[i]+eng[i]+math[i])/3;

                                        cout<<i+1<<"번 학생\n";

                                        cout<<"국어 영어 수학 평균\n";

                                        cout<<" "<<kor[i]<<"   "<<eng[i]<<"   "<<math[i]<<"   "<<student_ave[i]<<endl;

                                        cout<<"----------------------------------\n";

                           }

             }

             void stu_load()

             {

                           FILE *f=fopen("text.txt","rt");

                           fgets(,f);

                           fclose(f);

             }

             void stu_save()

             {

                           FILE *f=fopen("text.txt","wt");

                           fputs(,f);

                           fclose(f);

             }

             void Class_ave(int num)   //반 평균 출력

             {

                           class_ave=0;

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

                           {

                                        class_ave+=student_ave[i];

                           }

                           class_ave=class_ave/num;

                           cout<<"반평균은 "<<class_ave<<"점입니다.\n";

                           cout<<"종료합니다.\n";

             }

};

void main()

{

             Student stu;

             int num=0;

             int menu;

             for(;;)

             {

                           cout<<"메뉴를 선택하세요.\n";

                           cout<<"1.성적 입력 2. 성적출력 3.로드 4.저장 5.종료\n";

                           cin>>menu;

                           if(menu==1)         //성적입력

                           {

                                        cout<<"학생이 몇명입니까?";

                                        cin>>num;

                                        stu.stu_input(num);

                           }

                           else if(menu==2) //성적출력

                           {

                                        if(num==0)

                                        {

                                                     cout<<"입력된 값이 없습니다.\n";

                                        }

                                        else

                                        {

                                                     stu.stu_output(num);

                                        }

                           }

                           else if(menu==3) //로드

                           {

                                        if(num==0)

                                        {

                                                     cout<<"입력된 값이 없습니다.\n";

                                        }

                                        else

                                        {

                                                     stu.stu_load(num);

                                        }

                           }

                           else if(menu==4) //저장

                           {

                                        if(num==0)

                                        {

                                                     cout<<"입력된 값이 없습니다.\n";

                                        }

                                        else

                                        {

                                                     stu.stu_save(num);

                                        }

                           }

                           else if(menu==5) //종료

                           {

                                        if(num==0)

                                        {

                                                     cout<<"입력된 값이 없습니다.\n";

                                        }

                                        else

                                        {

                                                     stu.Class_ave(num);

                                        }

                                        break;

                           }

                           else       //잘못 입력했을때

                           {

                                        cout<<"다시 입력하세요.\n";

                           }

             }

}

 

ee.h

 

//class로 계산기를 만들기

#include <iostream.h>

class Cal

{

private:

             int add_sum;       //더하기

             int sub_sum;       //빼기

             int mul_sum;       //곱하기

             int divi_sum;        //나누기

             int result;                          //연산결과

public:

             void init()

             {

                           add_sum=0;

                           sub_sum=0;

                           mul_sum=0;

                           divi_sum=0;

             }

             void add(int a,int b)

             {

                           result=a+b;

                           cout<<a<<"+"<<b<<"="<<result<<endl;

                           add_sum++;

             }

             void sub(int a,int b)

             {

                           result=a-b;

                           cout<<a<<"-"<<b<<"="<<result<<endl;

                           sub_sum++;

             }

             void mul(int a,int b)

             {

                           result=a*b;

                           cout<<a<<"*"<<b<<"="<<result<<endl;

                           mul_sum++;

             }

             void divi(int a,int b)

             {

                           result=a/b;

                           cout<<a<<"/"<<b<<"="<<result<<endl;

                           divi_sum++;

             }

             void exit()

             {

                           cout<<"총 덧셈 연산은 "<<add_sum<<"번 했습니다.\n";

                           cout<<"총 뺄셈 연산은 "<<sub_sum<<"번 했습니다.\n";

                           cout<<"총 곱셈 연산은 "<<mul_sum<<"번 했습니다.\n";

                           cout<<"총 나눗셈 연산은 "<<divi_sum<<"번 했습니다.\n";

                           cout<<"종료합니다.\n";

             }

};

void main()

{

             int num1, num2;

             Cal cal;

             cal.init();

             for(;;)

             {

                           cout<<"어떤 연산을 할 것인지 선택하세요.\n";

                           cout<<"1:+, 2:-, 3:*, 4:/, 5:exit \n";

                           int cho;

                           cin>>cho;

                           if(cho==1)

                           {

                                        cout<<"두개의 숫자를 입력하세요.\n";

                                        cin>>num1>>num2;

                                        cal.add(num1,num2);

                           }

                           else if(cho==2)

                           {

                                        cout<<"두개의 숫자를 입력하세요.\n";

                                        cin>>num1>>num2;

                                        cal.sub(num1,num2);

                           }

                           else if(cho==3)

                           {

                                        cout<<"두개의 숫자를 입력하세요.\n";

                                        cin>>num1>>num2;

                                        cal.mul(num1,num2);

                           }

                           else if(cho==4)

                           {

                                        cout<<"두개의 숫자를 입력하세요.\n";

                                        cin>>num1>>num2;

                                        cal.divi(num1,num2);

                           }

                           else if(cho==5)

                           {

                                        cal.exit();

                                        break;

                           }

                           else

                           {

                                        cout<<"잘못입력하셨습니다.\n";

                           }

             }

}


'IT Note > C++' 카테고리의 다른 글

C++ 3일차  (0) 2009.05.19
C++ 2일차  (0) 2009.05.19
C++ 1일차  (0) 2009.05.19

C++ 3일차

Posted by seunggwon
2009. 5. 19. 18:42 IT Note/C++

//class로 계산기를 만들기

#include <iostream.h>

class Cal

{

private:

             int add_sum;       //더하기

             int sub_sum;       //빼기

             int mul_sum;       //곱하기

             int divi_sum;        //나누기

             int result;                          //연산결과

public:

             void init()

             {

                           add_sum=0;

                           sub_sum=0;

                           mul_sum=0;

                           divi_sum=0;

             }

             void add(int a,int b)

             {

                           result=a+b;

                           cout<<a<<"+"<<b<<"="<<result<<endl;

                           add_sum++;

             }

             void sub(int a,int b)

             {

                           result=a-b;

                           cout<<a<<"-"<<b<<"="<<result<<endl;

                           sub_sum++;

             }

             void mul(int a,int b)

             {

                           result=a*b;

                           cout<<a<<"*"<<b<<"="<<result<<endl;

                           mul_sum++;

             }

             void divi(int a,int b)

             {

                           result=a/b;

                           cout<<a<<"/"<<b<<"="<<result<<endl;

                           divi_sum++;

             }

             void exit()

             {

                           cout<<"총 덧셈 연산은 "<<add_sum<<"번 했습니다.\n";

                           cout<<"총 뺄셈 연산은 "<<sub_sum<<"번 했습니다.\n";

                           cout<<"총 곱셈 연산은 "<<mul_sum<<"번 했습니다.\n";

                           cout<<"총 나눗셈 연산은 "<<divi_sum<<"번 했습니다.\n";

                           cout<<"종료합니다.\n";

             }

};

void main()

{

             int num1, num2;

             Cal cal;

             cal.init();

             for(;;)

             {

                           cout<<"어떤 연산을 할 것인지 선택하세요.\n";

                           cout<<"1:+, 2:-, 3:*, 4:/, 5:exit \n";

                           int cho;

                           cin>>cho;

                           if(cho==1)

                           {

                                        cout<<"두개의 숫자를 입력하세요.\n";

                                        cin>>num1>>num2;

                                        cal.add(num1,num2);

                           }

                           else if(cho==2)

                           {

                                        cout<<"두개의 숫자를 입력하세요.\n";

                                        cin>>num1>>num2;

                                        cal.sub(num1,num2);

                           }

                           else if(cho==3)

                           {

                                        cout<<"두개의 숫자를 입력하세요.\n";

                                        cin>>num1>>num2;

                                        cal.mul(num1,num2);

                           }

                           else if(cho==4)

                           {

                                        cout<<"두개의 숫자를 입력하세요.\n";

                                        cin>>num1>>num2;

                                        cal.divi(num1,num2);

                           }

                           else if(cho==5)

                           {

                                        cal.exit();

                                        break;

                           }

                           else

                           {

                                        cout<<"잘못입력하셨습니다.\n";

                           }

             }

}

*/

//생성자 소멸자

/*

#include <iostream.h>

class A

{

             int a;

public:

             A(int a)

             {

                           a=a;

                           cout<<"생성자 호출"<<a<<endl;

             }

             ~A()

             {

                           cout<<"소멸자 호출"<<a<<endl;

             }

};

void main()

{

             {

                           A a(1);

                           {

                                        A b(2);

                                        {

                                                     A c(3);

                                        }

                           }

             }

}

*/

/*

#include <iostream.h>

class Date

{

private:

             int year;

             int month;

             int day;

             int sum;

public:

             Date()

             {

                          

             }

             int result(int year[2],int month[2],int day[2])

             {

                           year=year[1]-year[0];

                           month=month[1]-month[0];

                           day=day[1]-day[0];

                           sum=year*365+month*30+day;

                           return sum;

             }

};

void main()

{

             Date date;

             int year[2], month[2], day[2];

             cout<<"만난날을 몇년, 몇월, 몇일 순서대로 입력하세요.\n";

             cin>>year[0]>>month[0]>>day[0];

             cout<<"오늘 날짜를 입력하세요.\n";

             cin>>year[1]>>month[1]>>day[1];

             cout<<"총 만난날은 "<<date.result(int year[2],int month[2],int day[2])<<"일입니다.\n";

}

*/

/*

//ID와 비밀번호 클래스로, 동적할당

//사용자는

#include <iostream.h>

class user

{

private:

             char *ID;

             char *p;

public:

             void (char *c)

             {

                           int

             }

};

//몇명인지 물어본다.

void main()

{

             int num;

             cout<<"몇명을 입력합니까?";

             cin>>num;

             user *a=new int[num];

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

             {

                           cout<<"ID를 입력하세요.";

                           cin>>;

                           cout<<;

                           cin>>;

             }

 

            

             //동적할당으로 입력해서 클래스에서 동적할당

//입출력

}

*/

#include <iostream.h>

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

class U

{

private:

             char *i;

             char *p;

             void input(char *ID,char *pass)

             {

                           int a=strlen(ID);

                           int b=strlen(pass);

                           i=new char[a+1];

                           p=new char[b+1];

                           strcpy(i,ID);

             }

             void output(char *ID,char *pass)

             {

             }

             ~U()

             {

                           delete[] i;

                           delete[] p;

             }

};

void main()

{

             int num;

             U *p=new U[num];

             char ID[128];

             char pass[128];

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

             {

                           cin>>ID;

                           cin>>pass;

                           p[i].input(ID,pass);

             }

             for(int j=0;j<num;j++)

             {

                           p[j].output(ID,pass);

             }

             delete[] p;

}

 

'IT Note > C++' 카테고리의 다른 글

C++ 4일차  (0) 2009.05.19
C++ 2일차  (0) 2009.05.19
C++ 1일차  (0) 2009.05.19

C++ 2일차

Posted by seunggwon
2009. 5. 19. 18:41 IT Note/C++

//문자열을 입력받아 문자를 거꾸로 바꿔서 출력하기.

/*

#include <iostream.h>

#include <stdio.h>

#include <string.h>

char* change(char *src)

{

             int len=strlen(src);

             char *Temp=new char[len+1];

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

             {

                           Temp[i]=src[len-1-i];

             }

             Temp[len]=NULL;

             return Temp;

}

void main()

{

             char ori[128];

             gets(ori);

             char *ch=change(ori);

             cout<<"원래 문자열 : "<<ori<<endl;

             cout<<"바뀐 문자열 : "<<ch<<endl;

             delete ch;

}

*/

//클래스

//구조체는 함수를 못담지만 클래스는 함수를 담을수 있다.

/*

#include <iostream.h>

class Man

{

public:

             char name[128];

             int age;

             int tall;

};

void main()

{

             Man *a;

             int num;

             cout<<"사람 수가 몇 명입니까?";

             cin>>num;

             a=new int[num];

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

             {

                           cout<<i+1<<"번째 사람의 이름을 입력하세요. ";

                           cin>>a.name;

                           cout<<"나이를 입력하세요. ";

                           cin>>a.age;

                           cout<<"키를 입력하세요. ";

                           cin>>a.tall;

             }

             for(int j=0;j<num;j++)

             {

                           cout<<"이름 : "<<a.name<<", 나이 : "<<a.age<<"살, 키 : "<<a.tall<<"cm\n";

             }

            

}

*/

#include <iostream.h>

class Man

{

private:

             char name[128];

             int tall;

             int age;

public:

             void Input()

             {

                           cout<<"이름 입력\n";

                           cin>>name;

                           cout<<"키 입력\n";

                           cin>>tall;

                           cout<<"나이 입력\n";

                           cin>>age;

             }

             void Output(char *s,int a,int b)

             {

                           cout<<s<<endl;

                           cout<<a<<endl;

                           cout<<b<<endl;

             }

};

void main()

{

             int num;

             cout<<"학생수 입력\n";

             Man a[num];

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

             {

                           a[i].Input();

             }

             for(int )

             a.Output("이름",180,19);

}

//숙제

/*

class student

{

private:

             //성적은 private

             int kor;

             int eng;

             void Input()

             {

 

             }

             void Output()//클래스 내에 해야됨.

             {

                           //번호순대로 총점과 평균을 출력한다.

};

void main

{

             //학생이 몇명?

             //동적할당한다.

             //번호별로 점수 입력

};


'IT Note > C++' 카테고리의 다른 글

C++ 4일차  (0) 2009.05.19
C++ 3일차  (0) 2009.05.19
C++ 1일차  (0) 2009.05.19

C++ 1일차

Posted by seunggwon
2009. 5. 19. 18:39 IT Note/C++

#include <iostream.h>

void main()

{

             int a,b;

             int sum;

             cout<<"숫자 2개를 입력하세요.\n";

             cin>>a>>b;

             if (a<b)

             {

                           for(sum=0,a+=1;a<b;a++)

                           {

                                        sum+=a;

                           }

             }

             else if (a>b)

             {

                           for(sum=0,b+=1;a>b;b++)

                           {

                                        sum+=b;

                           }

             }

             else

             {

                           sum=0;

             }

             cout<<"두 값 사이의 합은 "<<sum<<"입니다.\n";

}

*/

/*

#include <iostream.h>

void main()

{

             int num;

             cout<<"몇단을 출력할까요?\n";

             cin>>num;

             for(int i=1;i<=9;i++)

             {

                           cout<<num<<" * "<<i<<" = "<<num*i<<"\n";

             }

}

*/

//동적할당은 c++로

//int *p=(int *)malloc(4);

//int *p=new int;

//free(p);

//delete p;

//int *p=(int *)malloc(4*sizeof(int));

//int *p=new int[4];

#include <iostream.h>

void change(int *p,int num)

{

             num--;

             int *Temp=new int[num];

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

             {

                           Temp[i]=p[num-i];

             }

             for(int j=0;j<=num;j++)

             {

                           p[j]=Temp[j];

             }

}

void main()

{

             cout<<"생성할 숫자의 갯수는?";

             int num;

             cin>>num;

             int *p=new int[num];

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

             {

                           p[i]=i+1;

             }           

             change(p,num);

             for(int j=0;j<num;j++)

             {

                           cout<<p[j]<<"\n";

             }

             delete p;

}

 

'IT Note > C++' 카테고리의 다른 글

C++ 4일차  (0) 2009.05.19
C++ 3일차  (0) 2009.05.19
C++ 2일차  (0) 2009.05.19

C언어 - 10일차

Posted by seunggwon
2009. 5. 19. 18:38 IT Note/C

//숙제:3개의 반을 물어본다.

#include <stdio.h>

#include <stdlib.h>

#define Class 3

struct std

{

             int kor;

             int eng;

};

void input(std *s,int num[Class])

{

             int i,j;

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

             {

                           for(j=0;j<num[i];j++)

                           {

                                        printf("%d번의 학생의 국어점수를 입력하세요.",i+1);

                                        scanf("%d",&s[i].kor);

                                        printf("%d번의 학생의 영어점수를 입력하세요.",i+1);

                                        scanf("%d",&s[i].eng);

                                        printf("--------------------------------------\n");

                           }

             }

}

//%d반의 총 국어 평균, 영어 평균 제일 잘한반 %d반 출력하기

void output(std *s,int num[Class])

{

             int i;

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

             {

                           printf("%d번 국어점수:%d점, 영어점수:%d점\n",i+1,s[i].kor,s[i].eng);

                           printf("-----------------------------------------\n");

             }

}

void main()

{           

             int num[Class];

             int i;

             std *s;  

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

             {

                           printf("%d반의 학생이 몇명입니까?",i+1);

                           scanf("%d",&num[Class]);

             }

             printf("--------------------\n");

             s=(std *)malloc(num[Class]*sizeof(std));

             input(s,num[Class]);

             output(s,num[Class]);

             free(s);

}

'IT Note > C' 카테고리의 다른 글

C언어 - 9일차  (0) 2009.05.19
C언어 - 8일차  (0) 2009.05.19
C언어 - 7일차  (0) 2009.05.19

C언어 - 9일차

Posted by seunggwon
2009. 5. 19. 18:36 IT Note/C

//          파일의 저장과 로드

//          File *fopen(*filename,*mode);       파일을 연다.

//          mode에서 wt는 쓰기, rt는 읽기

//          fprintf 파일을 출력하는 함수

//          fclose 해체

 

/*

#include <stdio.h>

void main()

{

//          int a=20;

             int b;

             FILE *f=fopen("test.txt","rt");

             fscanf(f,"%d",&b);

             printf("%d\n",b);

//          FILE *f=fopen("test.txt","wt");

//          fprintf(f,"%d",a);

             fclose(f);

}

*/

/*

#include <stdio.h>

#include <string.h>

void main()

{

             char sen1[128];

             char sen2[128];

             printf("문장을 입력하세요.\n");

             gets(sen1);

             FILE *f1=fopen("test.txt","wt");

             fputs(sen1,f1);

             fclose(f1);

             FILE *f2=fopen("test.txt","rt");

             printf("문장을 출력합니다.\n");

             fgets(sen2,sizeof(sen1),f2);

             puts(sen2);

             fclose(f2);

}

*/

 

//구구단

/*

#include <stdio.h>

void main()

{

             int i,j;

             FILE *f=fopen("99.txt","wt");

             for(i=2;i<=9;i++)

             {

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

                           {

                                        printf("%d * %d = %d \n",i,j,i*j);

                           }

             }

             for(i=2;i<=9;i++)

             {

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

                           {

                                        fprintf(f,"%d * %d = %d \n",i,j,i*j);

                           }

             }

             fclose(f);

}

*/

#include <stdio.h>

void main()

{

             int i,j,k;

             char a,b;

             k=i*j;

             FILE *f=fopen("99.txt","rt");

             for(i=2;i<=9;i++)

             {

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

                           {

                                        fscanf(f,"%d %c %d %c %d",&i,&a,&j,&b,&k);

                                        printf("%d %c %d %c %d \n",i,a,j,b,k);

                           }

             }

             fclose(f);

}

'IT Note > C' 카테고리의 다른 글

C언어 - 10일차  (0) 2009.05.19
C언어 - 8일차  (0) 2009.05.19
C언어 - 7일차  (0) 2009.05.19

C언어 - 8일차

Posted by seunggwon
2009. 5. 19. 18:34 IT Note/C

#include <stdio.h>

 

struct A

{

             char name[128];

             int kor;

             int eng;

};

void main()

{

             int i;

             A P[5];

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

             {

                           printf("%d번의 학생 이름을 입력하세요.",i+1);

                           scanf("%s",&P[i].name);

                           printf("국어 점수를 입력하세요.");

                           scanf("%d",&P[i].kor);

                           printf("영어 점수를 입력하세요.");

                           scanf("%d",&P[i].eng);

             }

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

             {

                           printf("%s의 국어 점수 : %d, 영어 점수 : %d \n",P[i].name,P[i].kor,P[i].eng);

             }

}


'IT Note > C' 카테고리의 다른 글

C언어 - 9일차  (0) 2009.05.19
C언어 - 7일차  (0) 2009.05.19
C언어 - 6일차  (0) 2009.05.19

C언어 - 7일차

Posted by seunggwon
2009. 5. 19. 18:33 IT Note/C

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#include <string.h>

//동적할당

/*

void main()

{

             int num;

             int i;

             int *age;

 

             printf("가족의 수를 몇입니까?");

             scanf("%d",&num);

             age=(int *)malloc(num*sizeof(int));

 

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

             {

                           printf("나이를 입력하세요.");

                           scanf("%d",&age[i]);

             }

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

             {

                           printf("%d번째 식구의 나이는 %d살입니다.\n",i+1,age[i]);

             }

             free(age);

}*/

/*

#define cn 2

void main()

{

             int *Class[cn];

             int num[cn]; //학생수

             int i,j;

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

             {

                           printf("%d반의 학생의 수 :",i+1);

                           scanf("%d",&num[i]);

                           Class[i]=(int *)malloc(num[i]*sizeof(int));

             }

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

             {

                           for(j=0;j<num[i];j++)

                           {

                                        printf("%d반의 %d번 학생의 키:",i+1,j+1);

                                        scanf("%d",&Class[i][j]);

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

                           }

             }

}*/

/*         

             int i,j;//반,번

             int *l[2];//키

             int num[2];//학생수

 

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

             {

                           printf("%d반의 학생수는?",i+1);

                           scanf("%d",&num[i]);

             }

             l[2]=(int *)malloc(num[2]*sizeof(int));

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

             {

                           for(j=0;j<num[i];j++)

                           {

                                        printf("%d반 %d번의 키를 입력하세요.",i+1,j+1);

                                        scanf("%d",&l[i][j]);

                           }

             }

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

             {

                           for(j=0;j<num[i];j++)

                           {

                                        printf("%d반 %d번의 키는 %dcm입니다.\n",i+1,j+1,l[i][j]);

                           }

             }

             free(l);

}*/

//숙제 : 완벽한 성적표 만들기 3학년까지 있음 1학년 1반 1번의 키를 입력 그리고 출력

#define grade 3

void main()

{

             int

}

 

 

/*

#include <stdio.h>

struct std

{

char name[128];

int kor;

int eng;

};

void main()

{

int i;

std s[5];

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

{

printf("%d번의 학생 이름을 입력하세요.",i+1);

scanf("%s",&s[i].name);

printf("국어 점수를 입력하세요.");

scanf("%d",&s[i].kor);

printf("영어 점수를 입력하세요.");

scanf("%d",&s[i].eng);

}

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

{

printf("%s의 국어 점수 : %d, 영어 점수 : %d \n",s[i].name,s[i].kor,s[i].eng);

}

}

*/

#include <stdio.h>

#include <stdlib.h>

struct std

{

             char name[128];

             int kor;

             int eng;

};

void input(std *s,int num)

{

             int i;

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

             {

                           printf("%d번의 학생의 이름을 입력하세요.",i+1);

                           scanf("%s",&s[i].name);

                           printf("%d번의 학생의 국어점수를 입력하세요.",i+1);

                           scanf("%d",&s[i].kor);

                           printf("%d번의 학생의 영어점수를 입력하세요.",i+1);

                           scanf("%d",&s[i].eng);

                           printf("--------------------------------------\n");

             }

}

void output(std *s,int num)

{

             int i;

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

             {

                           printf("%d번 %s의 국어점수:%d점, 영어점수:%d점\n",i+1,s[i].name,s[i].kor,s[i].eng);

                           printf("-----------------------------------------\n");

             }

}

void main()

{           

             //          int i;

             int num;

             std *s;  

             printf("학생이 몇명입니까?");

             scanf("%d",&num);

             printf("--------------------\n");

             s=(std *)malloc(num*sizeof(std));

             input(s,num);

             output(s,num);

             /*          for(i=0;i<num;i++)

             {

             printf("%d번의 학생의 이름을 입력하세요.",i+1);

             scanf("%s",&s[i].name);

             printf("%d번의 학생의 국어점수를 입력하세요.",i+1);

             scanf("%d",&s[i].kor);

             printf("%d번의 학생의 영어점수를 입력하세요.",i+1);

             scanf("%d",&s[i].eng);

             printf("--------------------------------------\n");

             }

             */

             /*          for(i=0;i<num;i++)

             {

             printf("%d번 %s의 국어점수:%d점, 영어점수:%d점\n",i+1,s[i].name,s[i].kor,s[i].eng);

             printf("-----------------------------------------\n");

             }

             */

             free(s);

}

//숙제:몇반 물어보고 위와 같이 풀것...


'IT Note > C' 카테고리의 다른 글

C언어 - 8일차  (0) 2009.05.19
C언어 - 6일차  (0) 2009.05.19
C언어 - 5일차  (0) 2009.05.19

C언어 - 6일차

Posted by seunggwon
2009. 5. 19. 18:32 IT Note/C

void main()

{

             int a[3]={1,2,3};

             int *p=a;

             int i;

//          printf("%d\n",&a[0]);

//          printf("%d\n",&a);

//          printf("%d\n",&a[1]);

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

             {

//                        printf("%d\n",*p++);

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

             }

}

*/

/*

void change(int *p)

{

             int temp=p[0];

             p[0]=p[1];

             p[1]=temp;

}

void main()

{

             int a[3]={1,2,3};

             change(a);

             printf("%d %d \n",a[0],a[1]);

}

*/

//블랙잭

//야구게임 10번안에

#include <stdio.h>

#include <time.h>

#include <stdlib.h>

void main()

{

             int serv[3];

             int clnt[3];

             int strike;

             int ball;

             int i,j;

             int count;

             srand(time(NULL));

 

             //컴퓨터가 3개의 숫자 입력

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

             {

                           serv[i]=rand()%9+1;

             }

 

             //컴퓨터의 3개의 숫자 중복 판단

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

             {

                           for(j=0;j<3;j++)

                           {

                                        if(serv[i]==serv[j] && i!=j)

                                        {

                                                     srand(time(NULL));

                                                     serv[i]=rand()%9+1;

                                                     i--;

                                        }

                           }

             }

 

             //컴퓨터가 입력한 3개의 숫자 최종값 출력

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

             {

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

             }

            

             for(count=0;count<10;count++)

             {

                           strike=0;

                           ball=0;

                          

                           //내가 입력

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

                           {

                                        printf("%d번째 기회입니다.\n",count+1);

                                        printf("1~9중에서 %d번째 숫자 입력하세요.\n",i+1);

                                        scanf("%d",&clnt[i]);

                           }

 

                           //내가 입력한 값 1~9까지의 숫자만 허용하고, 중복된 숫자 제외하기(수정중)

/*                       for(i=0;i<3;i++)

                           {

                                        for(j=0;j<3;j++)

                                        {

                                                     if(clnt[i]==clnt[j] && i!=j && clnt[i]>=1 && clnt[i]<=9)

                                                     {

                                                                  continue;

                                                     }

                                                     else

                                                     {

                                                                  printf("다시 입력하세요.\n");

                                                                  scanf("%d",clnt[i]);

                                                                  i--;

                                                     }

                                        }

                           }

*/

                           //스트라이크와 볼 판단

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

                           {

                                        for(j=0;j<3;j++)

                                        {

                                                     if(serv[i]==clnt[j])

                                                     {

                                                                  if(i==j)

                                                                  {

                                                                                strike++;

                                                                  }

                                                                   else

                                                                  {

                                                                                ball++;

                                                                  }

                                                     }

                                        }                                     

                           }

 

                           //판단출력

                           if(strike==0 && ball==0)

                           {

                                        printf("아웃입니다.\n");

                           }

                           else if(strike==3)

                           {

                                        printf("삼진입니다.내가 이겼습니다.\n");

                                        break;

                           }

                           else

                           {

                                        printf("%d스트라이크 %d볼 입니다.\n",strike,ball);

                           }

             }

 

             //10번의 기회에도 못 맞춘 상황

             if(count==10)

             {

                           printf("내가 졌습니다.\n");

             }

}

'IT Note > C' 카테고리의 다른 글

C언어 - 7일차  (0) 2009.05.19
C언어 - 5일차  (0) 2009.05.19
C언어 - 4일차  (0) 2009.05.19

C언어 - 5일차

Posted by seunggwon
2009. 5. 19. 18:31 IT Note/C

#include <stdio.h>

#include <time.h>

#include <stdlib.h>

//로또

void main()

{

             int com[6];

             int me[6];

             int count=0;

             int i,j;

            

             srand(time(NULL));

 

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

             {

                           com[i]=rand()%45+1;

             }

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

             {

                           printf("%d ",com[i]);

             }

                          

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

             {

                           printf("\n1~45까지 6개의 숫자를 입력하세요.");

                           scanf("%d",&me[i]);

             }

 

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

             {

                           for(j=0;j<6;j++)

                           {

                                        if(com[i]==me[j])

                                        {

                                                     count++;

                                        }

                           }

             }

             if(count<=2)

             {

                           printf("꽝입니다.");

             }

             if(count==3)

             {

                           printf("4등 당첨입니다.");

             }

             if(count==4)

             {

                           printf("3등 당첨입니다.");

             }

             if(count==5)

             {

                           printf("2등 당첨입니다.");

             }

             if(count==6)

             {

                           printf("1등 당첨입니다.");

             }

}

 

/*

void main()

{

             int a=10;

             int *p=&a;

             printf("%d\n",&a);

             printf("%d\n",p);

             *p++;

             printf("%d\n",p);

}

*/

/*

void change(int *a,int *b)

{

             int temp=*a;

             *a=*b;

             *b=temp;

}

void main()

{

             int a=10;

             int b=20;

             change(&a,&b);

             printf("%d %d \n",a,b);

}

*/

'IT Note > C' 카테고리의 다른 글

C언어 - 6일차  (0) 2009.05.19
C언어 - 4일차  (0) 2009.05.19
C언어 - 3일차  (0) 2009.05.19

C언어 - 4일차

Posted by seunggwon
2009. 5. 19. 18:30 IT Note/C

//학생3명 국어,영어,수학 점수 입력 성적순 평균값 출력

             /*

             void main()

             {

                           int stu[3][3];

                           int sum[3]={0,0,0};

                           int ave[3];

                           int max, mid, min;

                           int i,j;

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

                           {

                                        printf("학생 %d의 성적 입력하세요\n",i+1);

                                        for(j=0;j<3;j++)

                                        {

                                                     if(j==0)

                                                     {

                                                                  printf("국어 점수를 입력하세요.");

                                                     }

                                                     else if(j==1)

                                                     {

                                                                  printf("영어 점수를 입력하세요.");

                                                     }

                                                     else

                                                     {

                                                                  printf("수학 점수를 입력하세요.");

                                                     }

                                                     scanf("%d",&stu[i][j]);

                                                     sum[i]+=stu[i][j];

                                        }

                                        ave[i]=sum[i]/3;

                           }

                           ////////////////////

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

                           {

 

                                        if(ave[i]>min)

                                        {

                                                     max=ave[i];

                                                     mid=ave[i];

                                                     min=ave[i];

                                        }

                           }

                           //////////////////////

                           printf("최고 높은 평균 점수는 %f점 입니다.\n",(float)max);

                           printf("두번째 높은 평균 점수는 %f점 입니다.\n",(float)mid);

                           printf("세번째 높은 평균 점수는 %f점 입니다.\n",(float)min);

             }

             */

             /*

             void main()

             {

                           char a[]="love";

             /*          int i;

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

                           {*/

             //                        printf("%s\n",a);

 

             //          }

             //}

 

             /*

             문자열 입력받을땐 gets(name);

             문자열 출력할땐 puts(name);

             */

             /*

             void main()

             {

                           char name[128];

                           char tel[128];

                           gets(name);

                           gets(tel);

                           puts(name);

                           puts(tel);

             }

             */

             /*

             #include <string.h>

             strcpy(a,b); b를 a에 복사하는 함수(전에 있는 내용을 지운다.)

             char name[128];

             strcpy(neme,"홍길동"); 출력 : 홍길동

 

             strcat(a,b); 추가하는 함수

             strcat(name,"심청이"); 출력 : 홍길동 심청이

 

             strcmp(a,b); 비교하는 함수(같은지 다른지)

             char name[]="홍길동"

             char name2[]="심청이"

             strcmp(name,name2); 같으면 1 다르면 0

 

             strlen(name); 문자열의 길이를 반환해주는 함수

             char name[]="홍길동"

             int a=strlen(name); 출력 6

             */

             //난수를 만들어주는 함수

             //int a=rand();

 

             //숙제 :

             //가위바위보게임

#include <stdio.h>

#include <time.h>

#include <stdlib.h>

void main()

{

             int com, me;

             int com_money=100;

             int me_money=100;

 

             for(;;)

             {

                           srand(time(NULL));

                           com=rand()%3+1;

                           printf("내 돈의 금액 : %d \n",me_money);

                           printf("컴퓨터의 돈의 금액 : %d \n",com_money);

 

                           printf("1.가위 2.바위 3.보 4.종료\n");

                           scanf("%d",&me);

 

                                        if(me==1)

                                        {

                                                     if(com==2)

                                                     {

                                                                  printf("컴퓨터:%d 나:%d \n",com,me);

                                                                  printf("이겼습니다.^^\n");

                                                                  com_money-=20;

                                                                  me_money+=20;

                                                                  if(com_money==0)

                                                                  {

                                                                                printf("승리했습니다.^^\n");

                                                                                break;

                                                                  }

                                                     }

                                                     else if(com==1)

                                                     {

                                                     printf("컴퓨터:%d 나:%d \n",com,me);

                                                     printf("비겼습니다.\n");

                                                     }

                                                     else

                                                     {

                                                                  printf("컴퓨터:%d 나:%d \n",com,me);

                                                                  printf("졌습니다.ㅠㅠ\n");

                                                                  me_money-=20;

                                                                  com_money+=20;

                                                                  if(me_money==0)

                                                                  {

                                                                                printf("패배했습니다.ㅠㅠ\n");

                                                                                break;

                                                                  }

                                                     }

                                        }

                                        else if(me==2)

                                        {

                                                     if(com==3)

                                                     {

                                                                  printf("컴퓨터:%d 나:%d \n",com,me);

                                                                  printf("이겼습니다.^^\n");

                                                                  com_money-=20;

                                                                  me_money+=20;

                                                                  if(com_money==0)

                                                                  {

                                                                                printf("승리했습니다.^^\n");

                                                                                break;

                                                                  }

                                                     }

                                                     else if(com==2)

                                                     {

                                                                  printf("컴퓨터:%d 나:%d \n",com,me);

                                                                  printf("비겼습니다.\n");

                                                     }

                                                     else

                                                     {

                                                                  printf("컴퓨터:%d 나:%d \n",com,me);

                                                                  printf("졌습니다.ㅠㅠ\n");

                                                                  me_money-=20;

                                                                  com_money+=20;

                                                                  if(me_money==0)

                                                                  {

                                                                                printf("패배했습니다.ㅠㅠ\n");

                                                                                break;

                                                                  }

                                                     }

                                        }

                                        else if (me==3)

                                        {

                                                     if(com==1)

                                                     {

                                                                  printf("컴퓨터:%d 나:%d \n",com,me);

                                                                  printf("이겼습니다.^^\n");

                                                                  com_money-=20;

                                                                  me_money+=20;

                                                                  if(com_money==0)

                                                                  {

                                                                                printf("승리했습니다.^^\n");

                                                                                break;

                                                                  }

                                                     }

                                                     else if(com==3)

                                                     {

                                                                  printf("컴퓨터:%d 나:%d \n",com,me);

                                                                  printf("비겼습니다.\n");

                                                     }

                                                     else

                                                     {

                                                                  printf("컴퓨터:%d 나:%d \n",com,me);

                                                                  printf("졌습니다.ㅠㅠ\n");

                                                                  me_money-=20;

                                                                  com_money+=20;

                                                                  if(me_money==0)

                                                                  {

                                                                                printf("패배했습니다.ㅠㅠ\n");

                                                                                break;

                                                                  }

                                                     }

                                        }

                                        else if (me==4)

                                        {

                                                     printf("종료합니다.\n");

                                                     break;

                                        }

                                        else

                                        {

                                                     printf("다시입력하세요.\n");

                                                     continue;

                                        }

             }

}


'IT Note > C' 카테고리의 다른 글

C언어 - 5일차  (0) 2009.05.19
C언어 - 3일차  (0) 2009.05.19
C언어 - 2일차  (0) 2009.05.19

C언어 - 3일차

Posted by seunggwon
2009. 5. 19. 10:21 IT Note/C

// 이중 for문
//역직각삼각형
#include <stdio.h>
void main()
{
 int i, j;
 for(i=0; i<5; i++)
 {
  for(j=0; j<5; j++)
  {
   if(i>j)
   {
    printf(" ");
   }
   else
   {
    printf("*");
   }
  }
  printf("\n");
 }
}

출력결과
*****
 ****
  ***
   **
    *

=====================================================================
//직각삼각형
#include <stdio.h>
void main()
{
 int i, j;
 for(i=0; i<5; i++)
 {
  for(j=0; j<5; j++)
  {
   if(i>=j)
   {
    printf("*");
   }
  }
  printf("\n");
 }
}

#include <stdio.h>
void main()
{
 int i, j;
 for(i=0; i<5; i++)
 {
  for(j=0; j<=i; j++)
  {
   printf("*");
  }
  printf("\n");
 }
}

출력결과
*
**
***
****
*****

==========================================================

//구구단출력 2~9단

#include <stdio.h>

void main()

{

int i, j;

for(i=2; i<9; i++)

{

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

{

printf("%d*%d=%d ", i, j, i*j);

}

printf("\n");

}

}

출력결과

2*1=2 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16

3*1=3 3*2=6 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24

4*1=4 4*2=8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32

5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40

6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 6*7=42 6*8=48

7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 7*8=56

8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64


=================================================================================================================================

//1~100중에서 3의 배수 출력하되, 9의 배수 출력하지 않음

#include <stdio.h>

void main()

{

int a;

for(a=1; a<100; a++)

{

if(a%9==0)

{

continue;

}

if(a%3==0)

{

printf("%d ", a);

}

}

}

출력결과

3 6 12 15 21 24 30 33 39 42 48 51 57 60 66 69 75 78 84 87 93 96




/*

#include <stdio.h>

void main()

{

int i;

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

{

printf("%d\n", i);

}

printf("%d\n", i);

}

*/


/*

#include <stdio.h>

void main()

{

int i;

for(i=5; i<=100; i+5)

{

printf("%d\n", i);

}

}

*/


/*

#include <stdio.h>

void main()

{

int n, i;

int total=0;

printf("수를 하나 입력하세요\n");

scanf("%d", &n);

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

{

total+=i;

}

printf("%d\n", total);

}

*/


/*

#include <stdio.h>

void main()

{

int i, j;

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

{

printf("*", i);

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

{

printf("*", j);

}

printf("\n");

}

}

*/


/*

#include <stdio.h>

void main()

{

int a,b;

for(a=0; a<5; a++)

{

for(b=0; b<a; b++)

{

printf("*");

}

printf("\n");

}

}

*/


'IT Note > C' 카테고리의 다른 글

C언어 - 4일차  (0) 2009.05.19
C언어 - 2일차  (0) 2009.05.19
C언어 - 1일차  (0) 2009.05.19

C언어 - 2일차

Posted by seunggwon
2009. 5. 19. 10:21 IT Note/C
//총 몇초인지 구하기
#include <stdio.h>
void main() 
{
int hour, min, sec, total;
printf("시간을 입력하세요.\n");
scanf("%d", &hour);
printf("분을 입력하세요.\n");
scanf("%d", &min);
printf("초를 입력하세요.\n");
scanf("%d", &sec);
total = hour*60*60 + min*60 + sec;
printf("총 %d초 입니다.\n", total);
}
입력/ 출력결과 : 
시간을 입력하세요.
3
분을 입력하세요.
4
초를 입력하세요.
35
총 11075초 입니다.



//연산자 증가 감소 문제
#include <stdio.h>
void main() 
{
int a=10;
int b=(--a)+2; //a-- 연산증가 --a 연산후 증가
printf("%d\n",a);
printf("%d\n",b);
}
출력결과
9
11


//if문
#include <stdio.h>
void main() 
{
int a;
printf("숫자를 하나 입력해 주세요.");
scanf("%d",&a);
if(a>0) 
{
printf("입력한 숫자는 양수입니다.\n");
}
if(a==0) 
{
printf("입력한 숫자는 0입니다.\n");
}
if(a<0) 
{
printf("입력한 숫자는 음수입니다.\n");
}
}
출력결과 : 
3입력시 입력한 숫자는 양수입니다. 
0입력시 입력한 숫자는 0입니다. 
-3입력시 입력한 숫자는 음수입니다.


#include <stdio.h>
void main() {
int a;
a=++a;
printf("숫자를 하나 입력하세요.");
scanf("%d", &a);
if(a%2==1) {
printf("입력한 숫자는 홀수입니다.\n");
}
if(a%2==0) {
printf("입력한 숫자는 짝수입니다.\n");
}
}


//if, else문
#include <stdio.h>
void main() {
int a;
printf("숫자를 하나 입력하세요.\n");
scanf("%d",&a);
if(a>0) {
printf("입력한 숫자는 양수입니다.\n");
}
        else {
printf("입력한 숫자는 0또는 음수입니다.\n");
}
}


//if, else if, else문
#include <stdio.h>
void main()
{
int nb1, nb2, rut;
printf("숫자를 2개 입력하세요.\n");
scanf("%d %d", &nb1, &nb2);
printf("1.+ 2.- 3.* 4./\ㅜ 하고 싶은거 누르세요.");
scanf("%d", &rut);
if(rut==1)
{
printf("%d\n", nb1+nb2);
}
else if(rut==2)
{
printf("%d\n", nb1-nb2);
}
else if(rut==3)
{
printf("%d\n", nb1*nb2);
}
else if(rut==4)
{
printf("%d\n", nb1/nb2);
}
else
{
printf("잘못 입력했습니다.");
}
}

'IT Note > C' 카테고리의 다른 글

C언어 - 4일차  (0) 2009.05.19
C언어 - 3일차  (0) 2009.05.19
C언어 - 1일차  (0) 2009.05.19

C언어 - 1일차

Posted by seunggwon
2009. 5. 19. 10:17 IT Note/C
//화면출력
#include <stdio.h>
void main() 
{
printf("Ace\n");
}
//출력결과 : Ace


//문자출력
#include <stdio.h>
void main() 
{
char a;
a='a';
printf("%c\n",a); //%d는 정수(int), %c는 문자(char), %f는 실수(float,double)
}
//출력결과 : a


//연산자
#include <stdio.h>
void main() 
{
int a,b,c; //int형
a=10, b=20;
c=a+b;
printf("%d\n",c);
}
//출력결과 : 30


//int형 초기화
#include <stdio.h>
void main() 
{
int a=10;
int b=20;
int c=a+b;
printf("%d\n",c);
}
//출력결과 : 30


//쓰레기값 예
#include <stdio.h>
void main() 
{
int a;
printf("%d\n",a);
}
//출력결과 : -858993460(쓰레기값)


//사각형 넓이 구하기
#include <stdio.h>
void main() 
{
int a=10, b=20;
int c=a*b;
printf("사각형의 넓이 : %d\n",c);
}
//출력결과 : 사각형의 넓이 : 200


//원의 둘레 구하기
#include <stdio.h>
void main() 
{
float a=2.5, b=3.14;
printf("원의 둘레 : %f\n",a*a*b);
}
//출력결과 : 원의 둘레 : 19.625001


//아스키 코드
#include <stdio.h>
void main() 
{
int a=65;
printf("%c\n",a);
}
//출력결과 : A


//입력함수 scanf
#include <stdio.h>
void main() 
{
int width, height;
printf("가로와 세로를 입력하세요.\n");
scanf("%d %d", &width, &height); //&는 scanf함수시 넣는것
printf("사각형의 넓이 = %d\n", width*height);
}
//입력값 : 3 4
//출력결과 : 사각형의 넓이 = 12

'IT Note > C' 카테고리의 다른 글

C언어 - 4일차  (0) 2009.05.19
C언어 - 3일차  (0) 2009.05.19
C언어 - 2일차  (0) 2009.05.19

[BSCI] IS-IS LAB_01 : IS-IS 설정.

Posted by seunggwon
2009. 5. 11. 20:44
보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

[BSCI] Manipulating Routing Updates LAB_8 : DHCP

Posted by seunggwon
2009. 5. 11. 20:41
보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.