로그인 회원가입 고객센터
레포트자기소개서방송통신서식공모전취업정보
campusplus
세일즈코너배너
자료등록배너

c++ 배열을 이용한 사칙연산자 오버로딩( 배열을이용하여 사칙연산수행, 다항식계산과 전혀다르고 훨씬어려움)


카테고리 : 레포트 > 공학,기술계열
파일이름 :연산자오버로딩 완벽버전.txt
문서분량 : 1 page 등록인 : qowns0345
문서뷰어 : 뷰어없음 등록/수정일 : 11.11.30 / 11.11.30
구매평가 : 다운로드수 : 2
판매가격 : 2,000

미리보기

같은분야 연관자료
AVR 전자 계산기 제작하기 (전자 계산기 만들기,ATmega128,소스코드, 회로도,디지털 계산기,졸업작품,사칙연산,... 28 pages 7000
일반물리학실험 벡터의 덧셈 예비 + 결과보고서... 7 pages 2900
공학 - ATMEGA 128에 대하여... 3 pages 2000
기술과 경영을 자기 전공(회계)와 연관 시키기... 8 pages 1800
컴퓨터 네트워크 -Cyclic Redundancy Check [CRC]... 14 pages 2200
보고서설명
int형의경우 +-2^16승까지 밖에 표현을 못합니다. 즉 0이 16개이상 붙으면 오버플로우가발생하게되는데 이점을 해결하기위해 배열을 이용한 사칙연삽을 합니다. 사용자로부터 숫자를 입력받아
배열아 한자리한자리 입력받은 숫자를 넣고 사용자가 입력한 연산을 하게됩니다.
음수, 양수 모두가능 출력형태는 그냥 텍스트형태이고 그래픽없습니다. 배열을 이용하여 사칙연산
하는 알고리즘은 제가 혼자 생각한 것이라 비효율적인 방법일 수 도 있지만 결과는 확실함
구성형식은 구조체에 배열과 배열인덱스가리키는 변수 넣고 클래스에서 이 구조체를 사용하여
여러 메소드를 이용해 +,-,*,/ 사칙연산자 오버로딩을 합니다.
main()함수에서는 사용자로부터 숫자를 입력받고 2개의 클래스 객체를 만들어주어 이 숫자들을
넣습니다. 그리고 클래스+클래스 이렇게 써주면 연산자오버로딩에의해 클래스+클래스 가가능함
궂이 이 프로그램이 아니더라도 배열을 이용한 사칙연산 알고리즘 필요하신분 가져가세요~!!
주석 최대한 자세히 썼습니다.
첨부된 파일은 .cpp파일 아니고 텍스트파일입니다. 소스코드 800라인정도 될 것 같습니다.
본문일부/목차
#include
using namespace std;

const int MAX = 50;

struct data{
int a[MAX]; //사용자로부터 입력받은 수 저장할 배열
char showarray[MAX]; //출력할때 나눗셈의경우 문자열로 출력하기위함
int lena; //입력받은 문자열의 길이
int dotindex; //소수점찍을 위치를 저장하는 변수
int manus; //연산결과가 음수인지 아닌지 판단하기위한 변수
};

class calcul{
data opr;
int lenmax; //연산시 최고길이를 저장하기위한 변수

public:
int discount(int a[], int c[], int lena, int lenb);//if(lena>lenb) then return lena, else return lenb
int compare(int a[], int b[], int lena, int lenb); //if(a>b) then return 0, else return 1
int compare(int a[], int b[],int lenb); //나누기에서 비교하기위한 메소드
void addd(int a[], int c[], int d[], int lenmax); //c=a+b
void subb(int a[], int c[], int d[], int lenmax); //c=a-b
int returntmp(int a); //곱셈에서 올림수가 몇인지 정하기위한 메소드
int readoperand(int a[], int c[], int imm[],int lena, int lenb,int manus); //나눗셈에 필요한 메소드
bool returnexit(int arr[]); //배열의모든원소값이 0인지 검사하는 메소드

calcul operator +(calcul b); // +연산자 오버로딩
calcul operator -(calcul b); // -연산자 오버로딩
calcul operator *(calcul b); // *연산자 오버로딩
calcul operator /(calcul b); // /연산자 오버로딩

void reduce() //길이를 1만큼감소
{
opr.lena--;
}

void setlenth(int a) //lenmax에 값삽입
{
opr.lena = a;
}

int getlenth()
{
return opr.lena;
}

calcul() //디폴트생성자
{
opr.dotindex = 0;
opr.manus = false;

for(int i=0; i {
opr.a[i]=0;
opr.showarray[i] = 0;
}
}

.............
........
연관검색어
사칙연산

구매평가

구매평가 기록이 없습니다
보상규정 및 환불정책
· 해피레포트는 다운로드 받은 파일에 문제가 있을 경우(손상된 파일/설명과 다른자료/중복자료 등) 1주일이내 환불요청 시
환불(재충전) 해드립니다.  (단, 단순 변심 및 실수로 인한 환불은 되지 않습니다.)
· 파일이 열리지 않거나 브라우저 오류로 인해 다운이 되지 않으면 고객센터로 문의바랍니다.
· 다운로드 받은 파일은 참고자료로 이용하셔야 하며,자료의 활용에 대한 모든 책임은 다운로드 받은 회원님에게 있습니다.

저작권안내

보고서 내용중의 의견 및 입장은 당사와 무관하며, 그 내용의 진위여부도 당사는 보증하지 않습니다.
보고서의 저작권 및 모든 법적 책임은 등록인에게 있으며, 무단전재 및 재배포를 금합니다.
저작권 문제 발생시 원저작권자의 입장에서 해결해드리고 있습니다. 저작권침해신고 바로가기

 

ϰڷٷΰ thinkuniv ķ۽÷