Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifdef __unix__
- #include<unistd.h>
- #define limpiar system("clear")
- #define parar sleep(2)
- #elif defined _WIN32
- #include<windows.h>
- #define limpiar system("cls")
- #define parar Sleep(2500)
- #endif
- #define PI 3.14159265
- #include<math.h>
- #include<stdio.h>
- main(){
- //Variables principales de uso general
- double numero1, numero2, numero3, numero4, numero5, res;
- long long int opc1, opc2, opc3, opcioniva, num1, num2, num3, num4, num5, devuelve;
- char producto[25];
- //Nombre del programa - Windows
- HWND ocultar;
- ocultar=GetForegroundWindow();
- SetWindowText(ocultar,"Calc Don v0.7");
- //Archivo de texto generado
- FILE *log;
- do{
- limpiar;
- printf(" ______ _______ _ ______ ______ ______ _ _ \n");
- printf(" | ____| | ___ | | | | ____| | __ \\ | __ | | \\ | | \n");
- printf(" | | | | | | | | | | | | \\ | | | | | | \\ | | \n");
- printf(" | | | |___| | | | | | | | | | | | | | | \\ | | \n");
- printf(" | |____ | | | | | |____ | |____ | |_ / / | |__| | | |\\ \\| | \n");
- printf(" |______| |_| |_| |______| |______| |_____/ |______| |_| \\___| \n\n");
- printf(" ==============================================================================\n\n");
- printf("\t\t\t###############################\n");
- printf("\t\t\t# #\n");
- printf("\t\t\t# Selecciona una categor%ca: #\n",161);
- printf("\t\t\t# #\n");
- printf("\t\t\t# (1) B%csico #\n",160);
- printf("\t\t\t# (2) Trigonometr%ca #\n",161);
- printf("\t\t\t# (3) Avanzado #\n");
- printf("\t\t\t# (4) Opciones #\n");
- printf("\t\t\t# (5) Acerca de... #\n");
- printf("\t\t\t# (6) Salir #\n");
- printf("\t\t\t# Versi%cn 0.7 #\n",162);
- printf("\t\t\t# #\n");
- printf("\t\t\t###############################\n");
- //Animacion de transiccion
- for(int i=0; i<=79; i++)
- printf("_");
- for(int i=0; i<=79; i++){
- printf("=");
- Sleep(1000/80);
- }
- printf(">>> ");
- //Evita error de ingreso de carácter en var numérica
- devuelve = scanf("%lld", &opc1);
- limpiar;
- while(devuelve!=1){
- limpiar;
- printf(" ______ _______ _ ______ ______ ______ _ _ \n");
- printf(" | ____| | ___ | | | | ____| | __ \\ | __ | | \\ | | \n");
- printf(" | | | | | | | | | | | | \\ | | | | | | \\ | | \n");
- printf(" | | | |___| | | | | | | | | | | | | | | \\ | | \n");
- printf(" | |____ | | | | | |____ | |____ | |_ / / | |__| | | |\\ \\| | \n");
- printf(" |______| |_| |_| |______| |______| |_____/ |______| |_| \\___| \n\n");
- printf(" ==============================================================================\n\n");
- printf("\t\t\t###############################\n");
- printf("\t\t\t# #\n");
- printf("\t\t\t# Selecciona una categor%ca: #\n",161);
- printf("\t\t\t# #\n");
- printf("\t\t\t# (1) B%csico #\n",160);
- printf("\t\t\t# (2) Trigonometr%ca #\n",161);
- printf("\t\t\t# (3) Avanzado #\n");
- printf("\t\t\t# (4) Opciones #\n");
- printf("\t\t\t# (5) Acerca de... #\n");
- printf("\t\t\t# (6) Salir #\n");
- printf("\t\t\t# Versi%cn 0.7 #\n",162);
- printf("\t\t\t# #\n");
- printf("\t\t\t###############################\n");
- printf("________________________________________________________________________________");
- printf("================================================================================");
- printf(">>> ");
- getchar();
- devuelve=scanf("%lld",&opc1);
- }
- switch(opc1){
- case 1: //Basico
- do{
- limpiar;
- printf("\n Elije la operaci%cn a realizar:\t\t\t\t\t Volver(0)",162);
- printf("\n -------------------------------\n\n");
- printf(" ####################################\n");
- printf(" # #\n");
- printf(" # 1-Suma\t\t5-Ra%cz #\n",161);
- printf(" # 2-Resta\t\t6-Potencia #\n");
- printf(" # 3-Multiplicaci%cn\t7-Logaritmo #\n",162);
- printf(" # 4-Divisi%cn\t\t8-Factorial #\n",162);
- printf(" # #\n");
- printf(" ####################################\n\n");
- printf(" Elecci%cn>>> ",162);
- scanf("%lld", &opc2);
- limpiar;
- switch(opc2){
- case 1:
- printf("\nIntroduce el primer n%cmero a sumar:\t",163);
- scanf("%lf",&numero1);
- printf("Introduce el segundo n%cmero a sumar:\t",163);
- scanf("%lf",&numero2);
- printf("\nEl resultado es: %lf",numero1+numero2);
- log=fopen("Resultado.log","a");
- fprintf(log,"Suma\n");
- fprintf(log,"---------\n\n");
- fprintf(log,"%lf + %lf = %lf\n\n",numero1,numero2,numero1+numero2);
- fclose(log);
- getchar();
- break;
- case 2:
- printf("\nIntroduce el primer n%cmero a restar:\t",163);
- scanf("%lf",&numero1);
- printf("Introduce el segundo n%cmero a restar:\t",163);
- scanf("%lf",&numero2);
- printf("\nEl resultado es: %lf",numero1-numero2);
- log=fopen("Resultado.log","a");
- fprintf(log,"Resta\n");
- fprintf(log,"---------\n\n");
- fprintf(log,"%lf - %lf = %lf\n\n",numero1,numero2,numero1-numero2);
- fclose(log);
- getchar();
- break;
- case 3:
- printf("\nIntroduce el primer multiplicante:\t");
- scanf("%lf",&numero1);
- printf("Introduce el segundo multiplicante :\t");
- scanf("%lf",&numero2);
- printf("\nEl resultado es: %lf",numero1*numero2);
- log=fopen("Resultado.log","a");
- fprintf(log,"Multiplicación\n");
- fprintf(log,"---------------------\n\n");
- fprintf(log,"%lf x %lf = %lf\n\n",numero1,numero2,numero1*numero2);
- fclose(log);
- getchar();
- break;
- case 4:
- printf("\nIntroduce el dividendo(numero entero):\t"); //Dividendo=num1 Divisor=num2 Cociente=num3 Resto=num4
- scanf("%lld",&num1);
- printf("Introduce el divisor(numero entero):\t");
- scanf("%lld",&num2);
- num3=num1/num2; //cociente=dividendo/divisor;
- num4=num1-(num3*num2); //resto=dividendo-(cociente*divisor);
- printf("\nEl cociente es: %lld\nEl resto es: %lld",num3,num4);
- log=fopen("Resultado.log","a");
- fprintf(log,"División\n");
- fprintf(log,"------------\n\n");
- fprintf(log,"%lld / %lld = %lld\n",num1,num2,num1/num2);
- fprintf(log,"Dividendo: %lld\nDivisor: %lld\nCociente: %lld\nResto: %lld\n\n",num1,num2,num3,num4);
- fclose(log);
- getchar();
- break;
- case 5:
- printf("\nIntroduce el n%cmero del cual deseas sacar la ra%cz:\t",163,161);
- scanf("%lf",&numero1);
- printf("\nEl resultado es: %lf", sqrt(numero1));
- log=fopen("Resultado.log","a");
- fprintf(log,"Raíz\n");
- fprintf(log,"-------\n\n");
- fprintf(log,"La raíz cuadrada de %lf es %lf\n\n",numero1,sqrt(numero1));
- fclose(log);
- getchar();
- break;
- case 6:
- printf("\nIntroduce la base:\t");
- scanf("%lf",&numero1);
- printf("Introduce el exponente:\t");
- scanf("%lf",&numero2);
- printf("\nEl resultado es: %lf",pow(numero1,numero2));
- log=fopen("Resultado.log","a");
- fprintf(log,"Potencia\n");
- fprintf(log,"-------------\n\n");
- fprintf(log,"El numero %lf elevado a %lf es %lf\n\n",numero1,numero2,pow(numero1,numero2));
- fclose(log);
- getchar();
- break;
- case 7:
- printf("\nIntroduce el n%cmero (base 10 por defecto):\t",163);
- scanf("%lf",&numero1);
- printf("\nEl resultado es: %lf",log10(numero1));
- log=fopen("Resultado.log","a");
- fprintf(log,"Logaritmo\n");
- fprintf(log,"---------------\n\n");
- fprintf(log,"El logaritmo de %lf en base 10 es %lf\n\n",numero1,log10(numero1));
- fclose(log);
- getchar();
- break;
- case 8:
- long long int fact=1;
- printf("Introduce un n%cmero:\t",163); scanf("%lld",&num1);
- log=fopen("Resultado.log","a");
- fprintf(log,"Factorial\n");
- fprintf(log,"--------------\n\n");
- for(int i=2; i<=num1; i++){
- fact = fact * i;
- }
- printf("Su factorial es:\t%lld ",fact);
- fprintf(log,"El factorial de %lld es %lld\n\n",num1,fact);
- fclose(log);
- getchar();
- break;
- }
- while(getchar() !='\n');
- }while(opc2!=0);
- break;
- case 2: //Trigonometria
- do{
- limpiar;
- printf("\n Elije la operaci%cn a realizar:\t\t\t\t\t Volver(0)",162);
- printf("\n -------------------------------\n\n");
- printf(" ##########################################################\n");
- printf(" # #\n");
- printf(" # 1-Seno\t4-Cosecante\t7-Area de un triangulo #\n",161);
- printf(" # 2-Coseno\t5-Secante\t8-Angulos de un triangulo #\n");
- printf(" # 3-Tangente\t6-Cotangente #\n",162);
- printf(" # #\n");
- printf(" ##########################################################\n\n");
- printf(" Elecci%cn>>> ",162);
- scanf("%lld", &opc2);
- limpiar;
- switch(opc2){
- case 1:
- printf("\nIntroduce el n%cmero a hallar el seno:\t",163);
- scanf("%lf",&numero1);
- printf("\nEl resultado es: %lf",sin(numero1));
- log=fopen("Resultado.log","a");
- fprintf(log,"Seno\n");
- fprintf(log,"--------\n\n");
- fprintf(log,"El seno de %lf es %lf\n\n",numero1,sin(numero1));
- fclose(log);
- getchar();
- break;
- case 2:
- printf("\nIntroduce el n%cmero a hallar el coseno:\t",163);
- scanf("%lf",&numero1);
- printf("\nEl resultado es: %lf",cos(numero1));
- log=fopen("Resultado.log","a");
- fprintf(log,"Coseno\n");
- fprintf(log,"-----------\n\n");
- fprintf(log,"El coseno de %lf es %lf\n\n",numero1,cos(numero1));
- fclose(log);
- getchar();
- break;
- case 3:
- printf("\nIntroduce el n%cmero a hallar la tangente:\t",163);
- scanf("%lf",&numero1);
- printf("\nEl resultado es: %lf",tan(numero1));
- log=fopen("Resultado.log","a");
- fprintf(log,"Tangente\n");
- fprintf(log,"--------------\n\n");
- fprintf(log,"La tangente de %lf es %lf\n\n",numero1,tan(numero1));
- fclose(log);
- getchar();
- break;
- case 4:
- printf("\nIntroduce el n%cmero a hallar el cosecante:\t",163);
- scanf("%lf",&numero1);
- printf("\nEl resultado es: %lf",asin(numero1));
- log=fopen("Resultado.log","a");
- fprintf(log,"Cosecante\n");
- fprintf(log,"----------------\n\n");
- fprintf(log,"La cosecante de %lf es %lf\n\n",numero1,asin(numero1));
- fclose(log);
- getchar();
- break;
- case 5:
- printf("\nIntroduce el n%cmero a hallar el secante:\t",163);
- scanf("%lf",&numero1);
- printf("\nEl resultado es: %lf",acos(numero1));
- log=fopen("Resultado.log","a");
- fprintf(log,"Secante\n");
- fprintf(log,"-------------\n\n");
- fprintf(log,"La secante de %lf es %lf\n\n",numero1,acos(numero1));
- fclose(log);
- getchar();
- break;
- case 6:
- printf("\nIntroduce el n%cmero a hallar la cotangente:\t",163);
- scanf("%lf",&numero1);
- printf("\nEl resultado es: %lf",atan(numero1));
- log=fopen("Resultado.log","a");
- fprintf(log,"Cotangente\n");
- fprintf(log,"-----------------\n\n");
- fprintf(log,"La cotangente de %lf es %lf\n\n",numero1,atan(numero1));
- fclose(log);
- getchar();
- break;
- case 7:
- printf("\nIntroduce la base:\t");
- scanf("%lf",&numero1);
- printf("Introduce la altura:\t");
- scanf("%lf",&numero2);
- res=numero1*numero2/2;
- printf("\nEl %crea del triangulo es %lf",160,res);
- log=fopen("Resultado.log","a");
- fprintf(log,"Área del triángulo\n");
- fprintf(log,"---------------------------\n\n");
- fprintf(log,"Para la base %lf y la altura %lf el área es %lf\n\n",numero1,numero2,res);
- fclose(log);
- getchar();
- break;
- case 8:
- double a, b, c, A, B, C;
- printf("Introduce lado a: "); scanf("%lf",&a);
- printf("Introduce lado b: "); scanf("%lf",&b);
- printf("Introduce lado c: "); scanf("%lf",&c);
- log=fopen("Resultado.log","a");
- fprintf(log,"Conocer ángulos de un triángulo\n");
- fprintf(log,"-----------------------------------------------\n\n");
- fprintf(log,"Si el lado A es %lf, el B es %lf y el C %lf...",a,b,c);
- A = acos((b*b+c*c-a*a)/(2*b*c))*180/PI;
- B = acos((a*a+c*c-b*b)/(2*a*c))*180/PI;
- C = acos((a*a+b*b-c*c)/(2*a*b))*180/PI;
- if(A == 90 || B == 90 || C == 90){
- printf("\nEl tri%cngulo es rect%cngulo",160,160);
- fprintf(log,"el triángulo es rectángulo\n");
- }
- if(A < 90 && B < 90 && C < 90){
- printf("\nEl tri%cngulo es acut%cngulo",160,160);
- fprintf(log,"el triángulo es acutángulo\n");
- }
- if(A > 90 || B > 90 || C > 90){
- printf("\nEl tri%cngulo es obtus%cngulo",160,160);
- fprintf(log,"el triángulo es obtusángulo\n");
- }
- printf("\n\nSus %cngulos son: \nA:\t%lf\nB:\t%lf\nC:\t%lf",160,A,B,C);
- fprintf(log,"\nSus ángulos son: \nA:\t%lf\nB:\t%lf\nC:\t%lf\n\n",A,B,C);
- fclose(log);
- getchar();
- break;
- }while(getchar() !='\n');
- }while(opc2!=0);
- break;
- case 3: //Avanzado
- do{
- limpiar;
- printf("\n Elije la operaci%cn a realizar:\t\t\t\t\t Volver(0)\n",162);
- printf(" ------------------------------\n\n");
- printf(" #############################################################################\n");
- printf(" # #\n");
- printf(" # 1-Conocer m%cltiplos\t\t5-Producto de 2 matrices\t9-Conversor #\n",161);
- printf(" # 2-Teorema de Pit%cgoras\t6-Conocer n%cmeros primos\t10-Fibonacci #\n");
- printf(" # 3-Teorema del Binomio\t7-Area de un c%crculo\t\t11-MCD #\n",162);
- printf(" # 4-Calcular un descuento\t8-Longitud de un c%crculo\t12-MCM #\n");
- printf(" # #\n");
- printf(" #############################################################################\n\n");
- printf(" Elecci%cn>>> ",162);
- scanf("%lld",&opc2);
- limpiar;
- switch(opc2){
- case 1:
- printf("\nIntroduce el numero a conocer sus m%cltiplos:\t ",163);//num1=Numero(num) num2=Cifras num3=Multiplo(mp)
- scanf("%lld",&num1);
- printf("%cHasta que cifras deseas conocerlo?:\t",168,num1);
- scanf("%lld",&num2);
- log=fopen("Resultado.log","a");
- fprintf(log,"Conocer los múltiplos\n");
- fprintf(log,"--------------------------------\n\n");
- fprintf(log,"Los múltiplos del %lld hasta el %lld son...\n\n",num1,num2);
- printf("\n");
- for(num3=num1;num3<=num2;num3=num3+num1)
- {
- printf("%lld ",num3);
- fprintf(log,"%lld ",num3);
- }
- fprintf(log,"\n\n");
- fclose(log);
- getchar();
- break;
- case 2:
- do{
- limpiar;
- int x=1;
- double c, C, h;
- printf("\n %cQu%c deseas hacer?\n",168,130);
- printf(" ------------------\n\n");
- printf(" 1-Hallar un cateto\n 2-Hallar la hipotenusa\n 3-Volver\t\t");
- scanf("%lld", &opc3);
- log=fopen("Resultado.log","a");
- fprintf(log,"Hallar ángulos de un triángulo\n");
- fprintf(log,"-------------------------------------------\n\n");
- limpiar;
- if (opc3 == 1) {
- printf("\n Introduzca el valor de un cateto: ");
- scanf("%lf", &c);
- printf(" Introduzca el valor de la hipotenusa: ");
- scanf("%lf", &h);
- if (c<h){
- C = sqrt(h*h - c*c);
- printf("\n El cateto tiene un valor de: %lf\n", C);
- fprintf(log,"Hallando un cateto...Si el cateto vale %lf y la hipotenusa vale %lf...entonces el otro cateto vale %f\n\n",c,h,C);
- while(getchar() !='\n');
- getchar();
- }else {
- printf("\n Error, no puede ser mayor el valor del cateto que el de la hipotenusa");
- while(getchar() !='\n');
- getchar();}
- }
- else if (opc3 == 2) {
- printf("\n Introduzca el valor del cateto opuesto: ");
- scanf("%lf", &c);
- printf(" Introduzca el valor del cateto adyacente: ");
- scanf("%lf", &C);
- h = sqrt(C*C + c*c);
- printf("\n El valor de la hipotenusa es: %lf\n", h);
- fprintf(log,"Hallando la hipotenusa...Si el cateto opuesto vale %lf y el cateto adyacente vale %lf...entonces la hipotenusa es %lf\n\n",c,C,h);
- while(getchar() !='\n');
- getchar();
- }
- fclose(log);
- }while(opc3!=3);
- break;
- case 3:
- long long n, k, nf, kf, resta, restaf, v, w;
- printf("\nIntroduce el valor de n: ");
- while(getchar() !='\n');
- scanf("%lld",&n);
- printf("\nIntroduce el valor de k: ");
- scanf("%lld",&k);
- log=fopen("Resultado.log","a");
- fprintf(log,"Teorema del Binomio\n");
- fprintf(log,"-------------------------------\n\n");
- fprintf(log,"Si el valor de n es %lld y el de k es %lld...\n",n,k);
- nf = 1;
- kf = 1;
- resta = n - k;
- restaf = 1;
- while ( n > 1 ){ /* factorial de n */
- nf *= n--;
- }
- while ( k > 1 ){ /* factorial de k */
- kf *= k--;
- }
- while ( resta > 1 ){ /* factorial de (n - k) */
- restaf *= resta--;
- }
- v = kf * restaf; /* k! * (n - k)! */
- w = nf / v; /* n! / (k! * (n - k)!) */
- /* resultados */
- printf( "\nn! = %lld\n"
- "k! = %lld\n"
- "(n - k)! = %lld\n"
- "k! * (n - k)! = %lld\n"
- "n! / [k! (n - k)!] = %lld\n"
- "--------------------------\n"
- "Resultado final (ncr): %lld\n", nf, kf, restaf, v, w, w );
- fprintf(log,"\nn! = %lld\n"
- "k! = %lld\n"
- "(n - k)! = %lld\n"
- "k! * (n - k)! = %lld\n"
- "n! / [k! (n - k)!] = %lld\n"
- "--------------------------\n"
- "Resultado final (ncr): %lld\n\n", nf, kf, restaf, v, w, w );
- fclose(log);
- getchar();
- break;
- case 4:
- printf("\nIntroduce el nombre del producto: ");
- while(getchar() !='\n');
- fgets(producto, sizeof(producto), stdin);
- producto[strlen(producto)-1] = '\0';
- printf("\n%cDicho producto incluye IVA?:\n\n1-Si 2-No ",168);
- log=fopen("Resultado.log","a");
- fprintf(log,"Calcular un descuento\n");
- fprintf(log,"---------------------------------\n\n");
- scanf("%lld", &opcioniva);
- if(opcioniva==1){
- printf("\nIntroduce el precio del producto:\t"); //Precio=numero1 Descuento=numero2 Preciodesc=numero3
- scanf("%lf",&numero1); //Precioiva=numero4 Precioiva2=numero5
- printf("Introduce su descuento en porcentaje:\t");
- scanf("%lf",&numero2);
- numero3=numero1*numero2/100;
- res=numero1-numero3;
- printf("\nEl descuento del %s es de %lf euros", producto, numero3);
- printf("\n\nEl precio final del %s es de %lf euros", producto, res);
- fprintf(log,"El producto '%s' que cuesta %lf euros tiene un descuento del %lf por ciento, entonces...\n\nTiene una rebaja de %lf euros y su precio final es de %lf euros.\n\n",producto,numero1,numero2,numero3,res);
- }else{
- printf("\nIntroduce el precio del producto:\t");
- scanf("%lf",&numero1);
- printf("Introduce su descuento en porcentaje:\t");
- scanf("%lf",&numero2);
- numero4=numero1*18/100;
- numero5=numero4+numero1;
- numero3=numero5*numero2/100;
- res=numero5-numero3;
- printf("\nEl precio del %s con iva es de %lf euros\n", producto, numero5);
- printf("\nEl descuento del %s es de %lf euros", producto, numero3);
- printf("\n\nEl precio final del %s es de %lf euros", producto, res);
- fprintf(log,"El producto '%s' que cuesta %lf euros tiene un descuento del %lf por ciento, entonces...\n\nTiene una rebaja de %lf euros y su precio final es de %lf euros.\n\n",producto,numero1,numero2,numero3,res);
- }
- fclose(log);
- getchar();
- break;
- case 5:
- long long int n3,m3,o3,p3,i3,j3,k3,a3[10][10],b3[10][10],c3[10][10];
- log=fopen("Resultado.log","a");
- fprintf(log,"Producto de 2 matrices\n");
- fprintf(log,"----------------------------------\n\n");
- printf("\n\n%cCuantas filas tendra la matriz A?: ",168);
- scanf("%lld", &m3);
- printf("\n%cCuantas columnas tendra la matriz A?: ",168);
- scanf("%lld", &n3);
- printf("\n%cCuantas filas tiene la matriz B?: ",168);
- scanf("%lld", &o3);
- printf("\n%cCuantas columnas tendra la matriz B?: ",168);
- scanf("%lld", &p3);
- fprintf(log,"Si la matriz A tiene %lld filas y %lld columnas, y la matriz B tiene %lld filas y %lld columnas...\n\n",m3,n3,o3,p3);
- /*Reconoce si se puede realizar la multiplicacion*/
- if(m3!=p3){
- printf("\n\nEl n%cmero de columnas de la matriz \"A\" es diferente al n%cmero de filas \nde la matriz \"B\"",163,163);
- printf("\n\nEl producto matricial no es posible de realizar.\n\n");
- fprintf(log,"No se ha podido realizar porque el n%cmero de columnas de la matriz A es diferente al n%cmero de filas de la matriz B\n\n",163);
- fclose(log);
- while(getchar() !='\n');
- getchar();
- return 0;
- }
- for (i3=1;i3<=m3;i3++){ /*Ciclo anidado que captura la matriz A*/
- for (j3=1;j3<=n3;j3++){
- printf("\nDame el elemento A(%lld,%lld)(fila/columna): ", i3,j3);
- scanf("%lld", &a3[i3][j3]);
- fprintf(log,"El elemento A(%lld,%lld)(fila/columna): es %lld\n",i3,j3,a3[i3][j3]);
- }
- }
- fprintf(log,"\n");
- for (i3=1;i3<=o3;i3++){ /*Ciclo anidado que captura la matriz B*/
- for (j3=1;j3<=p3;j3++){
- printf("\nDame el elemento B(%lld,%lld)(fila/columna): ", i3,j3);
- scanf("%lld", &b3[i3][j3]);
- fprintf(log,"El elemento B(%lld,%lld)(fila/columna): es %lld\n",i3,j3,b3[i3][j3]);
- }
- }
- for (i3=1;i3<=m3;i3++){ /*Ciclo anidado que multiplica las 2 matrices*/
- for (j3=1;j3<=p3;j3++){
- c3[i3][j3]=0; /*Limpia la variable para entrar de nuevo al for*/
- for (k3=1;k3<=n3;k3++);
- c3[i3][j3]=(c3[i3][j3]+a3[i3][k3])*b3[k3][j3];
- }
- }
- printf("\n\nLa matriz resultante de la multiplicacion es: \n");
- fprintf(log,"\nEl valor de la matriz resultante es: ");
- /*Ciclo que imprime la matriz resultante*/
- for (i3=1;i3<=m3;i3++);{
- printf("\n");
- for(j3=1;j3<=p3;j3++);
- printf(" %lld ",c3[i3][j3]);
- fprintf(log," %lld ",c3[i3][j3]);
- }
- fprintf(log,"\n\n",c3[i3][j3]);
- fclose(log);
- getchar();
- break;
- case 6:
- log=fopen("Resultado.log","a");
- fprintf(log,"Conocer numeros primos\n");
- fprintf(log,"-------------------------------------\n\n");
- printf("\nIntroduce el l%cmite de numeros:\t",161); scanf("%lld",&num1); //num1=n num2=c num3=c2 num4=res num5=nc
- fprintf(log,"Para el límite de numeros primos %lld, dichos primos son:\n\n",num1);
- for(num2=1;num2<=num1;num2++){
- for(num3=1;num3<=num2;num3++){
- num4=num2%num3;
- if(num4==0){
- num5=num5+1;
- }
- }
- if(num5==2){
- printf("%lld ",num2);
- fprintf(log,"%lld ",num2);
- }
- num5=0;
- }
- fprintf(log,"\n\n");
- fclose(log);
- getchar();
- break;
- case 7:
- log=fopen("Resultado.log","a");
- fprintf(log,"Área de una Circunferencia\n");
- fprintf(log,"----------------------------------------------\n\n");
- printf("Introduce el radio: ");
- scanf("%lf",&numero1);
- res=3.1416*(numero1*numero1);
- printf("\n\nEl %crea del c%crculo es %lf",160,161,res);
- fprintf(log,"Si el radio es %lf, su área es %lf\n\n",numero1,res);
- fclose(log);
- getchar();
- break;
- case 8:
- log=fopen("Resultado.log","a");
- fprintf(log,"Longitud de una Circunferencia\n");
- fprintf(log,"----------------------------------------------\n\n");
- printf("Introduce el radio: ");
- scanf("%lf",&numero1);
- res=(2*3.1416)*numero1;
- printf("\n\nLa longitud del c%crculo es %lf",161,res);
- fprintf(log,"Si el radio es %lf, su longitud es %lf\n\n",numero1,res);
- fclose(log);
- getchar();
- break;
- case 9:
- log=fopen("Resultado.log","a");
- fprintf(log,"Conversor\n");
- fprintf(log,"---------------\n\n");
- fclose(log);
- do{
- limpiar;
- printf("\n Elije la operaci%cn a realizar:\t\t\t\t\t Volver(0)\n",162);
- printf(" ------------------------------\n\n");
- printf(" #######################################################\n");
- printf(" # #\n");
- printf(" # 1-Euros\\Pesetas\t\t2-Pesetas\\Euros #\n",161);
- printf(" # 3-Euros\\Dolares\t\t4-Dolares\\Euros #\n");
- printf(" # 5-Euros\\Yenes\t\t6-Yenes\\Euros #\n",162);
- printf(" # 7-Decimal\\Binario\t\t8-Binario\\Decimal #\n");
- printf(" # 9-Decimal\\Octal\t\t10-Octal\\Decimal #\n");
- printf(" # 11-Decimal\\Hexadecimal\t12-Hexadecimal\\Decimal #\n");
- printf(" # 13-Segundos\\Tiempo #\n");
- printf(" # #\n");
- printf(" #######################################################\n\n");
- printf(" Elecci%cn>>> ",162);
- scanf("%lld",&opc3);
- log=fopen("Resultado.log","a");
- limpiar;
- switch(opc3){
- case 1:
- printf("\nIntroduce la cantidad de euros a transformar:\t"); //numero1=Euro numero2=Peseta
- scanf("%lf",&numero1);
- numero2=numero1*166;
- printf("\nSon: %lf Pesetas",numero2);
- fprintf(log,"%lf euros son %lf pesetas\n\n",numero1,numero2);
- fclose(log);
- while(getchar() !='\n');
- getchar();
- break;
- case 2:
- printf("\nIntroduce la cantidad de pesetas a transformar:\t"); //numero1=Peseta numero2=Euro
- scanf("%lf",&numero1);
- numero2=numero1/166;
- printf("\nSon: %lf Euros",numero2);
- fprintf(log,"%lf pesetas son %lf euros\n\n",numero1,numero2);
- fclose(log);
- while(getchar() !='\n');
- getchar();
- break;
- case 3:
- printf("\nIntroduce la cantidad de euros a transformar:\t"); //numero1=Euro numero2=Dolar
- scanf("%lf",&numero1);
- numero2=numero1/0.8136;
- printf("\nSon: %lf dolares",numero2);
- fprintf(log,"%lf euros son %lf d%clares\n\n",numero1,numero2);
- fclose(log);
- while(getchar() !='\n');
- getchar();
- break;
- case 4:
- printf("\nIntroduce la cantidad de d%clares a transformar:\t"); //numero1=Dolar numero2=Euro
- scanf("%lf",&numero1);
- numero2=numero1/1.2616;
- printf("\nSon: %lf Euros",numero2);
- fprintf(log,"%lf d%clares son %lf euros\n\n",numero1,numero2);
- fclose(log);
- while(getchar() !='\n');
- getchar();
- break;
- case 5:
- printf("\nIntroduce la cantidad de euros a transformar:\t"); //numero1=Euro numero2=Yen
- scanf("%lf",&numero1);
- numero2=numero1*97.7538829 ;
- printf("\nSon: %lf yenes",numero2);
- fprintf(log,"%lf euros son %lf yenes\n\n",numero1,numero2);
- fclose(log);
- while(getchar() !='\n');
- getchar();
- break;
- case 6:
- printf("\nIntroduce la cantidad de yenes a transformar:\t"); //numero1=Yen numero2=Euro
- scanf("%lf",&numero1);
- numero2=numero1*0.0102297727;
- printf("\nSon: %lf Euros",numero2);
- fprintf(log,"%lf yenes son %lf euros\n\n",numero1,numero2);
- fclose(log);
- while(getchar() !='\n');
- getchar();
- break;
- case 7:
- long long int z,n,coc,nn2[50],contador;
- nn2[0]=0;
- printf("\nIntroduce un n%cmero:\t",163);
- scanf("%lld",&n);
- printf("\nEn binario es ");
- fprintf(log,"El número %lld en binario es ",n);
- for (contador=0;contador<50;contador++){
- nn2[contador]=n%2;
- n=n/2;
- if(n==0){
- break;
- }
- }
- for(z=contador;z>=0;z--){
- printf("%lld",nn2[z]);
- fprintf(log,"%lld",nn2[z]);
- }
- fprintf(log,"\n\n",nn2[z]);
- fclose(log);
- while(getchar() !='\n');
- getchar();
- break;
- case 8:
- long long int b,d,e,c;
- d=0;e=0;c=0;
- printf("Numero Binario: ");
- scanf("%lld",&b);
- fprintf(log,"El numero binario %lld",b);
- while(b>=10){
- c=0;
- while(b>=10){
- b=b-10;
- c++;
- }
- d=d+b*pow(2,e);
- e++;
- b=c;
- }
- d=d+c*pow(2,e);
- printf("\nConversi%cn a decimal: %lld",162,d);
- fprintf(log," es en decimal %lld\n\n",d);
- fclose(log);
- while(getchar() !='\n');
- getchar();
- break;
- case 9:
- int resultado,array[40],valor1,valor2,i2,cont,numero;
- i2=0; cont=0;
- printf ("\nIntroduce el n%cmero decimal: ",163);
- scanf ("%lld",&numero);
- fprintf(log,"El numero %lld en octal es ",numero);
- printf ("\nEl numero %lld en sistema octal es: ",numero);
- fprintf(log,"%lld\n\n",numero);
- getchar();
- do{
- resultado=numero/8;
- valor1=resultado*8;
- valor2=numero-valor1;
- numero=numero/8;
- array[i2]=valor2;
- i2=i2+1;
- cont=cont+1;
- }
- while (numero!=0);
- for (i2=cont-1;i2>=0;i2--){
- printf("%lld",array[i2]);
- }
- printf(" ");
- fclose(log);
- getchar();
- break;
- case 10:
- int valor, digito, total;
- valor=0; total=0;
- printf("\nIntroduce el n%cmero octal: ",163);
- scanf("%lld",&num1);
- fprintf(log,"El numero octal %lld en decimal es ",num1);
- while (num1 > 0){
- digito = num1%10;
- num1/=10;
- total+=digito * (int)pow(8,valor);
- valor++;
- }
- printf("\n decimal es %lld",total);
- fprintf(log,"%lld\n\n",total);
- fclose(log);
- while(getchar() !='\n');
- getchar();
- break;
- case 11:
- long long int up,r[10],y,j;
- y=-1;j=0;
- printf("Introduce un n%cmero: ",163);
- scanf("%lld",&up);
- printf("\n\nEn hexadecimal es ");
- fprintf(log,"El número %lld en hexadecimal es ",z);
- while(up){
- y++;
- r[y]=up%16;
- up=up/16;
- }
- for(j=y;j>=0;j--){
- if(r[j]==10){
- printf("A");fprintf(log,"A");
- }
- else if(r[j]==11){
- printf("B");fprintf(log,"B");
- }
- else if(r[j]==12){
- printf("C");fprintf(log,"C");
- }
- else if(r[j]==13){
- printf("D");fprintf(log,"D");
- }
- else if(r[j]==14){
- printf("E");fprintf(log,"E");
- }
- else if(r[j]==15){
- printf("F");fprintf(log,"F");
- }
- else{
- printf("%lld",r[j]);
- fprintf(log,"%lld",r[j]);
- }
- }
- fprintf(log,"\n\n");
- fclose(log);
- while(getchar() !='\n');
- getchar();
- break;
- case 12:
- char NroHexa[100], Aux[2];
- int i, Error;
- long NroDec, PosMult;
- while(getchar() !='\n');
- printf("Introduce el n%cmero Hexadecimal:\t",163);
- gets( NroHexa );
- // Chequeo que los caracteres del numero sean validos
- for( Error = 0, i = strlen(NroHexa) - 1; i>=0; i--){
- if( !( ( NroHexa[i] >= 'A' && NroHexa[i] <= 'F' ) ||
- ( NroHexa[i] >= 'a' && NroHexa[i] <= 'f' ) ||
- ( NroHexa[i] >= '0' && NroHexa[i] <= '9' ) ) )
- {
- Error = 1;
- break;
- }
- }
- if( !Error ){
- for( NroDec = 0, i = strlen(NroHexa) - 1; i>=0; i--){
- PosMult = (long)pow( 16, (strlen(NroHexa) - 1 - i) );
- if( PosMult == 0 )
- PosMult = 1;
- switch( NroHexa[i] ){
- case 'A':
- case 'a':
- NroDec += 10 * PosMult;
- break;
- case 'B':
- case 'b':
- NroDec += 11 * PosMult;
- break;
- case 'C':
- case 'c':
- NroDec += 12 * PosMult;
- break;
- case 'D':
- case 'd':
- NroDec += 13 * PosMult;
- break;
- case 'E':
- case 'e':
- NroDec += 14 * PosMult;
- break;
- case 'F':
- case 'f':
- NroDec += 15 * PosMult;
- break;
- default:
- Aux[0] = NroHexa[i];
- Aux[1] = '\0';
- NroDec += atoi( Aux ) * PosMult;
- break;
- }
- }
- printf( "El hexadecimal en decimal es %ld\n",NroDec);
- fprintf(log,"El hexadecimal %s en decimal es %ld\n\n", NroHexa, NroDec);
- fclose(log);
- }
- else
- printf("\nEl n%cmero ingresado no es hexadecimal\n",163);
- getchar();
- break;
- case 13:
- printf("Introduce los segundos: "); scanf("%lld",&num1); //num1=sec num2=hr num3=min
- printf("\n%lld segundos son:",num1);
- fprintf(log,"%lld segundos son:\n\n",num1);
- num2 = num1 / (60*60);
- num1 %= 60*60;
- num3 = num1 / 60;
- num1 %= 60;
- printf("\n%lld horas\n%lld minutos\n%lld segundos",num2,num3,num1);
- fprintf(log,"%lld horas\n%lld minutos\n%lld segundos\n\n",num2,num3,num1);
- fclose(log);
- while(getchar() !='\n');
- getchar();
- break;
- }
- }while(opc3!=0);
- break;
- case 10:
- long long int fibo1, fibo2,limite;
- fibo1 = 1; fibo2 = 1;
- printf("\nIntroduce la cantidad de n%cmeros que apareceran en la serie: ",163);
- scanf("%lld",&limite);
- log=fopen("Resultado.log","a");
- fprintf(log,"Serie de Fibonacci\n");
- fprintf(log,"--------------------------\n\n");
- fprintf(log,"Los %lld primeros numeros de la serie son:\n\n",limite);
- printf("\n");
- printf ("%lld ", fibo1);
- fprintf(log,"%lld ",fibo1);
- for (int i = 0; i < limite; i++){
- printf ("%lld ", fibo2);
- fprintf(log,"%lld ",fibo2);
- fibo2 += fibo1;
- fibo1 = fibo2 - fibo1;
- }
- fprintf(log,"\n\n");
- fclose(log);
- getchar();
- break;
- case 11:
- long long int a2, b2, x2, z2, y2, i2;
- y2=1;i2=2;
- log=fopen("Resultado.log","a");
- fprintf(log,"MCD - Máximo Común Divisor\n");
- fprintf(log,"----------------------------------------------\n\n");
- printf("Introduce el primer n%cmero: ",163);
- scanf("%lld",&a2);
- printf("Introduce el segundo n%cmero: ",163);
- scanf("%lld",&b2);
- if (a2<b2){x2=a2; z2=b2;} else {x2=b2; z2=a2;}
- do {
- if (x2%i2==0 && z2%i2==0){
- y2=y2*i2;
- x2=x2/i2; z2=z2/i2;
- i2=2;
- }
- else i2++;
- }while(i2<=x2);
- printf("\nEl MCD es %lld",y2);
- fprintf(log,"El MCD de %lld y de %lld es %lld\n\n",a2,b2,y2);
- fclose(log);
- getchar();
- break;
- case 12:
- log=fopen("Resultado.log","a");
- fprintf(log,"MCM - Mínimo Común Múltiplo\n");
- fprintf(log,"----------------------------------------------\n\n");
- int a, b, x, z, y=1, i=2;
- printf("Introduce el primer n%cmero: ",163);
- scanf("%lld",&a);
- printf("Introduce el segundo n%cmero: ",163);
- scanf("%lld",&b);
- if (a<b){x=a; z=b;} else {x=b; z=a;}
- do{
- if (x%i==0){
- if(z%i==0){
- y=y*i;
- x=x/i; z=z/i; i=2;
- }
- else i++;
- }
- else i++;
- }while(i<=x);
- y=y*z*x;
- printf("\nEl MCM es %lld",y);
- fprintf(log,"El MCM de %lld y de %lld es %lld\n\n",a,b,y);
- fclose(log);
- getchar();
- break;
- }
- while(getchar() !='\n');
- }while(opc2!=0);
- break;
- case 4:
- do{
- limpiar;
- printf("\nCambia el color de la aplicaci%cn: ",162);
- printf("\n---------------------------------\n\n");
- printf("1-Blanco\t\t\t6-Gris\n\n2-Purpura\t\t\t7-Verde\n\n3-Voleta\t\t\t8-Marron\n\n4-Rojo\t\t\t\t9-Azul\n\n5-celeste\t\t\t10-Cyan\n\n11-Volver\t");
- scanf("%lld",&opc2);
- switch(opc2){
- case 1:
- system("COLOR 0F");
- break;
- case 2:
- system("COLOR 05");
- break;
- case 3:
- system("COLOR 0D");
- break;
- case 4:
- system("COLOR 04");
- break;
- case 5:
- system("COLOR 0B");
- break;
- case 6:
- system("COLOR 08");
- break;
- case 7:
- system("COLOR 02");
- break;
- case 8:
- system("COLOR 06");
- break;
- case 9:
- system("COLOR 01");
- break;
- case 10:
- system("COLOR 03");
- break;
- }
- while(getchar() !='\n');
- }while(opc2!=11);
- break;
- case 5:
- limpiar;
- while(getchar() !='\n');
- printf("\n\n\t ##############################################################\n");
- printf("\t # #\n");
- printf("\t # Aplicaci%cn matem%ctica creada en C con la ayuda y #\n",162,160);
- printf("\t # generosa colaboraci%cn de varios compa%ceros de #\n",162,164);
- printf("\t # elhacker.net #\n");
- printf("\t # #\n");
- printf("\t # Este software esta compuesto por c%cdigo propio y por #\n",162);
- printf("\t # pedazos de c%cdigos extraidos de otras aplicaciones, por #\n",162);
- printf("\t # lo tanto es de c%cdigo abierto y de libre distribuci%cn, #\n",162,162);
- printf("\t # pudi%cndose modificar y mejorar por cualquier usuario. #\n",130);
- printf("\t # #\n");
- printf("\t # v0.7 20/10/12 #\n");
- printf("\t # #\n");
- printf("\t # Creado por Dryken #\n");
- printf("\t # #\n");
- printf("\t ##############################################################\n\n");
- while(getchar() !='\n');
- break;
- }//Fin del switch
- }//Fin del do
- while(opc1!=6);
- }//Fin del main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement