Hi,
I'm did a fraction program for one of my programming classes and it did compile, however when I'm running the program it crashes for some reason that I do not know.
I got some WARNING but not ERRORS.
Here they are:
c:\documentos\p rogramas\calcul ator\fraction\f raction\calc.cp p(15) : warning C4101: 'f' : unreferenced local variable
c:\documentos\p rogramas\calcul ator\fraction\f raction\calc.cp p(14) : warning C4101: 'f10' : unreferenced local variable
c:\documentos\p rogramas\calcul ator\fraction\f raction\calc.cp p(38) : warning C4700: uninitialized local variable 'a_fraction' used
c:\documentos\p rogramas\calcul ator\fraction\f raction\calc.cp p(39) : warning C4700: uninitialized local variable 'f2' used
c:\documentos\p rogramas\calcul ator\fraction\f raction\calc.cp p(39) : warning C4700: uninitialized local variable 'f1' used
Thank you all,
Doug
I'm did a fraction program for one of my programming classes and it did compile, however when I'm running the program it crashes for some reason that I do not know.
Code:
// fraction.cpp
#include <iostream>
#include <string>
#include "fraction.h"
using namespace std;
fraction mult(fraction f1, fraction f2)
{
fraction f10;
int common;
f10.numerator = (f1.numerator * f2.numerator);
f10.denominator = (f1.denominator * f2.denominator);
common = gcd(f10.numerator, f10.denominator);
f10.numerator /= common;
f10.denominator /= common;
return f10;
}
fraction add(fraction f1, fraction f2)
{
fraction f10;
int common;
f10.numerator = (f1.numerator + f2.numerator);
f10.denominator = (f1.denominator + f2.denominator);
common = gcd(f10.numerator, f10.denominator);
f10.numerator /= common;
f10.denominator /= common;
return f10;
}
fraction sub(fraction f1, fraction f2)
{
fraction f10;
int common;
f10.numerator = (f1.numerator - f2.numerator);
f10.denominator = (f1.denominator - f2.denominator);
common = gcd(f10.numerator, f10.denominator);
f10.numerator /= common;
f10.denominator /= common;
return f10;
}
fraction div(fraction f1, fraction f2)
{
fraction f10;
int common;
f10.numerator = (f1.numerator / f2.numerator);
f10.denominator = (f1.denominator / f2.denominator);
common = gcd(f10.numerator, f10.denominator);
f10.numerator /= common;
f10.denominator /= common;
return f10;
}
void read()
{
int numerator;
int denominator;
cout << "Enter your numerator: ";
cin >> numerator;
cout << "Enter your denominator: ";
cin >> denominator;
}
void print(fraction a_fraction)
{
cout << a_fraction.numerator << "/" << a_fraction.denominator << endl;
}
int gcd (int u, int v)
{
u = (u < 0) ? -u : u;
v = (v < 0) ? -v : v;
while (u > 0)
{
if (u < v)
{
int t = u;
u = v;
v = t;
}
u -= v;
}
return v;
}
// -------------------------------
// calc.cpp
#include <iostream>
#include <string>
#include "fraction.h"
using namespace std;
int main()
{
fraction f1;
fraction f2;
fraction f10;
fraction f;
fraction a_fraction;
fraction answer;
char symbol = ' ';
string nome;
while (true)
{
cout << "+\tADD\n";
cout << "-\tSUBTRACT\n";
cout << "* or x\tMULTIPLY\n";
cout << "/\tDIVIDE\n";
cout << "E\tEXIT\n";
cout << "What operation do you want to use?: ";
cin >> symbol;
if (symbol == 'e' || symbol == 'E')
exit(0);
switch (symbol)
{
case '+':
read();
print(a_fraction);
answer = add(f1, f2);
nome = "sum";
break;
case '-':
read();
print(a_fraction);
answer = sub(f1, f2);
nome= "difference";
break;
case '*':
read();
print(a_fraction);
answer = mult(f1, f2);
break;
case 'x':
read();
print(a_fraction);
answer = mult(f1, f2);
nome = "product";
break;
case '/':
read();
print(a_fraction);
answer = div(f1, f2);
nome = "quotient";
break;
}
void print(fraction a_fraction);
}
return 0;
}
// ------------------------
// fraction.h
struct fraction
{
int numerator;
int denominator;
};
fraction mult(fraction f1, fraction f2);
fraction add(fraction f1, fraction f2);
fraction sub(fraction f1, fraction f2);
fraction div(fraction f1, fraction f2);
void read();
void print(fraction a_fraction);
int gcd (int u, int v);
Here they are:
c:\documentos\p rogramas\calcul ator\fraction\f raction\calc.cp p(15) : warning C4101: 'f' : unreferenced local variable
c:\documentos\p rogramas\calcul ator\fraction\f raction\calc.cp p(14) : warning C4101: 'f10' : unreferenced local variable
c:\documentos\p rogramas\calcul ator\fraction\f raction\calc.cp p(38) : warning C4700: uninitialized local variable 'a_fraction' used
c:\documentos\p rogramas\calcul ator\fraction\f raction\calc.cp p(39) : warning C4700: uninitialized local variable 'f2' used
c:\documentos\p rogramas\calcul ator\fraction\f raction\calc.cp p(39) : warning C4700: uninitialized local variable 'f1' used
Thank you all,
Doug
Comment