lunes, 7 de mayo de 2012

Practica 12 Unidad 3

Problema 1 

/* Problema 1 Practica 12
Hector Leyva Serrano 11211542 */
Codigo en C++
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
void revisar(int n1,float n2, double n3);
int encontrarabs(int a);
template <class t>
void mult(t num1, t num2);
int funpot( int valor);
void main()
{ int n1,n,num2,num1,valor,a;
float n2,resultado;
double n3;
revisar(n1,n2,n3);
cout<<"El valor absoluto es "<<encontrarabs(a)<<endl;
cout<<"Introduce valores para la multiplicacion"<<endl;
cout<<"Valor 1= ";
cin>>num1;
cout<<"Valor 2= ";
cin>>num2;
cout<<"El producto de la multiplicacion es "<<(num1*num2)<<endl;
funpot(valor);
getch(); }
void revisar(int n1,float n2, double n3)
{ cout<<"Introduce valores para los siguientes datos."<<endl;
cout<<"Valor entero ";
cin>>n1;
cout<<"Valor flotante ";
cin>>n2;
cout<<"Valor de doble precision ";
cin>>n3; }
int encontrarabs(int a)
{ cout<<"Da el valor de un numero "<endl;
cin>>a;
if(a<0)
{ return -a;
} else
{ return a;
}}
template <class t>
void mult(t num1, t num2)
{ cout<<"Introduce valores para la multiplicacion"<<endl;
cout<<"Valor 1= "<<num1<<endl;
cout<<"Valor 2= "<<num2<<endl;
cout<<"El producto de la multiplicacion es "<<(num1*num2); }
int funpot( int valor)
{ int resultado;
cout<<"\nValor deseado ";
cin>>valor;
if(valor<0)
{ valor=(valor)*(-1);
} valor=valor;
resultado=pow(valor,valor);
cout<<"El resultado es: "<<resultado; }
Seudocodigo
Inicio de programa
{  n1,n,num2,num1,valor,a int
 n2,resultado float
n3 double
revisar(n1,n2,n3)
print "El valor absoluto es ",encontrarabs(a)
print "Introduce valores para la multiplicacion"
print "Valor 1= "
read num1
print "Valor 2= "
read num2
print "El producto de la multiplicacion es ",(num1*num2)
funpot(valor)
Fin de programa
void revisar(int n1,float n2, double n3)
{ print "Introduce valores para los siguientes datos."
print "Valor entero "
read n1
print "Valor flotante "
read n2
print "Valor de doble precision "
read n3 }
int encontrarabs(int a)
{ print "Da el valor de un numero "
read a
if(a<0)
{ return -a
} else
{ return a
}}
template <class t>
void mult(t num1, t num2)
{  print "Introduce valores para la multiplicacion"<<endl;
print "Valor 1= ",num1
print "Valor 2= ",num2
 print "El producto de la multiplicacion es ",(num1*num2) }
int funpot( int valor)
{ resultado int
print "\nValor deseado "
 read valor
if(valor<0)
{ valor=(valor)*(-1)
} valor=valor
resultado=pow(valor,valor)
print "El resultado es: ",resultado }
Problema 2 
/*Practica 12 Problema 2
Hector Leyva Serrano 11211542 */
Codigo en C++
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
void datosiniciales(char nombres[3][25],float saldoinicial[3]);
void iniciarmov(float m[20]);
void movimientos(float saldoinicial[3],float m1[20],float m2[20],float m3[20]);
void desplegar(float saldoinicial[3],char nombres[3][25],float m1[20],float m2[20],float m3[20],int numcli);
void main()
{ float si[3], mov1[20], mov2[20], mov3[20];
char name[3][25], otro;
datosiniciales(name,si);
iniciarmov(mov1);
iniciarmov(mov2);
iniciarmov(mov3);
do
{ movimientos(si, mov1, mov2, mov3);
cout<<"Otro movimiento(s/n)= ";
cin>>otro; }
while(otro=='s' || otro=='S');
desplegar(si,name,mov1,mov2,mov3,1);
desplegar(si,name,mov1,mov2,mov3,2);
desplegar(si,name,mov1,mov2,mov3,3);
getch(); }
void datosiniciales(char nombres[3][25],float saldoinicial[3])
{ int i;
for(i=0; i<3; i++)
{ cout<<"Nombre del cliente "<<(i+1)<<" = ";
gets(nombres[i]);
cout<<"Saldo inicial= ";
cin>>saldoinicial[i]; }}
void iniciarmov(float m[20])
{ int i=0;
for(i=0; i<20; i++)
{ m[i]=0.0;
}}
void movimientos(float saldoinicial[3],float m1[20],float m2[20],float m3[20])
{ float cantidad, saldo;
int op, indice=0, numcli;
cout<<"Numero de cliente= ";
cin>>numcli;
cout<<"Tipo de operacion 1)Deposito 2)Retiro ";
cin>>op;
cout<<"Cantidad de dinero= ";
cin>>cantidad;
switch(numcli)
{
 case 1: saldo=saldoinicial[numcli-1];
 indice=0;
 while(m1[indice]>0||m1[indice]<0)
 { indice++;
  saldo=saldo+m1[indice]; }
 switch(op)
 {
  case 1:
  m1[indice]=cantidad;
  saldo=saldo+cantidad;
  break;
  case 2:
  if(cantidad<=saldo)
  { m1[indice]=-cantidad;
   saldo=saldo-cantidad;
  } else
  { cout<<"Fondos insuficientes\n";
  } break;
  default:
  {  cout<<"Error en tipo de operacion\n";
  }}
 case 2: saldo=saldoinicial[numcli-1];
 indice=0;
 while(m2[indice]>0||m2[indice]<0)
 {  indice++;
  saldo=saldo+m2[indice]; }
 switch(op)
 {
  case 1: 
  m2[indice]=cantidad;
  saldo=saldo+cantidad;
  break;
  case 2: if(cantidad<=saldo)
  {  m2[indice]=-cantidad;
   saldo=saldo-cantidad;
  } else
  { cout<<"Fondos insuficientes\n";
  } break;
  default:
  {  cout<<"Error en tipo de operacion\n"; }}
 case 3: saldo=saldoinicial[numcli-1];
 indice=0;
 while(m3[indice]>0||m3[indice]<0)
 { indice++;
  saldo=saldo+m3[indice]; }
 switch(op)
 {
  case 1:
  m3[indice]=cantidad;
  saldo=saldo+cantidad;
  break;
  case 2:
  if(cantidad<=saldo)
  {  m3[indice]=-cantidad;
   saldo=saldo-cantidad;
  } else
{ cout<<"Fondos insuficientes\n";
  } break;
  default:
  {  cout<<"Error en tipo de operacion\n";
}}}}
void desplegar(float saldoinicial[3],char nombres[3][25],float m1[20],float m2[20],float m3[20],int numcli)
{
float totaldep=0.0, totret=0, saldo=0;
int i;
cout<<"Cuentahabiente: "<<nombres[numcli-1]<<endl;
cout<<"Saldo inicial: "<<saldoinicial[numcli-1]<<endl;
cout<<"Movimiento\t Deposito\t\t Retiro\t Saldo\n";
switch(numcli)
{
case 1: i=0, saldo=saldoinicial[numcli-1];
while (m1[i]>0 || m1[i]<0 || m1[i]!=0)
{ saldo+=m1[i];
cout<<(i+1)<<"\t\t\t";
if(m1[i]>0)
{ totaldep +=m1[i];
cout<<m1[i]<<"\t\t\t"<<saldo<<endl;
} else
{ totret +=m1[i];
cout<<"\t\t"<<m1[i]<<"\t"<<saldo<<endl;
} i++;
} cout<<"Totales\t\t\t"<<totaldep<<"\t\t"<<totret<<"\t"<<saldo<<endl;
break;
case 2: i=0, saldo=saldoinicial[numcli-1];
while (m2[i]>0 || m2[i]<0 || m2[i]!=0)
{ saldo+=m2[i];
cout<<(i+1)<<"\t\t\t";
if(m2[i]>0)
{ totaldep +=m2[i];
cout<<m2[i]<<"\t\t\t"<<saldo<<endl;
} else
{ totret +=m2[i];
cout<<"\t\t"<<m2[i]<<"\t"<<saldo<<endl;
} i++;
} cout<<"Totales\t\t\t"<<totaldep<<"\t\t"<<totret<<"\t"<<saldo<<endl;
 break;
case 3: i=0, saldo=saldoinicial[numcli-1];
while (m3[i]>0 || m3[i]<0 || m3[i]!=0)
{ saldo+=m3[i];
cout<<(i+1)<<"\t\t\t";
if(m3[i]>0)
{ totaldep +=m3[i];
cout<<m3[i]<<"\t\t\t"<<saldo<<endl;
} else
{ totret +=m3[i];
cout<<"\t\t"<<m3[i]<<"\t"<<saldo<<endl;
} i++;
} cout<<"Totales\t\t\t"<<totaldep<<"\t\t"<<totret<<"\t"<<saldo<<endl;
 break; }}
Seudocodigo
Inicio de programa
{  si[3], mov1[20], mov2[20], mov3[20] float 
char name[3][25], otro
datosiniciales(name,si)
iniciarmov(mov1)
iniciarmov(mov2)
iniciarmov(mov3)
do
{ movimientos(si, mov1, mov2, mov3);
print "Otro movimiento(s/n)= "
read otro }
while(otro=='s' || otro=='S')
desplegar(si,name,mov1,mov2,mov3,1)
desplegar(si,name,mov1,mov2,mov3,2)
desplegar(si,name,mov1,mov2,mov3,3)
Fin de programa 
void datosiniciales(char nombres[3][25],float saldoinicial[3])
{ i int 
for(i=0; i<3; i++)
{ print "Nombre del cliente ",(i+1)," = "
gets(nombres[i])
print "Saldo inicial= "
read saldoinicial[i] }}
void iniciarmov(float m[20])
{ i=0 int 
for(i=0; i<20; i++)
{ m[i]=0.0
}}
void movimientos(float saldoinicial[3],float m1[20],float m2[20],float m3[20])
{ cantidad, saldo float 
op, indice=0, numcli int 
print "Numero de cliente= "
read numcli
print "Tipo de operacion 1)Deposito 2)Retiro "
read op
print "Cantidad de dinero= "
read cantidad
switch(numcli)
{
 case 1: saldo=saldoinicial[numcli-1]
 indice=0
 while(m1[indice]>0||m1[indice]<0)
 { indice++
  saldo=saldo+m1[indice] }
 switch(op)
 {
  case 1:
  m1[indice]=cantidad
  saldo=saldo+cantidad
  break
  case 2:
  if(cantidad<=saldo)
  { m1[indice]=-cantidad
   saldo=saldo-cantidad
  } else
  { print "Fondos insuficientes\n"
  } break
  default:
  {  print "Error en tipo de operacion\n"
  }}
 case 2: saldo=saldoinicial[numcli-1]
 indice=0
 while(m2[indice]>0||m2[indice]<0)
 {  indice++
  saldo=saldo+m2[indice] }
 switch(op)
 {
  case 1: 
  m2[indice]=cantidad
  saldo=saldo+cantidad
  break
  case 2: if(cantidad<=saldo)
  {  m2[indice]=-cantidad
   saldo=saldo-cantidad
  } else
  { print "Fondos insuficientes\n"
  } break
  default:
  {  print "Error en tipo de operacion\n" }}
 case 3: saldo=saldoinicial[numcli-1]
 indice=0
 while(m3[indice]>0||m3[indice]<0)
 { indice++
  saldo=saldo+m3[indice] }
 switch(op)
 {
  case 1:
  m3[indice]=cantidad
  saldo=saldo+cantidad
  break
  case 2:
  if(cantidad<=saldo)
  {  m3[indice]=-cantidad
   saldo=saldo-cantidad
  } else
{ print "Fondos insuficientes\n"
  } break
  default:
  {  print "Error en tipo de operacion\n"
}}}}
void desplegar(float saldoinicial[3],char nombres[3][25],float m1[20],float m2[20],float m3[20],int numcli)
{
totaldep=0.0, totret=0, saldo=0 float
i int 
print "Cuentahabiente: "<<nombres[numcli-1]
print "Saldo inicial: "<<saldoinicial[numcli-1]
print "Movimiento\t Deposito\t\t Retiro\t Saldo\n"
switch(numcli)
{
case 1: i=0, saldo=saldoinicial[numcli-1]
while (m1[i]>0 || m1[i]<0 || m1[i]!=0)
{ saldo+=m1[i]
print (i+1),"\t\t\t"
if(m1[i]>0)
{ totaldep +=m1[i]
print m1[i],"\t\t\t",saldo
} else
{ totret +=m1[i]
print "\t\t",m1[i],"\t",saldo
} i++
} print "Totales\t\t\t",totaldep,"\t\t",totret,"\t",saldo
break
case 2: i=0, saldo=saldoinicial[numcli-1]
while (m2[i]>0 || m2[i]<0 || m2[i]!=0)
{ saldo+=m2[i]
print (i+1),"\t\t\t"
if(m2[i]>0)
{ totaldep +=m2[i]
print m2[i],"\t\t\t",saldo
} else
{ totret +=m2[i]
print "\t\t",m2[i],"\t",saldo
} i++
} print "Totales\t\t\t",totaldep,"\t\t",totret,"\t",saldo
 break
case 3: i=0, saldo=saldoinicial[numcli-1]
while (m3[i]>0 || m3[i]<0 || m3[i]!=0)
{ saldo+=m3[i]
print (i+1),"\t\t\t"
if(m3[i]>0)
{ totaldep +=m3[i]
print m3[i],"\t\t\t",saldo,
} else
{ totret +=m3[i]
print "\t\t",m3[i],"\t",saldo
} i++
} print "Totales\t\t\t",totaldep,"\t\t",totret,"\t",saldo
 break }}

No hay comentarios:

Publicar un comentario