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; }
