viernes, 1 de abril de 2011

TAREAS UNIDAD lll

Calculadora basada en funciones

Código en C++

#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
float multipli(float num1, float num2);
float divicion(float num1, float num2);
float inverso(float num1);
float suma(float num1, float num2);
float factorial(int num1);
float inversoadi(float num1);
float tangente(float num1);
float cotangente(float num1);
float resta(float num1, float num2);
float expo(float num1, float num2);
float raiz(float num1);
float seno(float num1);
float coseno(float n1);
float secante(float num1);
float cosecante(float num1);
float log(float a);
float ln(float a);

void main()
{
char ope;
float num1,num2;
cout<<"                  Calculator                    "<<endl;
cout<<endl<<"sin [s]  cse [v]"<<endl;
cout<<"cos [c]  sec [w]"<<endl;
cout<<"tan [t]  ctg [x]"<<endl;
gotoxy(20,3);cout<<"[7]  [8]  [9]  [+]   raiz        [&]"<<endl;
gotoxy(20,4);cout<<"[4]  [5]  [6]  [-]   potencia    [^]"<<endl;
gotoxy(20,5);cout<<"[1]  [2]  [3]  [*]   1/x         [i]"<<endl;
gotoxy(20,6);cout<<"     [0]  [.]  [/]   factorial   [f]"<<endl;
gotoxy(20,7);cout<<"       limpiar [e]"<<endl;
gotoxy(41,7);cout<<"inv. aditivo[_] "<<endl;
gotoxy(41,8);cout<<"log.natural [y] "<<endl;
gotoxy(41,9);cout<<"log.base10  [l] "<<endl;
cin>>num1;
while(1<2)
{
cin>>ope;
if(ope=='e')
{
system("cls");
cout<<"                    Calculator                    "<<endl;
cout<<endl<<"sin [s]  cse [v]"<<endl;
cout<<"cos [c]  sec [z]"<<endl;
cout<<"tan [t]  ctg [x]"<<endl;
gotoxy(20,3);cout<<"[7]  [8]  [9]  [+]   raiz        [&]"<<endl;
gotoxy(20,4);cout<<"[4]  [5]  [6]  [-]   potencia    [^]"<<endl;
gotoxy(20,5);cout<<"[1]  [2]  [3]  [*]   1/x         [i]"<<endl;
gotoxy(20,6);cout<<"     [0]  [.]  [/]   factorial   [f]"<<endl;
gotoxy(20,7);cout<<"       limpiar [e]"<<endl;
gotoxy(41,7);cout<<"inv. aditivo[%] "<<endl;
gotoxy(41,8);cout<<"log.natural [l] "<<endl;
gotoxy(41,9);cout<<"log.base10  [y] "<<endl;
cin>>num1;
cin>>ope;
}

if (ope=='l' || ope=='y' || ope=='i' || ope=='f' || ope=='%' || ope=='c' ||
ope=='s' || ope=='t' || ope=='&' || ope=='x' || ope=='v' || ope=='w' )
{
switch (ope)
{
case 'l':
cout<<" = "<<log(num1)<<endl;
num1=log(num1);
break;
case 'y':
cout<<" = "<<ln(num1)<<endl;
num1=ln(num1);
break;
case 'i':
cout<<" = "<<inverso(num1)<<endl;
num1=inverso(num1);
break;
case 'f':
cout<<" = "<<factorial(num1)<<endl;
num1=factorial(num1);
break;
case '%':
cout<<" = "<<inversoadi(num1)<<endl;
num1=inversoadi(num1);
break;
case 'c':
cout<<" = "<<coseno(num1)<<endl;
num1=coseno(num1);
break;
case 's':
cout<<" = "<<seno(num1)<<endl;
num1=seno(num1);
break;
case 't':
cout<<" = "<<tangente(num1)<<endl;
num1=tangente(num1);
break;
case '&':
cout<<" = "<<raiz(num1)<<endl;
num1=raiz(num1);
break;
case 'x':
cout<<" = "<<cotangente(num1)<<endl;
num1=cotangente(num1);
break;
case 'v':
cout<<" = "<<cosecante(num1)<<endl;
num1=cosecante(num1);
break;
case 'w':
cout<<" = "<<secante(num1)<<endl;
num1=secante(num1);
break;
}
}
else
{
cin>>num2;
switch (ope)
{

case '-':
cout<<" = "<<resta(num1,num2)<<endl;
num1=resta(num1,num2);
break;
case '*':
cout<<" = "<<multipli(num1,num2)<<endl;
num1=multipli(num1,num2);
break;
case '+':
cout<<" = "<<suma(num1,num2)<<endl;
num1=suma(num1,num2);
break;
case '/':
{
if(num2!=0)
cout<<" = "<<divicion(num1,num2)<<endl;
else
cout<<"No es pocible dividir entre 0"<<endl;
}
num1=divicion(num1,num2);
break;
case '^':
cout<<" = "<<expo(num1,num2)<<endl;
num1=expo(num1,num2);
break;

}
}
}
getch();
}

