Alizee,
You need to send this to the cprog list and not to me directly.
Describe the problem that you are having.



-------- Original Message --------
Subject: Re: [c-prog] need help quickly please (I AM ALIZEE)
Date: Wed, 05 Mar 2008 14:53:14 -0500
From: ali senator <[EMAIL PROTECTED]>
To: Jim Dougherty <[EMAIL PROTECTED]>

This is calculator for fraction
i hope it will help you..


  
--------------------------------------------------------------------------------Never
miss a thing. [ http://us.rd.yahoo.com/evt=51438/*http://www.yahoo.com/r/hs ]
Make Yahoo your homepage.#include <iostream.h>
#include <conio.h>
struct calculate{
 int up;
 int down;
 char ch;
};
calculate sum(calculate,calculate);
calculate multiple(calculate,calculate);
calculate divid(calculate,calculate);
calculate mines(calculate,calculate);
main(){
 clrscr();
 const int size=3;
 calculate array[size];
 array[0].ch='/';
 array[2].ch='/';
 cout<<"Please Enter a from (a/b) : ";
 cin>>array[0].up;
 cout<<"Please Enter b from (a/b) : ";
 cin>>array[0].down;
 cout<<"Please Enter c from (c/d) : ";
 cin>>array[2].up;
 cout<<"Please Enter d from (c/d) : ";
 cin>>array[2].down;
 cout<<"Please Enter (+,*,/,-) : ";
 cin>>array[1].ch;
 switch(array[1].ch){
 case '+':
 array[1]=sum(array[0],array[2]);
 cout<<"Result Sum Is : "<<array[1].up<<array[1].ch<<array[1].down;
 break;
  case '*':
 array[1]=multiple(array[0],array[2]);
 cout<<"Result Multiple Is : "<<array[1].up<<array[1].ch<<array[1].down;
 break;
  case '/':
 array[1]=divid(array[0],array[2]);
 cout<<"Result Divid Is : "<<array[1].up<<array[1].ch<<array[1].down;
 break;
  case '-':
 array[1]=mines(array[0],array[2]);
 cout<<"Result mines Is : "<<array[1].up<<array[1].ch<<array[1].down;
 break;
 default:
 cout<<"!!! WRONG !!!"<<"\a";
 }
 getch();
 return 0;
}
int gcd(int unsigned a,int unsigned b){
int max=a;
int min=b;
if (b>max)
{
max=b;
min=a;
}
if (max%min==0)
return min;
for (int i=min;i>0;i--){
 if(max%i==0 && min%i==0)
  return i;
}
}
calculate sum(calculate a,calculate b){
 calculate c;
 c.up=(a.up*b.down)+(a.down*b.up);
 c.down=(b.down)*(a.down);
 int G=gcd(c.up,c.down);
 c.up/=G;
 c.down/=G;
 c.ch='/';
 return c;
 }
 calculate multiple(calculate a,calculate b){
 calculate c;
 c.up=(a.up*b.up);
 c.down=(b.down)*(a.down);
 int G=gcd(c.up,c.down);
 c.up/=G;
 c.down/=G;
 c.ch='/';
 return c;
 }
 calculate divid(calculate a,calculate b){
 calculate c;
 c.up=(a.up*b.down);
 c.down=(b.up)*(a.down);
 int G=gcd(c.up,c.down);
 c.up/=G;
 c.down/=G;
 c.ch='/';
 return c;
 }
 calculate mines(calculate a,calculate b){
 calculate c;
 c.up=(a.up*b.down)-(a.down*b.up);
 c.down=(b.down)*(a.down);
 int G=gcd(c.up,c.down);
 c.up/=G;
 c.down/=G;
 c.ch='/';
 return c;
 }



Reply via email to