Red de conocimiento informático - Computadora portátil - Tarea de programación en C

Tarea de programación en C

#include lt;iostreamgt;

#include lt;stringgt;

#include lt;math.hgt;

#include lt;windows.hgt;

usando el espacio de nombres std;

enum Mode{GCD, LOOP};

struct Fract

{

int nume; //numerador

int deno;

};

int gcd(int x, int y)

{

if(xy==0)

devuelve y;

else

devuelve gcd(y, xy);

}

int loop(int x, int y)

{ int t=1;<

while(t=xy)

{

x=y

y=t

}

devuelve y; >}

bool simple(Fractamp; valout, Modo modo = GCD)

{

int pos;

switch(modo)

{

caso MCD:

pos = gcd(valout.nume, valout.deno

valout.nume = valout); .nume = valout.nume/pos;

valout.deno = valout.deno/pos;

descanso

caso BUCLE:

pos = loop(valout.nume, valout.deno);

valout.deno/pos;

Desconectar;

Predeterminado:

Devuelve falso;

descanso

}

Devuelve verdadero

}

bool formato; (char* valin, Fractamp; valout)

{

char* dest

int pos

char nume [128] = {0};

char deno[128] = {0};

if(NULL! = (dest = strchr(valin, '.') )

{

pos = dest - valin 1;

strncpy(nume, valin, pos- 1); //entero

strcpy(deno, valin pos); //fraccional

valout.deno = pow(10, strlen(deno));

valout.nume = atoi(nume)*valout.deno atoi(deno);

valou);

t.deno = atoi(deno);

valout.nume = atoi(nume);

valout.nume = atoi(valin pos);

valout .nume = atoi(nume);

lt;lt;valy.numelt;lt;"/"/"lt;lt;valy.deno

lt;lt; = "

lt; lt; sum.denolt; lt; endl;

break;

case '/':

suma = valx/valy;

coutlt;lt;valx.numelt;lt;lt;/"/"lt;lt;valx.denolt;lt;lt;/" /"

lt;lt;valy.numelt;lt;lt;/"/"/"

coutlt;lt;valx.numelt;lt;lt;/"/"valy.denolt;lt;lt;/ "/"/"