float suma(float a, float b)
{
float suma;
suma=a+b;
return suma;
}

float resta(float a, float b)
{
float resta;
resta=a-b;
return resta;
}

float multipli(float a, float b)
{
float multipli;
multipli=a*b;
return multipli;
}

float divicion(float a, float b)
{
float divicion;
if(b!=0)
divicion=a/b;
return divicion;
}

float expo(float a, float b)
{
float expo;
expo=pow(a,b);
return expo;
}

float raiz(float a)
{
float raiz;
raiz=sqrt(a);
return raiz;
}

float inverso(float a)
{
float inverso;
inverso=(1/a);
return inverso;
}

float factorial(int a)
{
double i, factorial;
i = 1;
factorial = 1;
while (i <= a)
{
factorial = factorial * i;
i=i+1;
}
return factorial;
}

float inversoadi(float a)
{
float inversoadi;
inversoadi=(-1*a);
return inversoadi;
}

float seno(float a)
{
float seno, rad;
rad=(a*3.1416)/180;
seno=sin(rad);
return seno;
}

float coseno(float a)
{
float coseno, rad;
rad=(a*3.1416)/180;
coseno=cos(rad);
return coseno;
}

float tangente(float a)
{
float tangente,rad;
rad=(a*3.1416)/180;
tangente=tan(rad);
return tangente;
}

float cotangente(float a)
{
float cotangente, rad;
rad=(a*3.1416)/180;
cotangente=1/(tan(rad));
return cotangente;
}

float secante(float a)
{
float secante, rad;
rad=(a*3.1416)/180;
secante=1/(cos(rad));
return secante;
}

float cosecante(float a)
{
float cosecante, rad;
rad=(a*3.1416)/180;
cosecante=1/(sin(rad));
return cosecante;
}


float log(float a)
{
double log;
log=log10(a);
return log;
}
float ln(float a)
{
double ln;
ln=log(a);
return ln;
}

Corrida en C++













Grafica de una curva

Ecuación:
y = 0.9*((x-4)2)+5



Código en C++

#include <iostream.h>
#include <conio.h>
#include <math.h>
int main()
{
int x,y;
char etiqueta[]=" eje Y";
char eje[]="+---------------------------------------------->";
char linea[]="|                                             ";
cout<< etiqueta << endl;
cout<< eje <<endl;
for(x=1;x<=15;x++)
{
y = 0.9*(pow((x-4),2.0))+5;
linea[y] = '*';
cout<< linea << endl;
linea[y ] = '  ';
}
getch();
}


Corrida en C++





Archivo Binario
Código en C++

#include <fstream.h>
#include <conio.h>
#include <math.h>
void crear_Archivo()
{
fstream archivo;
archivo.open("C://datos//polar.txt", ios::binary | ios::out);
archivo<<2.0<<"    "<<45.0<<"    "<<endl;
archivo<<6.0<<"    "<<30.0<<"    "<<endl;
archivo<<10.0<<"    "<<45.0<<"    "<<endl;
archivo<<4.0<<"    "<<60.0<<"    "<<endl;
archivo<<12.0<<"    "<<55.0<<"    "<<endl;
archivo<<8.0<<"    "<<15.0<<"    "<<endl;
archivo.close();
}
void agregar_dato()
{
int d1, angulo;
char continuar;
fstream archivo;
archivo.open("C://datos//polar.txt", ios::binary | ios::app);
do
{
cout<<"Distancia (pulgadas): ";
cin>>d1;
cout<<"Angulo (grados): ";
cin>>angulo;
archivo<<d1<<"    "<<angulo<<endl;
cout<<"Otro dato (S/N): ";
cin>>continuar;}
while(continuar=='s'||continuar=='S');
archivo.close();
}

void coordenadas()
{
float distancia, angulo, rad, x, y;
fstream f1;
fstream f2;
f1.open("C://datos//polar.txt", ios::binary | ios::in);
f2.open("C://datos//xycord.txt", ios::binary | ios::out);
f1>>distancia;
while(!f1.eof())
{
f1>>angulo;
rad=(angulo*3.1416)/180.0;
x=distancia*cos(rad);
y=distancia*sin(rad);
f2<<x<<"    "<<y<<" "<<endl;
f1>>distancia;}
f1.close();
f2.close();}

void imprimearchivo()
{float x, y;
fstream archivo;
archivo.open("C://datos//xycord.txt", ios::binary | ios::in);
archivo>>x;
while(!archivo.eof())
{
cout<<x<<" ";
archivo>>y;
cout<<y<<endl;
archivo>>x;
}
archivo.close();
}
void main()
{
crear_Archivo();
agregar_dato();
coordenadas();
imprimearchivo();
getch();
}


Corrida en C++




No hay comentarios:

Publicar un comentario