⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arithmet.c

📁 queues implementation
💻 C
字号:

/* TO PERFORM VARIOUS OPERATIONS ON FLOATING POINT REPERSENTATION */

#include<stdio.h>
#include<math.h>

void add(float,int,float,int);
void sub(float,int,float,int);
void mul(float,int,float,int);
void div(float,int,float,int);

int e3,d;
float m3;

void main()
{
	int e1,e2,ch;
	float m1,m2;
	char yn;
	clrscr();
	printf("\n\t\tEnter the mantisa and exponent of first no:\n");
	scanf("%f%d",&m1,&e1);
	printf("\n Enter the mantisa and exponent of second no:\n");
	scanf("%f%d",&m2,&e2);
	do
	{
		printf("\n\t ***** ARITHMETIC OPERATIONS *****\n");
		printf("\n\t 1. Addition");
		printf("\n\t 2. Subtraction");
		printf("\n\t 3. Multiplication");
		printf("\n\t 4. Division");
		printf("\n\t 5. Exit");
		printf("\n\t Enter Your Choice:");
		scanf("%d",&ch);
		switch(ch)
		{
			case 1: add(m1,e1,m2,e2);
				break;

			case 2:  sub(m1,e1,m2,e2);
				break;

			case 3:  mul(m1,e1,m2,e2);
				break;

			case 4:  div(m1,e1,m2,e2);
				break;

			case 5:  exit(0);
				break;

			default:printf("\n Sorry Wrong Choice!");
				getch();
				exit(0);

	}
		printf("\n Do You Want to Perform More Operations(y/n):");
		fflush(stdin);
		scanf("%c",&yn);
		clrscr();
	     }
	     while(yn == 'y' || yn =='Y');
}

void add(float m1,int e1,float m2,int e2)
{
	d = abs(e1-e2);
	if (e1 > e2)
	{
		m2 = m2/pow(10,d);
		e3 = e1;
		m3 = m1 + m2;
	 }
	else if(e2>e1)
	{
		m1=m1/pow(10,d);
		e3 = e2;
		m3 = m1 + m2;
	}
	else
	{
		 m3= m1 + m2;
		 e3 = e1;
	}
	if(fabs(m3)>=1.0)
	 {
		m3 = m3 / 10;
		e3 = e3 + 1;
	 }
	 if(e3<99)
	 {
		printf("\nThe Additon Is : ");
		printf("Mantissa = %0.4f Exponent =%d\n\n",m3,e3);
	 }
	 else
		printf("\n\n Overflow! \n\n");
}

void sub(float m1,int e1,float m2,int e2)
{
	d = abs(e1-e2);
	if(e1 > e2)
	{
		m2 = m2/pow(10,d);
		e3 = e1;
		m3 = m1 - m2;
	 }
	 else if(e2>e1)
	{
		m1=m1/pow(10,d);
		e3 = e2;
		m3 = m1 - m2;
	}
	else
	 {
		m3 = m1 - m2;
		e3 = e1;
	 }
	 if(e3 > -99)
	 {
		printf("\nTHE Subtraction Is : ");
		printf("%.4f E%d\n\n",m3,e3);
	 }
	 else
		printf("\n\n Underflow! \n\n");

}


void mul(float m1,int e1,float m2,int e2)
{
	m3 = m1 * m2;
	e3 = e1 + e2;
	if(fabs(m3)>1.0)
	{
		m3 = m3/10;
		e3 = e3 + 1;
	}
	 if(fabs(m3) < .1)
	 {
		m3 = m3 * 10;
		e3 = e3 - 1;

	 }
	if((e3 >99) || (e3 <-99))
		printf("\n OOPS!!! Out  Of Range!!!");
	else
	{
		printf("\nThe Multiplication : ");
		printf("%.4f E%d\n\n",m3,e3);
       }
 }



void div(float m1,int e1,float m2,int e2)
{
	m3 = m1 / m2;
	e3 = e1 - e2;
	if(fabs(m3)>1.0)
	 {
		m3 = m3/10;
		e3 = e3 + 1;
	 }
	if(fabs(m3)<0.1)
	{
		m3 = m3 * 10;
		e3 = e3 - 1;
	}
	if((e3 >99) || (e3 <-99))
			printf("\n OOPS!!! Out  Of Range!!!");
	else
	{
			printf("\nTHE Division Is : ");
			printf("%.4f E%d\n\n",m3,e3);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -