c++ 배열을 이용한 사칙연산자 오버로딩( 배열을이용하여 사칙연산수행, 다항식계산과 전혀다르고 훨씬어려움)
페이지 정보
작성일 23-04-26 14:59
본문
Download : 연산자오버로딩 완벽버전.txt
main()함수에서는 사용자로부터 숫자를 입력받고 2개의 클래스 객체를 만들어주어 이 숫자들을 넣습니다.
Download : 연산자오버로딩 완벽버전.txt( 89 )
for(int i=0; i 주석 최대한 자세히 썼습니다. 소스코드 800라인정도 될 것 같습니다. 즉 0이 16개이상 붙으면 오버플로우가발생하게되는데 이점을 해결하기위해 배열을 이용한 사칙연삽을 합니다. 사용자로부터 숫자를 입력받아 배열아 한자리한자리 입력받은 숫자를 넣고 사용자가 입력한 연산을 하게됩니다. 소스코드 800라인정도 될 것 같습니다. 배열을 이용하여 사칙연산 하는 알고리즘은 제가 혼자 생각한 것이라 비효율적인 방법일 수 도 있지만 결과는 확실함 구성형식은 구조체에 배열과 배열인덱스가리키는 변수 넣고 클래스에서 이 구조체를 사용하여 여러 메소드를 이용해 +,-,*,/ 사칙연산자 오버로딩을 합니다. 즉 0이 16개이상 붙으면 오버플로우가발생하게되는데 이점을 해결하기위해 배열을 이용한 사칙연삽을 합니다. 그리고 클래스+클래스 이렇게 써주면 연산자오버로딩에의해 클래스+클래스 가가능함 궂이 이 프로그램이 아니더라도 배열을 이용한 사칙연산 알고리즘 필요하신분 가져가세요~!! 주석 최대한 자세히 썼습니다. 첨부된 파일은 .cpp파일 아니고 텍스트파일입니다. 배열을 이용하여 사칙연산
int lena; //입력받은 문자열의 길이
}
int dotindex; //소수점찍을 위치를 저장하는 변수
opr.manus = false;
int returntmp(int a); //곱셈에서 올림수가 몇인지 정하기위한 메소드
return opr.lena;
opr.dotindex = 0;
int discount(int a, int c, int lena, int lenb);//if(lena>lenb) then return lena, else return lenb
배열아 한자리한자리 입력받은 숫자를 넣고 사용자가 입력한 연산을 하게됩니다. public:
}
{
struct data{
class calcul{
{
void setlenth(int a) //lenmax에 값삽입
char showarray[MAX]; //출력할때 나눗셈의경우 문자열로 출력하기위함
........
#include
{
사칙연산, 오버플로우
void addd(int a, int c, int d, int lenmax); //c=a+b
{
int a[MAX]; //사용자로부터 입력받은 수 저장할 배열
bool returnexit(int arr); //배열의모든원소값이 0인지 검사하는 메소드
void subb(int a, int c, int d, int lenmax); //c=a-b
음수, 양수 모두가능 출력형태는 그냥 텍스트형태이고 그래픽없습니다. 음수, 양수 모두가능 출력형태는 그냥 텍스트형태이고 그래픽없습니다. 그리고 클래스+클래스 이렇게 써주면 연산자오버로딩에의해 클래스+클래스 가가능함
int compare(int a, int b, int lena, int lenb); //if(a>b) then return 0, else return 1
calcul operator -(calcul b); // -연산자 오버로딩
}
int형의경우 +-2^16승까지 밖에 표현을 못합니다.
opr.a[i]=0;
opr.lena = a;
{
넣습니다.
opr.lena--;
int compare(int a, int b,int lenb); //나누기에서 비교하기위한 메소드
c++ 배열을 이용한 사칙연산자 오버로딩( 배열을이용하여 사칙연산수행, 다항식계산과 전혀다르고 훨씬어려움)
}
opr.showarray[i] = 0;
구성형식은 구조체에 배열과 배열인덱스가리키는 변수 넣고 클래스에서 이 구조체를 사용하여
int getlenth()
void reduce() //길이를 1만큼감소
calcul operator /(calcul b); // /연산자 오버로딩
}
궂이 이 program이 아니더라도 배열을 이용한 사칙연산 알고리즘 필요하신분 가져가세요~!!
data opr;
.............
using namespace std;
int lenmax; //연산시 최고길이를 저장하기위한 변수
int형의경우 +-2^16승까지 밖에 표현을 못합니다.
다.
설명
calcul operator +(calcul b); // +연산자 오버로딩
첨부된 파일은 .cpp파일 아니고 텍스트파일입니다. 사용자로부터 숫자를 입력받아
calcul operator *(calcul b); // *연산자 오버로딩
calcul() //디폴트생성자
int readoperand(int a, int c, int imm,int lena, int lenb,int manus); //나눗셈에 필요한 메소드
하는 알고리즘은 제가 혼자 생각한 것이라 비효율적인 방법일 수 도 있지만 결과는 확실함
main()함수에서는 사용자로부터 숫자를 입력받고 2개의 클래스 객체를 만들어주어 이 숫자들을
int manus; //연산결과가 음수인지 아닌지 판단하기위한 변수
};
순서
const int MAX = 50;
레포트 > 공학,기술계열
여러 메소드를 이용해 +,-,*,/ 사칙연산자 오버로딩을 합니다.


