Programas en C++
Programas en C++
h> //funcion int cambiarColor( int ); main( { int tiempoSimulacion, tiempo; int semaforo1 = 0, semaforo2 = 1; bool entraPrimerVez = true; time_t comienzo, actual; //Se introduce el tiempo durante el cual se va a ejecutar la simulacion //Y tambien el tiempo en el que queremos que cambie el color del semaforo printf( "Introduzca el tiempo en segundos en el que se va a realizar la simulacionn" ); scanf( "%d", &tiempoSimulacion ); printf( "Introduzca el tiempo en segundos del cambio del color de los semaforosn" ); scanf( "%d", &tiempo ); comienzo = time( NULL ); do { actual = time( NULL ); //Entra al cuerpo del if cada que haya transcurrido el tiempo de cambio ingresadopor el usuario if( int( difftime(actual, comienzo) ) % tiempo == 0 && entraPrimerVez ) { entraPrimerVez = false; semaforo1 = cambiarColor( semaforo1 ); semaforo2 = cambiarColor( semaforo2 ); if( semaforo1 == 1 ) { printf( "El semaforo 1 esta en Verde y el semaforo 2 en Rojonn" ); } else { printf( "El semaforo 1 esta en Rojo y el semaforo 2 en Verdenn" ); } } if( int( difftime(actual, comienzo) ) % tiempo > 0 ) )
{ entraPrimerVez = true; } } while( int( difftime(actual, comienzo) ) < tiempoSimulacion ); return 0; } int cambiarColor( int semaforo ) { //Si el valor del semaforo_1 es 1 es porque este semaforo este en verde, lo que indica que este pasa a rojo //y el semaforo_2 pasaria a verde, de lo contrario se invertiria el color segun lo explicado anteriormente if( semaforo == 1 ) { semaforo = 0; } else { semaforo = 1; } return semaforo; }
ADIVINA EL NUMERO
#include <conio.h> #include <stdio.h> #include <stdlib.h> #include <time.h> main() { START: srand(time(NULL)); system("color f1"); system("cls"); int n_winner, n, n_wmax, intentos, inte=0, lvl, frandom, i; printf("tJuego "Acierta al numero"nn"); printf("Ingresa el numero del nivel de dificultad: nn1.-Facil(010) tt 4 Intentosn2.-Normal(0-100) tt 7 Intentosn3.-Dificil(01000) tt13 Intentosn4.-Muy dificil(0-10000) t17 Intentosn="); scanf("%i", &lvl); if(lvl==1) { n_wmax=10; intentos=4; } else if(lvl==2) { n_wmax=100;
intentos=7; } else if(lvl==3) { n_wmax=1000; intentos=13; } else if(lvl==4) { n_wmax=10000; intentos=17; } else { printf("La opcion elegida no existe"); system("pause"); goto START; } system("color f1"); for(i=0;i<=rand();i+=4)frandom=rand()%n_wmax; n_winner = frandom; system("cls"); RETRY: printf("tJuego "Acierta al numero"nn"); printf("Intenta acertar cual es el numero: "); scanf("%i", &n); inte++; printf("Te quedan %i intento(s)nn", intentos-inte); if(n==n_winner) { system("color f2"); printf("Felicidades, Has ganado!!n"); system("pause"); goto START; } else if (n<n_winner) { printf("Tu numero es demaciado bajo!!nnPreciona una tecla...") ; system("pause>NULL"); } else { printf("Te pasaste!!nnPreciona una tecla..."); system("pause>NULL"); } system("cls"); if (inte>=intentos) { printf("Lo siento se te acabaron los intentos, el numero era "%i"nn t", n_winner); system("pause"); goto START; } goto RETRY; }
Trata de que te dan un numero de 6 digitos, ocultado en *, deves tirar numeros del 0 al 9 para ir revelando los *, tienes 4 vidas (dificil no?)
#include<stdio.h> #include<stdlib.h> #include<conio.h> #include<time.h> main() { RETRY: system("color 70"); int vida=3, hp=3; int win=1; int PDC; // Aqui declaro el "posible digito del codigo" que es el valor que ingresara // el usuario para tratar de asertar a algun digito del co digo int c1,c2,c3,c4,c5,c6,i; // Aqui declaro las variables que equival en a cada digito en // el codigo oculto int a1='*',a2='*',a3='*',a4='*',a5='*',a6='*'; // Aqui los asteris cos (digito a digito) srand(time(NULL)); // Aqui declaro que la semilla de la funcion ra nd varie por tiempo c1=(rand()%10)+48; c2=(rand()%10)+48; aradas toman un valor al c3=(rand()%10)+48; a 58?, bueno, prueba c4=(rand()%10)+48; por que lo ise asi) c5=(rand()%10)+48; c6=(rand()%10)+48; INICIO: es system("cls"); // Limpio la pantalla printf("Descifra el codigo oculto de 6 digitos, ingresando 1 digit o a la vez n"); printf("Vidas: "); for(i=1;i<=hp;i++) printf("%c", vida); printf("nttt--> %c%c%c%c%c%c <--nttt-> ", a1,a2,a3,a4,a5,a6); // Los Asteriscos if (win==1) scanf ("%i", &PDC); // Aqui se escanea el "posible dig ito del codigo" if if if if (PDC==0)PDC=48; (PDC==1)PDC=49; (PDC==2)PDC=50; (PDC==3)PDC=51; // Luego aqui las variables anteriormente decl // azar del 0 al 9 (se preguntaran Por que 48 // hacerlo de otro modo, haber si descubres el
if if if if if if
// Aqui va la sentencia que hara que los asteriscos sean remplazad os al ser // revelada una parte del codigo if (PDC==c1) a1=c1; if (PDC==c2) a2=c2; if (PDC==c3) a3=c3; if (PDC==c4) a4=c4; if (PDC==c5) a5=c5; if (PDC==c6) a6=c6; if (PDC!=c1&&PDC!=c2&&PDC!=c3&&PDC!=c4&&PDC!=c5&&PDC!=c6)hp--; if (hp==-1) { printf("No te quedan vidas...nn"); system("pause"); goto RETRY; } if (a1==c1&&a2==c2&&a3==c3&&a4==c4&&a5==c5&&a6==c6) win++; if (win==3) printf("WINNER <--nn"); else goto INICIO; system("pause"); system("cls"); printf("Por Grib Jr."); system("pause"); }
/*crear una aplicacion en c que lea nombre cedula edad y 3 notas de n est udiantes el programa debe decir si el usuario aprobo o no el curso sacando el prom edio de sus 3 notas luego debe permitirle al usuario buscar por numero de cedu la y mostras las notas promedio y permitir editar cualquiera de las notas in gresadas UNEFA 26/11/10*/
}; struct datos2 { float d; //nota1 float e; //nota2 float f; //nota3 float g; //promedio }; datos1 h[100]; //guardara nombre cedula y edad datos2 i[100]; //guardara las 3 notas y el promedio int j; //contador long k; //comparar las cedulas int l1,l2,l3,l4; //para el case y los if char m='s'; //para iniciar el programa nuevamente con el while int n; //maximo de estudiantes while ((m=='s') || (m=='S')) { system ("cls"); printf("Cuantos estudiantes ingresara? "); scanf("%d",&n); if ((n<1) || (n>100)) { printf("Debe ingresar por lo menos 1 estudiante o como maximo 100n"); printf("Quiere volver a intentarlo S/N? "); m=getch(); } else { for (j=0;j<n;j++) { printf("Ingrese el nombre: "); scanf("%s",&h[j].a); printf("Ingrese la cedula: "); scanf("%ld",&h[j].b); printf("Ingrese la edad: "); scanf("%d",&h[j].c); printf("Ingrese la nota 1: "); scanf("%f",&i[j].d); printf("Ingrese la nota 2: "); scanf("%f",&i[j].e); printf("Ingrese la nota 3: "); scanf("%f",&i[j].f); i[j].g=(i[j].d+i[j].e+i[j].f)/3; system ("cls"); } for (j=0;j<n;j++) { if(i[j].g>=9.5) { printf("%s Aprobo la materia con %.2fn",h[j].a,i[j].g);
} else { printf("%s Reprobo la materia con %.2fn",h[j].a,i[j].g); } } getch(); system("cls"); printf("Quiere buscar alguna cedula n"); printf("Presione 1 para sin"); printf("Presione 2 para no "); scanf("%d",&l1); system("cls"); if (l1==1) { printf("Ingrese la cedula "); scanf("%ld",&k); system("cls"); for (j=0;j<n;j++) { if (k==h[j].b) { printf("La cedula pertenece a %sn",h[j].a); printf("Sus notas fueron %.2f, %.2f, %.2f",i[j].d,i[j].e,i[j].f); getch(); system("cls"); printf("Quiere editar sus notas? n"); printf("Presione 1 para sin"); printf("Presione 2 para no "); scanf("%d",&l2); system("cls"); if (l2==1) { printf("Cual nota quiere editar? n"); printf("Presione 1 para la nota 1n"); printf("Presione 2 para la nota 2n"); printf("Presione 3 para la nota 3n"); printf("Presione 4 para todas las notas "); scanf("%d",&l3); system("cls"); switch (l3) { case 1: { printf("Ingrese la nota 1: "); scanf("%f",&i[j].d); i[j].g=(i[j].d+i[j].e+i[j].f)/3; system("cls"); break; }; case 2: { printf("Ingrese la nota 2: "); scanf("%f",&i[j].e); i[j].g=(i[j].d+i[j].e+i[j].f)/3;
system("cls"); break; }; case 3: { printf("Ingrese la nota 3: "); scanf("%f",&i[j].f); i[j].g=(i[j].d+i[j].e+i[j].f)/3; system("cls"); break; }; case 4: { printf("Ingrese la nota 1: "); scanf("%f",&i[j].d); printf("Ingrese la nota 2: "); scanf("%f",&i[j].e); printf("Ingrese la nota 3: "); scanf("%f",&i[j].f); i[j].g=(i[j].d+i[j].e+i[j].f)/3; system("cls"); break; }; } } } } } printf("Quiere ver la lista de todos sus alumnos? n"); printf("Presione 1 para sin"); printf("Presione 2 para no "); scanf("%d",&l4); system("cls"); if (l4==1) { for (j=0;j<n;j++) { if(i[j].g>=9.5) { printf("%s Aprobo la materia con %.2fn",h[j].a,i[j].g); } else { printf("%s Reprobo la materia con %.2fn",h[j].a,i[j].g); } } } printf("nn"); printf("Quiere iniciar el programa nuevamente S/N "); m=getch(); } } }
pequeo programa que genera la tabla de multiplicar de el numero que el usuario quiera y el limite que el usuario quiera echo con do..while tengan consiente que falta una / invertida en donde muestra los resultados printf("%d x %d = %d n", a,c,d) aqui seria printf("%d x %d = %d /n", a,c,d) invirtiendo esa / claro esta
#include "stdafx.h" #include<stdio.h> #include<conio.h> main() { int a; int b; int c=1; int d; printf("Numero al cual quiere generar la tabla? "); scanf("%d",&a); printf("hasta cuanto quiere su tabla? "); scanf("%d",&b); do { d=(a*c); printf("%d x %d = %d n", a,c,d); c++; } while (c<=b); getch(); }
ORGANIGRAMA
hola este es un programa que hace un organigrama de una empresa es posible llenar datos , ordenarlos de 4 maneras distintas y tambien tiene la posibilidad de hacer busqueda, ademas almecena todo los datos en archivo esto permite que los datos una vez almacenados no se pierdan,ademas esta hecho con varias funciones distintas ..................... este es un proyecto que hicimos con unos compaeros asi que igual opinen......... si alguien lo va a ocupar lo minimo es que agradesca.....
//cada parte del programa va en un archivo con su nombre correspondiente main.c
#include <stdio.h> #include <stdlib.h> #include "funciones.h" int main(int argc, char *argv[]) { PORTADA(); system("PAUSE"); return 0; } funciones.h void void void void void void void void LLENADO(void);//declaracion de la funcion llenado ORDENADO1(void);//declaracion de la funcion ordenar1 ORDENADO2(void);//declaracion de la funcion ordenar2 ORDENADO3(void);//declaracion de la funcion ordenar3 BUSCAR1(void);//declaracion de la funcion buscar1 BUSCAR2(void);//declaracion de la funcion buscar2 MENU(void);//declaracion de la funcion menu PORTADA(void);//declaracion de la funcion portada
//en las proximas lineas de codigo es el programa como tal funciones.c #include <stdio.h> #include <string.h> #include <stdlib.h> #define #define #define #define max 50//define para el largo de cada string num_trab 6//define para el numero de trabajadores num_gerencia 6//define para el numero de gerencias trab_empresa 36//define para el numero total de trabajadores
typedef struct PERSONA//aqui se crea la estructura basica del programa { char nombre[max];//nombre de cada trabajador char cargo[max];//cargo que ocupa en la empresa int telefono;//telefono de cada trabajador long int sueldo;//sueldo del trabajador }personas;//gracias al typedef, aqui se crea el tipo personas(s truct PERSONA) typedef struct GERENCIA//estructura que define cada gerencia { char nombre_gerencia[max];//nombre de la gerencia
personas trabajadores[num_trab];//arreglo de estructura anidada d e trabajadores } gerencia;//gracias al typedef, aqui se crea el tipo gerencia(st ruct GERENCIA)
struct EMPRESA//estructura mas general del programa { gerencia GERN[num_gerencia];//arreglo de estructura anidada de ge rencias char nombre_empresa[max];//nombre de la empresa }empresa,empresaord; typedef int contadores;//con typedef defino un tipo contadores para todos los contadores del programa //------------------------------fin definicion de estructuras---------------------------------------void LLENADO(void)//funcion de llenado { contadores i,j,t; FILE *archivo,*nom_empresa; archivo = fopen("../Ahora si que ta weno...me corrio/Datos/datos.tx t","w"); /*revisa si el archivo se abrio correctamente*/ if(archivo == NULL)//se comprueba si se cargo bien el archivo { printf("Archivo no existe"); } printf("ingrese el nombre de la Empresan");//aqui comienzo a cargar los datos al archivo fflush(stdin); gets(empresa.nombre_empresa); for(i=0;i<num_gerencia;i++)//for para moverse por gerencia { printf("ingrese nombre de la Gerencian"); gets(empresa.GERN[i].nombre_gerencia); fflush(stdin); for(j=0;j<num_trab;j++)//for para moverse por trabajador { printf("ingrese el nombre del trabajador %dn",(j+1)); gets(empresa.GERN[i].trabajadores[j].nombre); fflush(stdin); printf("ingrese el cargon"); gets(empresa.GERN[i].trabajadores[j].cargo); fflush(stdin); printf("ingrese el sueldon"); scanf("%d",&empresa.GERN[i].trabajadores[j].sueldo); fflush(stdin); printf("ingrese el telefonon"); scanf("%d",&empresa.GERN[i].trabajadores[j].telefono); fflush(stdin);
}//fin for }//fin for fwrite(&empresa, sizeof(struct EMPRESA),1,archivo); //escritura en el archivo fclose(archivo);//se cierra el archivo } //----------------------------------------fin funcion de llenado------------------------------------void ORDENADO1()//funcion de Ordenar { contadores k,i,j,r=0; FILE *archivo,*archivo2; personas aux1; gerencia aux2; archivo= fopen("../Ahora si que ta weno...me corrio/Datos/datos.txt ","r");//se abren el archivo ya creado en la funcion llenado archivo2=fopen("../Ahora si que ta weno...me corrio/Datos/ordenado. txt","w");//se crea un archivo para mostrar que se ordeno el archivo de d atos while(! feof(archivo))//revisa que no sea el final del archiv o { fread(&empresa, sizeof(struct EMPRESA),1,archivo);//se lee del archivo de datos } empresaord=empresa; fclose(archivo); for(k=0;k<num_gerencia;k++)//for para las gerencias { //ordenacion con burbuja alfabeticamente las gerencias for (i=0; i<num_trab1; i++)//for1 para la ordenacion de burbuja { for(j=i+1; j<num_trab; j++) //for2 para la ordenacion de bu rbuja { if ((strcmp(empresaord.GERN[k].trabajadores[i].nombre , empresaord.GERN[k].trabajadores[j].nombre))>0) { aux1=empresaord.GERN[k].trabajadores[i]; empresaord.GERN[k].trabajadores[i]=empresaord.GER N[k].trabajadores[j]; empresaord.GERN[k].trabajadores[j]=aux1; }//cierra el if }//cierra el for2 }//cierra el for1 }//cierra el for de las gerencias //ordenarcion con burbuja alfabeticamente los nombres de los trabajadores for (i=0; i<num_gerencia1; i++)//for1 para la ordenacion de burbuja { for(j=i+1; j<num_gerencia; j++)//for2 para la ordenacion de burb uja {
if((strcmp(empresaord.GERN[i].nombre_gerencia,empresa ord.GERN[j].nombre_gerencia)>0)) { aux2=empresaord.GERN[i]; empresaord.GERN[i]=empresaord.GERN[j]; empresaord.GERN[j]=aux2; }//cierra el if }//cierra el for2 }//cierra el for1 empresa=empresaord; system("cls");//limpia la pantalla //se muestra por pantalla la ordenacion for(i=0;i<num_gerencia;i++) { printf("La gerencia %s tiene los siguientes trabajadores:nn",e mpresa.GERN[i].nombre_gerencia); for(j=0;j<num_trab;j++) { printf("tnombre del trabajador %d:%sn",j+1,empresa.GERN[i].tra bajadores[j].nombre); printf("tsu cargo es:%sn",empresa.GERN[i].trabajadores[j].carg o); printf("tsu telefono es:%in",empresa.GERN[i].trabajadores[j].t elefono); printf("tsu sueldo es:%dnn",empresa.GERN[i].trabajadores[j].su eldo); } } fwrite(&empresa, sizeof(struct EMPRESA),1,archivo2);//se guarda la informacion de la ordenacion fclose(archivo2); } //--------------------------------------fin funcion ordenar 1----------------------------------------void ORDENADO2() { contadores k,i,j; FILE *archivo,*archivo2; personas aux3; archivo= fopen("../Ahora si que ta weno...me corrio/Datos/datos.txt ","r+");//se abren el archivo ya creado en la funcion llenado archivo2=fopen("../Ahora si que ta weno...me corrio/Datos/ordenadod os.txt","w");//se crea un archivo para mostrar que se ordeno el archivo d e datos while(! feof(archivo))//revisa que no sea el final del archivo { fread(&empresa, sizeof(struct EMPRESA),1,archivo);//se lee del archivo de datos } empresaord=empresa; fclose(archivo); //ordenacion alfabetica de los cargos de cada gerencia hecho con bu rbuja for(k=0;k<num_gerencia;k++)//for para las gerencias
{ for (i=0;i<num_trab-1;i++)//for1 para la ordenacion de burbuja { for(j=i+1;j<num_trab;j++) //for2 para la ordenacion de burb uja { if ((strcmp(empresaord.GERN[k].trabajadores[i].cargo, empresaord.GERN[k].trabajadores[j].cargo))>0) { aux3=empresaord.GERN[k].trabajadores[i]; empresaord.GERN[k].trabajadores[i]=empresaord.GER N[k].trabajadores[j]; empresaord.GERN[k].trabajadores[j]=aux3; }//cierra el if }//cierra el for2 }//cierra el for1 }//cierra el for de las gerencias empresa=empresaord; system("cls");//limpia la pantalla //se muestra por pantalla la ordenacion for(i=0;i<num_gerencia;i++) { printf("El orden alfabetico de los cargos en la gerencia %s es :nn",empresa.GERN[i].nombre_gerencia); for(j=0;j<num_trab;j++) { printf("t%s %snn",empresa.GERN[i].trabajadores[j].cargo,empres a.GERN[i].trabajadores[j].nombre); } printf("nn"); } fwrite(&empresa, sizeof(struct EMPRESA),1,archivo2);//se guarda la informacion de la ordenacion fclose(archivo2); } //--------------------------------------fin funcion ordenar 2-----------------------------------------void ORDENADO3() { contadores k,i,j,r; FILE *archivo,*archivo2; personas aux,totaltrab[trab_empresa]; archivo= fopen("../Ahora si que ta weno...me corrio/Datos/datos.txt ","r+");//se abren el archivo ya creado en la funcion llenado archivo2=fopen("../Ahora si que ta weno...me corrio/Datos/ordenadot res.txt","w");//se crea un archivo para mostrar que se ordeno el archivo de datos while(! feof(archivo))//revisa que no sea el final del archivo { fread(&empresa, sizeof(struct EMPRESA),1,archivo);//se lee del archivo de datos } empresaord=empresa; fclose(archivo); //se le asignan todos los trabajadores a un arreglo
i=0; for(k=0;k<num_gerencia;k++) { for(r=0;r<num_trab;r++) { totaltrab[i]=empresa.GERN[k].trabajadores[r]; i++; }//fin for }//fin for //ordenacion por sueldos de la empresa hecho con burbuja for(i=0; i<(trab_empresa-1); i++) { for(j=(i+1); j<trab_empresa;j++) { if(totaltrab[i].sueldo<totaltrab[j].sueldo) { aux=totaltrab[i]; totaltrab[i]=totaltrab[j]; totaltrab[j]=aux; }//cierra el if }//cierra el for2 }//cierra el for1 empresa=empresaord; system("cls");//limpia la pantalla //se muestra por pantalla la ordenacion for(j=0;j<trab_empresa;j++) { printf("EL/La %s %s gana $%dnn",totaltrab[j].cargo,totaltrab[j ].nombre,totaltrab[j].sueldo); } fwrite(&empresa, sizeof(struct EMPRESA),1,archivo2);//se guarda la informacion de la ordenacion fclose(archivo2); } //-------------------------------------fin funcion ordenar 3-----------------------------------------void BUSCAR1() { contadores i,j,k; int flag=0; char buscar[max]; FILE *archivo; archivo = fopen("../Ahora si que ta weno...me corrio/Datos/datos.txt ","r"); //abertura de archivo para solo lectura while(! feof(archivo)) //revisa que no sea el final del archivo { fread(&empresa, sizeof(struct EMPRESA),1,archivo); }//fin while do//do while para realizar la busqueda por gerencia { system("cls");//limpia la pantalla para realizar una nueva buequ eda
printf("nntIngrese el nombre de la Gerencia que desea buscarnnn" ); printf(" Gerencia: ");//esto es para ordenar el p rograma, solamente para eso gets(buscar); fflush(stdin); system("cls");//limpia nuevamente la pantalla for(i=0;i<num_gerencia;i++) //recorre las 6 Gerencias { if ((strcmp(buscar, empresa.GERN[i].nombre_gerencia))==0)//c ompara el nombre de la gerencia ingresada con los nombres de las gerencia s ya guardadas en el archivo { flag=1; //si encuentra la facultad buscada marca el fla g //despliege del resultado por pantalla printf("Gerencia %sn",empresa.GERN[i].nombre_gerencia); for(k=0;k<num_trab;k++) { printf("nntrabajador %dnn",k+1); printf("tsu nombre es %snn",empresa.GERN[i].trabajadores [k].nombre); printf("tsu cargo es %snn",empresa.GERN[i].trabajadores[ k].cargo); printf("tsu telefono es %dnn",empresa.GERN[i].trabajador es[k].telefono); printf("tsu sueldo es %dn",empresa.GERN[i].trabajadores[ k].sueldo); }//fin for }// fin if }// fin for }while(flag == 0); //hace que se repita la busqueda en caso de ingre sar mal el nombre o que no se encuetre getchar(); fclose(archivo); //cierre de archivo }// fin busqueda //-------------------------------------fin funcion buscar 1----------------------------------------void BUSCAR2() { contadores k,r,i; long int inferior,superior; FILE *archivo; personas aux,totaltrab[trab_empresa]; archivo= fopen("../Ahora si que ta weno...me corrio/Datos/datos.txt ","r");//se abren el archivo ya creado en la funcion llenado while(! feof(archivo))//revisa que no sea el final del archivo { fread(&empresa, sizeof(struct EMPRESA),1,archivo);//se lee del archivo de datos } fclose(archivo); //se le asignan todos los trabajadores a un arreglo i=0; for(k=0;k<num_gerencia;k++)
{ for(r=0;r<num_trab;r++) { totaltrab[i]=empresa.GERN[k].trabajadores[r]; i++; }//fin for }//fin for //ordenacion por sueldos de la empresa hecho con burbuja for(i=0; i<(trab_empresa-1); i++) { for(k=(i+1); k<trab_empresa;k++) { if(totaltrab[i].sueldo>totaltrab[k].sueldo) { aux=totaltrab[i]; totaltrab[i]=totaltrab[k]; totaltrab[k]=aux; }//cierra el if }//cierra el for2 }//cierra el for1 system("cls"); //se pide el rango de sueldos para la busqueda printf("ingrese el rango de sueldos que desea buscarn"); printf("ningrese el rango inferior:"); scanf("%d",&inferior); printf("ningrese el rango superior:"); scanf("%d",&superior); system("cls"); //se muestra por pantalla solo el resultado de la comparacion printf("entre $%d y $%d se ecuentrannnn",inferior, superior); getchar(); for(i=0;i<trab_empresa;i++) { if((inferior<=totaltrab[i].sueldo) && (superior>=totaltrab[i].s ueldo)) { printf("EL/La %s %s que gana $%dnn",totaltrab[i].cargo,totaltra b[i].nombre,totaltrab[i].sueldo); }//fin if }//fin for getchar(); } //------------------------------------fin funcion buscar 2----------------------------------------void MENU() { int elec1,elec2,ver=0; char elec3; system("cls"); printf("nnnnnnnntPara seleccionar ingrese el numero correspondiente a s u opcion:n"); printf("nntOpciones:n"); printf("t 1.- Ordenarn");
printf("t 2.- Buscarn"); printf("t 3.- Resetear y Llenar los datos de la empresan"); printf("t 4.- Salir del programan"); do{ fflush(stdin); scanf("%i",&elec1); switch(elec1) { case 1 : { system("cls"); printf("nnnnnnnntPara seleccionar ingrese el numero cor respondiente a su opcion:n"); printf("nnt1ordenar por orden alfabetico cada gerencia ntcon los datos relevantes de estan"); printf("nt2ordenar por orden alfabetico los cargos ntexistentes en cada gerencia, co n la personantencargada de cada cargo respectivamente.n"); printf("nt3-ordenar por sueldo.n"); printf("nt4-volver a MENUn"); do { scanf("%i",&elec2); fflush(stdin); switch(elec2) { case 1: { ORDENADO1(); getchar(); MENU(); break; } case 2: { ORDENADO2(); getchar(); MENU(); break; } case 3: { ORDENADO3(); getchar(); MENU(); break; } case 4: { MENU(); break; } case 'n':
{ printf("at No ha ingresado ningun valorn porfavor intente de nuevamenten"); ver=2; break; } default: { printf("at Opcion invalidan porfavor int ente de nuevamenten"); ver=2; break; } } }while(ver==2); break; } case 2: { system("cls"); printf("nnnnnnnntPara seleccionar ingrese el numero correspondiente a su opcion:n"); printf("nnt1informacion completa de cada gerencian"); printf("nt2un rango de sueldos solicitados, ntdesplegar la informacion de las person as que mantienen esta informacionn"); printf("nt3-volver a MENUn"); do { fflush(stdin); scanf("%i",&elec2); switch (elec2) { case 1: { BUSCAR1(); MENU(); getchar(); break; } case 2: { BUSCAR2(); MENU(); getchar(); break; } case 3: { MENU(); break; } case 'n': {
printf("at No ha ingresado ningun va lorn porfavor intente de nuevamenten"); ver=2; break; } default: { printf("at Opcion invalidan porfavor intente de nuevamenten"); ver=2; break; } } }while(elec2==2); break; } case 3: { system("cls"); printf("nnADVERTENCIA!!!!:se borraran todos los datos que tiene almacenados!!!!!na "); printf("nttdesea borrarlos de todas maneras?n") ; do { fflush(stdin); printf("n si<S>/no<N>:"); scanf("%c",&elec3); switch(elec3) { case 's': case 'S': { &n
CALCULADORA
#include "stdafx.h" #include <iostream> #include <cstdlib> #include <cmath> using namespace std; struct punto { float x;
float y; float z; }; struct vector { float compx; float compy; float compz; }; struct plano { punto puntoori; vector vectorperpen; }; struct recta { punto puntoori; vector vectordir; }; punto leerpunto(); punto interseccionrecs(recta r,recta s); punto interseccionplarec(plano p,recta r); punto puntoenrecta(recta r, float l); punto intersecciontresplas(plano pl,plano pl1,plano pl2); bool sonparaplanorecta(plano pl,recta r); bool sonparaplanos(plano pl,plano pl2); char sonpararecs(recta r,recta r1); vector prodvect(vector v1,vector v2); vector leervector(); vector dospunts(punto p1,punto p2); recta interseccionplas(plano p,plano t); recta leerrecta(); plano leerplano(); float distanciarecs(recta r,recta s,char c); float angulorecs(recta r,recta s); float anguloplans(plano pl,plano pl1); float anguloplarec(plano pl,recta r); float distanciapuntrec(recta r,punto p); float prodescalar(vector v1,vector v2); float planoenpunto(plano pl,punto p); float mod(vector v); float distanciapunts(punto p1,punto p2); float D(plano pl); float distanciapuntplan(plano pl,punto p); int main() { /* Declaracin de variables */ int select; float d; punto p1,p2; plano pl,pl1,pl2;
recta r,r1,r2; /* Entrada de datos */ cout<<" MENU DE LA CALCULADORA DEL ESPACIO"<<endl; cout<<"------------------------------------------------------------------------"<<endl; cout<<" 1.Distancia entre dos puntos"<<endl; cout<<" 2.Distancia entre un punto y un plano"<<endl; cout<<" 3.Distancia entre un punto y una recta"<<endl; cout<<" 4.Posicion relativa entre una recta y un plano"<<endl; cout<<" 5.Posicion relativa entre dos planos"<<endl; cout<<" 6.Posicion relativa entre dos rectas"<<endl; cout<<" 7.Angulo relativa entre una recta y un plano"<<endl; cout<<" 8.Angulo entre dos planos"<<endl; cout<<" 9.Angulo enter dos rectas"<<endl; cout<<" 10.Posicion relativa tres planos"<<endl; cout<<endl<<"Seleccione una opcion del menu: "; cin>>select; /* Procedimiento */ switch (select) { case 1: cout<<"Introduzca dos puntos"<<endl; p1=leerpunto(); p2=leerpunto(); d=distanciapunts(p1,p2); cout<<"La distancia entre los dos puntos es "<<d<<endl;; break; case 2: cout<<"Introduzca un plano"<<endl; pl=leerplano(); cout<<"Introduzca un punto"<<endl; p1=leerpunto(); d=distanciapuntplan(pl,p1); cout<<"La distancia entre el plano y el punto es "<<d<<endl;; break; case 3: cout<<"Introduzca un punto"<<endl; p1=leerpunto(); cout<<"Introduzca una recta"<<endl; r=leerrecta(); d=distanciapuntrec(r,p1); cout<<"La distancia entre la recta y el punto es "<<d<<endl; break; case 4: cout<<"Introduzca un plano"<<endl; pl=leerplano(); cout<<"Introduzca una recta"<<endl;
r=leerrecta(); if (sonparaplanorecta(pl,r)) {cout<<"Son paralelos el plano y la recta, y los separa una distancia de "; cout<<distanciapuntplan(pl,r.puntoori)<<endl;} else { p1=interseccionplarec(pl,r); cout<<"El punto interseccion es ("<<p1.x<<","<<p1.y<<","<<p1.z<<")"<<endl; } break; case 5: cout<<"Introduzca dos planos"<<endl; pl=leerplano(); pl1=leerplano(); if (sonparaplanos(pl,pl1)) {cout<<"Los planos son paralelos, y los separa una distancia de "; cout<<distanciapuntplan(pl,pl1.puntoori)<<endl;} else { r=interseccionplas(pl,pl1); cout<<"La recta interseccion es ("<<r.puntoori.x<<","<<r.puntoori.y<<","<<r.puntoori.z; cout<<") + t * ("<<r.vectordir.compx<<","<<r.vectordir.compy<<","<<r.vectordir.compz<<") "<<endl; } break; case 6: cout<<"Introduzca dos rectas"<<endl; r=leerrecta(); r1=leerrecta(); if (sonpararecs(r,r1)=='c') {cout<<"Las rectas se cruzan, y las separa una distacia de "; cout<<distanciarecs(r,r1,'c')<<endl;} else {if (sonpararecs(r,r1)=='x') {p1=interseccionrecs(r,r1); cout<<"El punto interseccion es ("<<p1.x<<","<<p1.y<<","<<p1.z<<")"<<endl;} else {if (sonpararecs(r,r1)=='p') {cout<<"Las rectas son paralelas, y las separa una distancia de "; cout<<distanciarecs(r,r1,'p')<<endl;}} } break; case 7: cout<<"Introduzca una recta y un plano"<<endl; r=leerrecta(); pl=leerplano(); if (sonparaplanorecta(pl,r)) cout<<"Son paralelos el plano y la recta, y forman un angulo de 0";
else { d=anguloplarec(pl,r); cout<<"El angulo que forman es "<<d<<endl; } break; case 8: cout<<"Introduzca dos planos"<<endl; pl=leerplano(); pl1=leerplano(); if (sonparaplanos(pl,pl1)) cout<<"Los planos son paralelos, y forman un angulo de 0"; else { d=anguloplans(pl,pl1); cout<<"El angulo que forman es "<<d<<endl; } break; case 9: cout<<"Introduzca dos rectas"<<endl; r=leerrecta(); r1=leerrecta(); if (sonpararecs(r,r1)=='p') cout<<"Las rectas son paralelas, y forman un angulo de 0"<<endl; else cout<<"El angulo que forman es "<<d<<endl; break; case 10: cout<<"Introduzca tres planos"<<endl; pl=leerplano(); pl1=leerplano(); pl2=leerplano(); if (sonparaplanos(pl,pl1)) { if (sonparaplanos(pl,pl2)) cout<<"Los planos son paralelos"; else { r=interseccionplas(pl,pl2); r1=interseccionplas(pl,pl1); cout<<"La interseccion son las rectas: "; cout<<"("<<r.puntoori.x<<","<<r.puntoori.y<<","<<r.puntoori.z; cout<<") + lambda * ("<<r.vectordir.compx<<","<<r.vectordir.compy<<","<<r.vectordir.compz<<") y "; cout<<"("<<r1.puntoori.x<<","<<r1.puntoori.y<<","<<r1.puntoori.z; cout<<") + mu * ("<<r1.vectordir.compx<<","<<r1.vectordir.compy<<","<<r1.vectordir.compz< <")"<<endl; } } else {
if (sonparaplanos(pl,pl2)) { r=interseccionplas(pl1,pl2); r1=interseccionplas(pl,pl1); cout<<"La interseccion son las rectas: "; cout<<"("<<r.puntoori.x<<","<<r.puntoori.y<<","<<r.puntoori.z; cout<<") + lambda * ("<<r.vectordir.compx<<","<<r.vectordir.compy<<","<<r.vectordir.compz<<") y "; cout<<"("<<r1.puntoori.x<<","<<r1.puntoori.y<<","<<r1.puntoori.z; cout<<") + mu * ("<<r1.vectordir.compx<<","<<r1.vectordir.compy<<","<<r1.vectordir.compz< <")"<<endl; } else { if (sonparaplanos(pl1,pl2)) { r=interseccionplas(pl,pl2); r1=interseccionplas(pl,pl1); cout<<"La interseccion son las rectas: "; cout<<"("<<r.puntoori.x<<","<<r.puntoori.y<<","<<r.puntoori.z; cout<<") + lambda * ("<<r.vectordir.compx<<","<<r.vectordir.compy<<","<<r.vectordir.compz<<") y "; cout<<"("<<r1.puntoori.x<<","<<r1.puntoori.y<<","<<r1.puntoori.z; cout<<") + mu * ("<<r1.vectordir.compx<<","<<r1.vectordir.compy<<","<<r1.vectordir.compz< <")"<<endl; } else { r=interseccionplas(pl,pl2); r1=interseccionplas(pl,pl1); r2=interseccionplas(pl1,pl2); if (sonparaplanorecta(pl1,r)) { cout<<"La interseccion son las rectas: "; cout<<"("<<r.puntoori.x<<","<<r.puntoori.y<<","<<r.puntoori.z; cout<<") + eta * ("<<r.vectordir.compx<<","<<r.vectordir.compy<<","<<r.vectordir.compz<<") , "; cout<<"("<<r1.puntoori.x<<","<<r1.puntoori.y<<","<<r1.puntoori.z; cout<<") + lambda * ("<<r1.vectordir.compx<<","<<r1.vectordir.compy<<","<<r1.vectordir.compz< <") y "; cout<<"("<<r2.puntoori.x<<","<<r2.puntoori.y<<","<<r2.puntoori.z;
cout<<") + mu * ("<<r2.vectordir.compx<<","<<r2.vectordir.compy<<","<<r2.vectordir.compz< <")"<<endl;; } else { p1=interseccionplarec(pl2,interseccionplas(pl,pl1)); cout<<"El punto interseccion es ("<<p1.x<<","<<p1.y<<","<<p1.z<<")"<<endl; } } } } } /* Salida de resultados */
system("PAUSE"); return 0; } float mod(vector v) { float mod; mod=sqrt(v.compx*v.compx+v.compy*v.compy+v.compz*v.compz); return mod; } vector dospunts(punto p1,punto p2) { vector v; v.compx=p1.x-p2.x; v.compy=p1.y-p2.y; v.compz=p1.z-p2.z; return v; } float distanciapunts(punto p1,punto p2) { vector v; v=dospunts(p1,p2); return mod(v); } float distanciapuntplan(plano pl,punto p) { float d;
d=planoenpunto(pl,p); d=abs(d)/mod(pl.vectorperpen); return d; } vector leervector() { char c; vector p; cin>>c; cin>>p.compx; cin>>c; cin>>p.compy; cin>>c; cin>>p.compz; cin>>c; return p; } punto leerpunto() { punto p; char c; cin>>c; cin>>p.x; cin>>c; cin>>p.y; cin>>c; cin>>p.z; cin>>c; return p; } plano leerplano() { plano p; cout<<"Introduzca el vector caracteristico del plano"<<endl; p.vectorperpen=leervector(); cout<<"Introduzca un punto que pertenezca al plano"<<endl; p.puntoori=leerpunto(); return p; } recta leerrecta() { recta r; cout<<"Introduzca el vector director de la recta"<<endl; r.vectordir=leervector(); cout<<"Introduzca un punto que pertenezca a la recta"<<endl;
r.puntoori=leerpunto(); return r; } float D(plano pl) { float d; d=pl.vectorperpen.compx*pl.puntoori.x+pl.vectorperpen.compy*pl.puntoori.y +pl.vectorperpen.compz*pl.puntoori.z; d=-d; return d; } float planoenpunto(plano pl,punto p) { float d; d=pl.vectorperpen.compx*p.x+pl.vectorperpen.compy*p.y+pl.vectorperpen.com pz*p.z+D(pl); return d; } punto interseccionplarec(plano pl,recta r) { float l; l=planoenpunto(pl,r.puntoori)/prodescalar(pl.vectorperpen,r.vectordir); return (puntoenrecta(r,l)); } float prodescalar(vector v1,vector v2) { float d; d=v1.compx*v2.compx+v1.compy*v2.compy+v1.compz*v2.compz; return d; } bool sonparaplanorecta(plano pl,recta r) { bool para; if (prodescalar(pl.vectorperpen,r.vectordir)==0) para=true; else para=false; return para;
} punto puntoenrecta(recta r, float l) { punto p; p.x=r.puntoori.x+r.vectordir.compx*l; p.y=r.puntoori.y+r.vectordir.compy*l; p.z=r.puntoori.z+r.vectordir.compz*l; return p; } float distanciapuntrec(recta r,punto p) { vector v; float d,l; l=prodescalar(r.vectordir,dospunts(p,r.puntoori))/(mod(r.vectordir)*mod(r .vectordir)); v=dospunts(puntoenrecta(r,l),p); return mod(v); } vector prodvect(vector v1,vector v2) { vector v3; v3.compx=v1.compy*v2.compz-v1.compz*v2.compy; v3.compy=-v1.compx*v2.compz+v1.compz*v2.compx; v3.compz=v1.compx*v2.compy-v1.compy*v2.compx; return v3; } bool sonparaplanos(plano pl,plano pl2) { vector cero; vector v; cero.compx=0; cero.compy=0; cero.compz=0; v=prodvect(pl.vectorperpen,pl2.vectorperpen); if ((v.compx==cero.compx)&&(v.compy==cero.compy)&&(v.compz==cero.compz)) return true; else return false; } recta interseccionplas(plano p,plano t) {
recta r; vector v; recta s; r.vectordir=prodvect(p.vectorperpen,t.vectorperpen); v=prodvect(p.vectorperpen,r.vectordir); s.vectordir=v; s.puntoori=p.puntoori; r.puntoori=interseccionplarec(t,s); return r; } char sonpararecs(recta r,recta r1) { vector v; float l; vector cero; cero.compx=0; cero.compy=0; cero.compz=0; v=dospunts(r.puntoori,r1.puntoori); l=v.compx*(r.vectordir.compy*r1.vectordir.compzr.vectordir.compz*r1.vectordir.compy); l=l+v.compy*(r.vectordir.compx*r1.vectordir.compz+r.vectordir.compz*r1.vectordir.compx ); l=l+v.compz*(r.vectordir.compx*r1.vectordir.compyr.vectordir.compy*r1.vectordir.compx); v=prodvect(r.vectordir,r1.vectordir); if ((v.compx==cero.compx)&&(v.compy==cero.compy)&&(v.compz==cero.compz)) return 'p'; if (l==0) return 'x'; else return 'c'; } float distanciarecs(recta r,recta r1,char c) { float d; if (c=='p') d=distanciapuntrec(r1,r.puntoori); else d=abs((prodescalar(dospunts(r.puntoori,r1.puntoori),prodvect(r.vectordir, r1.vectordir)))/(mod(prodvect(r.vectordir,r1.vectordir)))); return d;
} punto interseccionrecs(recta r,recta s) { punto p; vector v; plano pl; v=prodvect(r.vectordir,s.vectordir); pl.vectorperpen=prodvect(r.vectordir,v); pl.puntoori=r.puntoori; p=interseccionplarec(pl,s); return p; } float angulorecs(recta r,recta s) { float ang; ang=acos(abs(prodescalar(r.vectordir,s.vectordir))/(mod(r.vectordir)*mod( s.vectordir))); return ang; } float anguloplans(plano pl,plano pl1) { float ang; ang=acos(abs(prodescalar(pl.vectorperpen,pl1.vectorperpen))/(mod(pl.vecto rperpen)*mod(pl1.vectorperpen))); return ang; } float anguloplarec(plano pl,recta r) { float ang; ang=asin(abs(prodescalar(r.vectordir,pl.vectorperpen))/(mod(pl.vectorperp en)*mod(r.vectordir))); return ang; }
aqui les dejo un prog que ingresando las variables q disponemos calcula concentraciones y otros en una solucion.. espero que a algun quimico le pueda servir.. escucho cualkier comentario
#include "stdafx.h" #include <iostream.h> #include <stdlib.h> struct datos { double molaridad; double normalidad; double grsoluto; double pesosolu; double pesovol; double pesopeso; double densidad; double pesomolec; double numcargas; }*a; //funciones prototipo void void void void void menu(int *); inicializar(struct datos *); ingresar(struct datos *, int ); calcular(struct datos *); resultados(struct datos *);
//funcion principal int main() { a = new datos; inicializar(a); int opc; do{ menu(&opc); if(opc!=9&&opc!=10) { ingresar(a, opc); } else if(opc==9) { calcular(a); resultados(a); } }while(opc!=10); delete a; return 0; } //funciones
void menu(int *o) { system("cls"); cout<<"Ingrese un numero segun los datos que dispone :"<<endl; cout<<"1 - Molaridad"<<endl;cout<<"2 - Normalidad"<<endl; cout<<"3 - Peso molecular (gr/mol)"<<endl;cout<<"4 - Densidad (gr/ml)"<<endl; cout<<"5 - Gramos de soluto"<<endl;cout<<"6 - Gramos de solucion"<<endl; cout<<"7 - Peso/Volumen de solucion (ml)"<<endl;cout<<"8 - Numero de cargas, protones u oxidrilos"<<endl; cout<<"9 - Resultados"<<endl;cout<<"10 - Salir"<<endl; cin>>*o; if(*o!=9||*o!=10) system("cls"); } void inicializar(struct datos *s) { s->molaridad=NULL; s->normalidad=NULL; s->pesovol=NULL; s->pesopeso=NULL; s->grsoluto=NULL; s->pesosolu=NULL; s->densidad=NULL; s->pesomolec=NULL; s->numcargas=NULL; } void ingresar(struct datos *b, int op) { switch(op) { case 1: cout<<"Ingrese la molaridad de la solucion :"<<endl; cin>>b->molaridad; break; case 2: cout<<"Ingrese la normalidad de la solucion :"<<endl; cin>>b->normalidad; break; case 3: cout<<"Ingrese el peso molecular del compuesto :"<<endl; cin>>b->pesomolec; break; case 4: cout<<"Ingrese la densidad de la solucion :"<<endl; cin>>b->densidad; break; case 5: cout<<"Ingrese los gramos de soluto en la solucion :"<<endl; cin>>b->grsoluto; break; case 6:
cout<<"Ingrese el peso de la solucion :"<<endl; cin>>b->pesosolu; break; case 7: cout<<"Ingrese el peso volumen de la solucion :"<<endl; cin>>b->pesovol; break; case 8: cout<<"Ingrese el numero de cargas, protones u oxidrilos del compuesto"<<endl; cin>>b->numcargas; break; } } void calcular(struct datos *c) { if(!c->molaridad) { if(c->normalidad!=NULL&&c->numcargas!=NULL) c->molaridad= c->normalidad/c->numcargas; else if(c->grsoluto!=NULL&&c->pesomolec!=NULL) c->molaridad= c->grsoluto/c->pesomolec; } if(!c->normalidad) { if(c->molaridad!=NULL&&c->numcargas!=NULL) c->normalidad=c->molaridad*c->numcargas; } if(!c->grsoluto) { if(c->pesosolu!=NULL) c->grsoluto= c->pesosolu*10; else if(c->molaridad!=NULL&&c->pesomolec!=NULL) c->grsoluto=c->molaridad*c->pesomolec; } if(!c->pesosolu) { if(c->densidad!=NULL) c->pesosolu=c->densidad*1000; } if(!c->pesovol) { if(c->grsoluto!=NULL) c->pesovol= c->grsoluto/10; } if(!c->pesopeso) { if(c->grsoluto!=NULL&&c->pesosolu!=NULL) c->pesopeso= (c->grsoluto/c->pesosolu) *100; } if(!c->densidad) { if(c->pesosolu!=NULL) c->densidad=c->pesosolu*1000; } if(!c->numcargas)
{ if(c->normalidad!=NULL&&c->molaridad!=NULL) c->numcargas= c->normalidad/c->molaridad; } } void resultados(struct datos *d) { system("cls"); cout<<"Los datos calculables son los siguientes:"<<endl; if(d->molaridad) { cout<<"Molaridad = "<<d->molaridad<<endl; } if(d->normalidad) { cout<<"Normalidad = "<<d->normalidad<<endl; } if(d->grsoluto) { cout<<"Gramos de soluto = "<<d->grsoluto<<endl; } if(d->pesosolu) { cout<<"Peso de la solucion = "<<d->pesosolu<<endl; } if(d->pesovol) { cout<<"Concentracion P/V = "<<d->pesovol<<endl; } if(d->pesopeso) { cout<<"Concentracion P/P = "<<d->pesopeso<<endl; } if(d->densidad) { cout<<"Densidad(gr/ml) = "<<d->densidad<<endl; } if(d->numcargas) { cout<<"Numero de cargas, oxidrilos o protones = "<<d->numcargas<<endl; } system("pause"); }
int x=0,y=0,renx1=5,renx2=20,col1=25,col2=6,max2=20; int max=25,min=6,maxcol=20,mincol=7,columna=5,min1=5,max1=25; textbackground(RED); textcolor(WHITE); clrscr(); for (x=1;x<5;x++) { for (y=min1;y<=max;y++) { gotoxy(y,renx1);cprintf("*"); delay(100); }; renx1+=2; max-=2; min1+=2; for (y=columna;y<=maxcol;y++) { gotoxy(col1,y);cprintf("*"); delay(100); }; col1-=2; maxcol-=2; columna+=2; for (y=max1;y>=min;y--) { gotoxy(y,renx2);cprintf("*"); delay(100); }; renx2-=2; min+=2; max1-=2; for (y=max2;y>=mincol;y--) { gotoxy(col2,y);cprintf("*"); delay(100); }; col2+=2; mincol+=2; max2-=2; }; getch();
int x=0,y=0,col1=40,col2=40,ren=5; textbackground(RED); textcolor(WHITE); clrscr(); for (x=1;x<=15;x++) { gotoxy(col1,x);cprintf("*"); gotoxy(col2,x);cprintf("*"); col1++; col2--; delay(100); }; for (x=16;x<=31;x++) { gotoxy(col1,x);cprintf("*"); gotoxy(col2,x);cprintf("*"); col1--; col2++; delay(100); }; getch();
PROGRAMA DE CONTABILIDAD
#include <ctype.h> #include <stdlib.h> #include <stdio.h> #include <time.h> #include <iostream.h> #include <conio.h> #include <graphics.h> #include <string.h> #define graficos int gdriver=DETECT, gmode;/* initialize graphics and loc al variables */initgraph(&gdriver, &gmode,"c:/tc/bgi");setcolor(getmaxcol or()); #include <dos.h> int confirmado=0; char encontrado[50]; int bb2; int reg3; int kep=0; char comp[50]="compra"; char si[10]="si"; char no[10]="no"; char vent[50]="venta"; char decicion; char opc; char opcion; char opcion2; int x=54,y=68,xx=245; int x1,y1,l2=60,bandera=0; int c; float iva=0.16; struct datos { char gg[10]; char provedor[30]; char articulo[50]; char codigo[10]; float cantidad2; float cantidad; float valor; float total; int dia; int a_o; int mes; }; typedef struct datos empresa; struct ventas
{ char accion[50]; char articulo_venta[50]; char codigo_venta[10]; float cantidad_venta; float valor_venta; int dia_venta; int a_o_venta; int mes_venta; }; typedef struct ventas empresa_ventas; struct ventas2 { char accion2[50]; char codigo_venta2[10]; float valor_venta2; float valor_iva; char nombre_proveedor[50]; char nombre_cliente[50]; int dia_venta2; int a_o_venta2; int mes_venta2; }; typedef struct ventas2 empresa_ventas2; void void void void void void void void void void void void void ingresar2(empresa p, empresa_ventas p4, empresa_ventas2 p5); ingresar3(empresa p, empresa_ventas p4, empresa_ventas2 p5); guardar(empresa p); delet(empresa p); abrir(); lib_diario(empresa p, empresa_ventas2 p5); listar(empresa p); inventario(empresa p, empresa_ventas p4); subpro(empresa p); estado_financiero(empresa_ventas2 p5); ingresar(); iconos(); main();
cursor(mov,mov2) { int c=0; while(!(kbhit())) { gotoxy(mov,mov2);textcolor(c);cprintf(""); if (c==0) c=14; c--; delay(200); if (c%2==0) c=0; } gotoxy(mov,mov2);textcolor(0);cprintf(" ");
gotoxy(mov,mov2);textcolor(7);cprintf(" } circulo(int x2,int y2) { setcolor(2); circle(x2,y2,50); } circulo_borrar(int x2,int y2) { setcolor(15); circle(x2,y2,50); } void derecha() { if(x<240) { circulo_borrar(x,y); x=x+186; circulo(x,y); } } void izquierda() { if(x>54 && y<=188) { circulo_borrar(x,y); x=x-186; circulo(x,y); } } void abajo() { if(y<308) { circulo_borrar(x,y); y=y+120; if(y<=188) { circulo(x,y); } if(y>188) { y=y+20; x=449; setcolor(2); circle(x,y,50); } } } void arriba() {
");
if(y>68) { if(y<=188) { circulo_borrar(x,y); y=y-120; circulo(x,y); } if(y>188) { circulo_borrar(x,y); y=y-140; x=x-209; circulo(x,y); } } } circulo_salir(int xx2) { setcolor(BLACK); rectangle(xx,190,xx+20,180); } circulo_salir_borrar(int xx2) { setcolor(15); rectangle(xx,190,xx+20,180); } void derecha2() { if(xx<385) { circulo_salir_borrar(xx); xx=xx+140; circulo_salir(xx); } } void izquierda2() { if(xx>245) { circulo_salir_borrar(xx); xx=xx-140; circulo_salir(xx); } } void poner2() { if(xx==245) { exit(1); } if(xx==385) { cleardevice();
x=54; y=68; main(); } } void poner() { empresa pb; empresa_ventas pb4; if(y==68 && x==54) { ingresar(); setgraphmode(getgraphmode()); cleardevice(); iconos(); setcolor(2); x=54; y=68; circulo(x,y); } if(y==68 && x==240) { guardar(pb); setgraphmode(getgraphmode()); cleardevice(); iconos(); setcolor(2); x=240; y=68; circulo(x,y); } if(y==188 && x==54) { abrir(); setgraphmode(getgraphmode()); cleardevice(); iconos(); setcolor(2); x=54; y=188; circulo(x,y); } if(y==188 && x==240) { delet(pb); setgraphmode(getgraphmode()); cleardevice(); iconos(); setcolor(2); x=240; y=188; circulo(x,y);
} if(y==328 && x==449) { setcolor(15); rectangle(220, 200, 420,150); setfillstyle(1,15); floodfill(253,153,15); floodfill(253,197,15); floodfill(290,153,15); setcolor(BLACK); settextstyle(2,0,4); outtextxy(235,168,"Esta seguro que desea salir?"); outtextxy(250,180,"Si"); outtextxy(390,180,"No"); circulo_salir(xx); while(decicion!=27) { decicion=getch(); if(decicion==77||decicion==75||decicion=='r') { if(decicion==77) {decicion=NULL; derecha2();} if(decicion==75) {decicion=NULL; izquierda2();} if(decicion=='r') {decicion=NULL; poner2();} } } } } void iconos() { //LA HOJA setcolor(15); circle(54,68,50); line(40, 40, 13, 83); line(90, 43, 60, 90); line(40, 40, 90, 43); line(13, 83, 60, 90); floodfill(43,43,15); setcolor(6); setfillstyle(1,8); line(40, 50, 80, 53); line(34, 60, 74, 63); line(28, 70, 68, 73); line(40, 80, 60, 81); //EL DISQUETE setcolor(15);
circle(240,68,50); setcolor(7); rectangle(210, 100, 270, 50); setfillstyle(1,8); floodfill(213,97,7); setcolor(15); rectangle(220, 85, 260, 58); rectangle(264, 55, 268, 52); setfillstyle(1,7); floodfill(223,82,15); rectangle(225, 96, 255, 88); floodfill(228,93,15); setcolor(15); rectangle(226, 95, 233, 89); floodfill(229,93,15); //ABRIR setcolor(15); circle(54,188,50); setcolor(14); rectangle(22, 174, 40,169); setfillstyle(1,14); floodfill(25,171,14); setcolor(15); rectangle(22, 220, 90,175); setfillstyle(1,14); floodfill(25,217,15); setcolor(7); line(40, 178, 100, 178); line(23, 220, 89, 220); line(22, 220, 40, 178); line(90, 220, 100, 178); floodfill(43,181,7); arc(75, 175,29,-210, 19); line(85, 167, 99, 163); line(85, 167, 92, 170); line(99, 163, 92, 170); //BORRAR setcolor(15); circle(240,188,50); line(215,168,225,220); line(270,161,267,215); arc(238,123,244,-49,50); arc(240,162,256,-63,60); arc(265,159,350,-237,5); arc(261,245,445,-240,90); setfillstyle(1,15); floodfill(264,158,15); setfillstyle(1,7); floodfill(218,171,15); setcolor(2); arc(247,200,443,-215,18); arc(249,203,445,-217,24); line(247, 186, 255, 177);
line(229, 188, 231, 192); line(247, 186, 258, 192); line(255, 177, 258, 192); setfillstyle(1,2); floodfill(250,180,2); floodfill(253,180,2); setcolor(2); arc(245,193,252,-17,18); arc(243,191,250,-25,24); line(244, 207,232,216); line(244, 207, 235, 198); line(232, 216, 235, 198); line(262, 200, 264, 204); setfillstyle(1,2); floodfill(247,213,2); floodfill(235,213,2); //SALIR setcolor(15); circle(449,328,50); setcolor(7); line(426, 308, 460, 285); line(426, 370, 460, 347); line(460, 285, 460, 347); line(426, 308, 426, 370); setfillstyle(1,6); floodfill(429,311,7); setcolor(BLACK); line(454, 317, 458, 313); line(454, 327, 458, 323); line(454, 317, 454, 327); line(458, 313, 458, 323); setfillstyle(1,BLACK); floodfill(457,320,BLACK); setcolor(15); rectangle(426,370,476,308); } void main() { clrscr(); FILE *ab, *ab2; if((ab = fopen("DIARIO.txt", "a+b"))==NULL) //por si hay error { printf("nERRRROR"); //exit(0); } fclose(ab); if((ab2 = fopen("VENTAS.txt", "a+b"))==NULL) //por si hay error { printf("nERRRROR"); //exit(0); }
opc=getch(); if(opc==77||opc==75||opc==80||opc==72||opc=='r') { if(opc==77) {opc=NULL; derecha();} if(opc==75) {opc=NULL; izquierda();} if(opc==80) {opc=NULL; abajo();} if(opc==72) {opc=NULL; arriba();} if(opc=='r') {opc=NULL; poner();} }
} if(opc==27) { //exit(1); } //getch(); closegraph(); } //PRIMERA OPCION (DE LA HOJA): void arriba2() { if(l2==90) { setcolor(BLACK); settextstyle(2,0,4); outtextxy(110,l2,"2. Venta de articulos."); l2=l2-30; setcolor(2); settextstyle(2,0,4); outtextxy(110,l2,"1. Compra de articulos."); } } void abajo2() { if(l2==60) { setcolor(BLACK); settextstyle(2,0,4);
outtextxy(110,l2,"1. Compra de articulos."); l2=l2+30; setcolor(2); settextstyle(2,0,4); outtextxy(110,l2,"2. Venta de articulos."); } } void poner3() { empresa pb; empresa_ventas pb4; empresa_ventas2 pb5; switch (l2) { case 60: ingresar2(pb,pb4,pb5); main(); break; case 90: ingresar3(pb,pb4,pb5); main(); } } void ingresar() { int mx1,my1; //clrscr(); cleardevice(); setcolor(15); rectangle(1,700,700,1); setfillstyle(1,15); floodfill(4,4,15); setcolor(BLACK); for(mx1=100;mx1<=500;mx1++) { settextstyle(2,0,4); outtextxy(mx1,50,""); outtextxy(mx1,300,""); } for(my1=50;my1<=300;my1++) { settextstyle(2,0,4); outtextxy(100,my1,""); outtextxy(500,my1,""); } setcolor(2); settextstyle(2,0,4); outtextxy(110,60,"1. Compra de articulos."); setcolor(BLACK); settextstyle(2,0,4); outtextxy(110,60+30,"2. Venta de articulos.");
opcion=getch(); if(opcion==80||opcion==72||opcion=='r') { if(opcion==80) {opcion=NULL; abajo2();} if(opcion==72) {opcion=NULL; arriba2();} if(opcion=='r') {opcion=NULL; poner3();} }
} if(opcion==27) { main(); } //getch(); } void ingresar2(empresa ptr, empresa_ventas ptr2, empresa_ventas2 ptr4) { struct date d; getdate(&d); int i,reg,reg2; int mx,my; char cod[10],art[50],prov[50]; float cant; int i2,j2; float tt,t; int ii,aviso=0; FILE *ab; FILE *ab2; FILE *diario; cleardevice(); restorecrtmode(); clrscr(); for (i2=0; i2<90; i2++) { for (j2=0; j2<80; j2++) cprintf(" "); cprintf("rn"); textbackground(BLACK); } for(x1=3;x1<=77;x1++) {
gotoxy(x1,9);textcolor(5);cprintf(""); gotoxy(x1,11);textcolor(5);cprintf(""); gotoxy(x1,13);textcolor(5);cprintf(""); gotoxy(x1,15);textcolor(5);cprintf(""); } for(y1=9;y1<=15;y1++) { gotoxy(3,y1);textcolor(5);cprintf(""); gotoxy(13,y1);textcolor(5);cprintf(""); gotoxy(21,y1);textcolor(5);cprintf(""); gotoxy(50,y1);textcolor(5);cprintf(""); gotoxy(62,y1);textcolor(5);cprintf(""); gotoxy(77,y1);textcolor(5);cprintf(""); } gotoxy(3,9);textcolor(5);cprintf(""); gotoxy(13,9);textcolor(5);cprintf(""); gotoxy(3,15);textcolor(5);cprintf(""); gotoxy(77,15);textcolor(5);cprintf(""); gotoxy(77,9);textcolor(5);cprintf(""); gotoxy(13,15);textcolor(5);cprintf(""); gotoxy(21,9);textcolor(5);cprintf(""); gotoxy(21,15);textcolor(5);cprintf(""); gotoxy(50,9);textcolor(5);cprintf(""); gotoxy(50,15);textcolor(5);cprintf(""); gotoxy(62,9);textcolor(5);cprintf(""); gotoxy(62,15);textcolor(5);cprintf(""); gotoxy(3,4);textcolor(15);cprintf("Proveedor: "); for(mx=15;mx<=40;mx++) { gotoxy(mx,5);textcolor(15);cprintf(""); } for(mx=62;mx<=77;mx++) { gotoxy(mx,3);textcolor(15);cprintf(""); gotoxy(mx,5);textcolor(15);cprintf(""); } for(my=3;my<=5;my++) { gotoxy(62,my);textcolor(15);cprintf(""); gotoxy(67,my);textcolor(15);cprintf(""); gotoxy(72,my);textcolor(15);cprintf(""); gotoxy(77,my);textcolor(15);cprintf(""); } gotoxy(62,3);textcolor(15);cprintf(""); gotoxy(77,3);textcolor(15);cprintf(""); gotoxy(62,5);textcolor(15);cprintf(""); gotoxy(77,5);textcolor(15);cprintf(""); gotoxy(67,3);textcolor(15);cprintf(""); gotoxy(72,3);textcolor(15);cprintf(""); gotoxy(67,5);textcolor(15);cprintf(""); gotoxy(72,5);textcolor(15);cprintf(""); gotoxy(4,10);textcolor(15);cprintf("CANTIDAD"); gotoxy(14,10);textcolor(15);cprintf("CODIGO "); gotoxy(28,10);textcolor(15);cprintf("ARTICULO");
gotoxy(51,10);textcolor(15);cprintf("VALOR"); gotoxy(63,10);textcolor(15);cprintf("TOTAL"); gotoxy(63,2);textcolor(BLACK);cprintf("Mes"); gotoxy(68,2);textcolor(BLACK);cprintf("Da"); gotoxy(73,2);textcolor(BLACK);cprintf("Ao"); gotoxy(63,4);textcolor(15);cprintf(" "); gotoxy(63,4);textcolor(15);cprintf("%d",d.da_mon); gotoxy(68,4);textcolor(15);cprintf(" "); gotoxy(68,4);textcolor(15);cprintf("%d",d.da_day); gotoxy(73,4);textcolor(15);cprintf(" "); gotoxy(73,4);textcolor(15);cprintf("%d",d.da_year); if((ab = fopen("empresa.txt", "a+b"))==NULL) //por si hay error { printf("nERRRROR"); //exit(0); } fseek(ab, 0L, SEEK_END); reg3=(int)ftell(ab)/sizeof(empresa); gotoxy(15,4);textcolor(15);cprintf(" "); fflush(stdin); fflush(stdin); gotoxy(15,4);gets(prov); _setcursortype(_NOCURSOR); if((diario = fopen("DIARIO.txt", "a+b"))==NULL) //por si hay error { printf("nERRRROR"); //exit(0); } mx=4; my=12; strcpy(ptr.gg,no); strcpy(ptr.provedor,prov); cursor(mx,my); fflush(stdin); gotoxy(4,12);scanf("%f",&ptr.cantidad); ptr.cantidad2=ptr.cantidad; cant=ptr.cantidad; mx=mx+10; cursor(mx,my); fflush(stdin); fflush(stdin); gotoxy(14,12);gets(cod);
strcpy(ptr.codigo,cod); mx=mx+14; cursor(mx,my); fflush(stdin); fflush(stdin); gotoxy(28,12);gets(ptr.articulo); strcpy(art,ptr.articulo); mx=mx+23; cursor(mx,my); fflush(stdin); gotoxy(51,12);scanf("%f",&ptr.valor); ptr.total=ptr.cantidad*ptr.valor; tt=ptr.total; gotoxy(63,12);printf("%.0f",ptr.total); ptr.total=ptr.total+(ptr.cantidad*ptr.valor*iva); t=ptr.total; ptr.dia=d.da_day; ptr.mes=d.da_mon; ptr.a_o=d.da_year; gotoxy(27,20);textcolor(15);cprintf("I.V.A 16%"); gotoxy(39,20);textcolor(15);cprintf("% .2f",tt*iva); gotoxy(51,20);textcolor(15);cprintf("TOTAL $"); gotoxy(63,20);textcolor(15);cprintf("% .0f",t); fwrite(&ptr, sizeof(empresa), 1, ab); fclose(ab); //POR EL LADO DE LAS COMPRAS if((ab2 = fopen("VENTAS.txt", "r+b"))==NULL) //por si hay error { printf("nERRRROR"); //exit(0); } fseek(ab2, 0L, SEEK_END); reg=(int)ftell(ab2)/sizeof(empresa_ventas); rewind(ab2); aviso=0; for(ii=0;ii<reg;ii++) { fseek(ab2, (ii) *sizeof(empresa_ventas), SEEK_SET); fread(&ptr2, sizeof(empresa_ventas), 1, ab2); if(strcmpi(ptr2.codigo_venta,cod)==0) { if(d.da_mon==ptr2.mes_venta && d.da_day==ptr2.dia_venta && d.da_year==ptr 2.a_o_venta && (strcmpi(ptr2.accion,comp)==0)) { fseek(ab2, (ii) *sizeof(empresa_ventas), SEEK_SET); ptr2.valor_venta=ptr2.valor_venta+t; ptr2.cantidad_venta=ptr2.cantidad_venta+cant; fwrite(&ptr2, sizeof(empresa_ventas), 1, ab2); aviso=1;
//fflush(ab2); fclose(ab2); } } }//del for ii if(aviso==0) { if((ab2 = fopen("VENTAS.txt", "a+b"))==NULL) //por si hay error { printf("nERRRROR"); //exit(0); } strcpy(ptr2.accion,comp); strcpy(ptr2.articulo_venta,art); strcpy(ptr2.codigo_venta,cod); ptr2.cantidad_venta=cant; ptr2.valor_venta=t; ptr2.dia_venta=d.da_day; ptr2.a_o_venta=d.da_year; ptr2.mes_venta=d.da_mon; fwrite(&ptr2, sizeof(empresa_ventas), 1, ab2); //fflush(ab2); fclose(ab2); }//del aviso si es que el codigo del articulo //no coincide con la fecha de alguno que ya este strcpy(ptr4.accion2,comp); strcpy(ptr4.nombre_proveedor,prov); ptr4.valor_venta2=t; ptr4.valor_iva=tt*iva; ptr4.dia_venta2=d.da_day; ptr4.a_o_venta2=d.da_year; ptr4.mes_venta2=d.da_mon; fwrite(&ptr4, sizeof(empresa_ventas2), 1, diario); fclose(diario); kep=1; gotoxy(22,23);textcolor(7);cprintf("El articulo ha sido aadido con xito "); sleep(2); } void ingresar3(empresa ptr, empresa_ventas ptr2, empresa_ventas2 ptr3) { struct date d; getdate(&d); int i,reg,ii,reg2,i2,j2; int mx,my; char cliente[40],cod[10],art[50]; float sum1,tot,total2; float cant=0; float luis=0; int aviso=0; FILE *ab,*ab2,*ab3;
restorecrtmode(); clrscr(); _setcursortype(_NOCURSOR); if((ab3 = fopen("DIARIO.txt", "a+b"))==NULL) //por si hay error { printf("nERRRROR"); //exit(0); } if((ab = fopen("EMPRESA.txt", "r+b"))==NULL) //por si hay error { printf("nERRRROR"); //exit(0); } fseek(ab, 0L, SEEK_END); reg=(int)ftell(ab)/sizeof(empresa); for (i2=0; i2<90; i2++) { for (j2=0; j2<80; j2++) cprintf(" "); cprintf("rn"); textbackground(WHITE); } gotoxy(3,2);textcolor(BLUE);cprintf("..............."); gotoxy(3,4);textcolor(BLACK);cprintf("Cliente:"); for(mx=11;mx<=40;mx++) { gotoxy(mx,5);textcolor(1);cprintf(""); } for(mx=62;mx<=77;mx++) { gotoxy(mx,3);textcolor(1);cprintf(""); gotoxy(mx,5);textcolor(1);cprintf(""); } for(my=3;my<=5;my++) { gotoxy(62,my);textcolor(1);cprintf(""); gotoxy(67,my);textcolor(1);cprintf(""); gotoxy(72,my);textcolor(1);cprintf(""); gotoxy(77,my);textcolor(1);cprintf(""); } gotoxy(62,3);textcolor(1);cprintf(""); gotoxy(77,3);textcolor(1);cprintf(""); gotoxy(62,5);textcolor(1);cprintf(""); gotoxy(77,5);textcolor(1);cprintf(""); gotoxy(67,3);textcolor(1);cprintf(""); gotoxy(72,3);textcolor(1);cprintf(""); gotoxy(67,5);textcolor(1);cprintf(""); gotoxy(72,5);textcolor(1);cprintf(""); for(mx=3;mx<=77;mx++) {
gotoxy(mx,9);textcolor(1);cprintf(""); gotoxy(mx,11);textcolor(1);cprintf(""); gotoxy(mx,13);textcolor(1);cprintf(""); gotoxy(mx,15);textcolor(1);cprintf(""); gotoxy(mx,17);textcolor(1);cprintf(""); gotoxy(mx,19);textcolor(1);cprintf(""); gotoxy(mx,21);textcolor(1);cprintf(""); } for(my=9;my<=21;my++) { gotoxy(3,my);textcolor(1);cprintf(""); gotoxy(13,my);textcolor(1);cprintf(""); gotoxy(21,my);textcolor(1);cprintf(""); gotoxy(50,my);textcolor(1);cprintf(""); gotoxy(62,my);textcolor(1);cprintf(""); gotoxy(77,my);textcolor(1);cprintf(""); } gotoxy(3,9);textcolor(1);cprintf(""); gotoxy(13,9);textcolor(1);cprintf(""); gotoxy(3,21);textcolor(1);cprintf(""); gotoxy(77,21);textcolor(1);cprintf(""); gotoxy(77,9);textcolor(1);cprintf(""); gotoxy(13,21);textcolor(1);cprintf(""); gotoxy(21,9);textcolor(1);cprintf(""); gotoxy(21,21);textcolor(1);cprintf(""); gotoxy(50,9);textcolor(1);cprintf(""); gotoxy(50,21);textcolor(1);cprintf(""); gotoxy(62,9);textcolor(1);cprintf(""); gotoxy(62,21);textcolor(1);cprintf(""); gotoxy(4,25);textcolor(0);cprintf("RES No. 140000018465 DE FECHA 2006/01/ 25"); gotoxy(63,2);textcolor(BLACK);cprintf("Mes"); gotoxy(68,2);textcolor(BLACK);cprintf("Da"); gotoxy(73,2);textcolor(BLACK);cprintf("Ao"); gotoxy(4,10);textcolor(BLACK);cprintf("Cantidad"); gotoxy(14,10);textcolor(BLACK);cprintf("Codigo"); gotoxy(33,10);textcolor(BLACK);cprintf("Detalle"); gotoxy(51,10);textcolor(0);cprintf("Vr. Unit"); gotoxy(63,10);textcolor(0);cprintf("Vr. Parcial"); cursor(12,4); fflush(stdin); fflush(stdin); gotoxy(12,4);textcolor(0);cprintf(" "); gotoxy(12,4);scanf("%[^n]",cliente); fflush(stdin); fflush(stdin); gotoxy(63,4);textcolor(0);cprintf(" "); gotoxy(63,4);textcolor(0);cprintf("%d",d.da_mon); gotoxy(68,4);textcolor(0);cprintf(" "); gotoxy(68,4);textcolor(0);cprintf("%d",d.da_day);
gotoxy(73,4);textcolor(0);cprintf(" "); gotoxy(73,4);textcolor(0);cprintf("%d",d.da_year); my=12; mx=12; sum1=0; while(my<=22) { c=4; cant=0; luis=0; cursor(c,my); gotoxy(c,my);textcolor(0);cprintf(" "); fflush(stdin); fflush(stdin); gotoxy(c,my);textcolor(0);scanf("%f",&cant); luis=cant; if(cant==0) { my=26; } if(cant!=0) { c=14; cursor(c,my); gotoxy(c,my);textcolor(0);cprintf(" "); fflush(stdin); fflush(stdin); gotoxy(c,my);textcolor(0);scanf("%[^n]",cod); fflush(stdin); fflush(stdin); rewind(ab); //apuntamos al inicio del archivo for (i=0; i<reg; i++) { fseek(ab, (i) *sizeof(empresa), SEEK_SET); fread(&ptr, sizeof(empresa), 1, ab); if((strcmpi(ptr.codigo,cod)==0)&& (strcmpi(ptr.gg,si)==0)) { fseek(ab, (i) *sizeof(empresa), SEEK_SET); //gotoxy(50,23);textcolor(0);cprintf("%.0f",ptr.cantidad); ptr.cantidad=ptr.cantidad-cant; gotoxy(28,my);textcolor(0);cprintf("%s",ptr.articulo); strcpy(art,ptr.articulo); gotoxy(51,my);textcolor(0);cprintf("%.0f",ptr.valor); tot=ptr.valor*cant; gotoxy(63,my);textcolor(0);cprintf("%.0f",tot); fwrite(&ptr, sizeof(empresa), 1, ab); //fflush(ab); fclose(ab); //por el lado de las ventas if((ab2 = fopen("VENTAS.txt", "r+b"))==NULL) //por si hay error { printf("nERRRROR");
//exit(0); } fseek(ab2, 0L, SEEK_END); reg2=(int)ftell(ab2)/sizeof(empresa_ventas); rewind(ab2); aviso=0; for(ii=0;ii<reg2;ii++) { fseek(ab2, (ii) *sizeof(empresa_ventas), SEEK_SET); fread(&ptr2, sizeof(empresa_ventas), 1, ab2); if(strcmpi(ptr2.codigo_venta,cod)==0) { if(d.da_mon==ptr2.mes_venta && d.da_day==ptr2.dia_venta && d.da_year==ptr 2.a_o_venta && (strcmpi(ptr2.accion,vent)==0)) { fseek(ab2, (ii) *sizeof(empresa_ventas), SEEK_SET); aviso=1; ptr2.valor_venta=ptr2.valor_venta + tot; fflush(stdin); ptr2.cantidad_venta = ptr2.cantidad_venta + luis; fflush(stdin); //gotoxy(30,23);textcolor(0);cprintf("%.0f",ptr2.cantidad_venta); fwrite(&ptr2, sizeof(empresa_ventas), 1, ab2); //fflush(ab2); fclose(ab2); } } }//del for ii if(aviso==0) { if((ab2 = fopen("VENTAS.txt", "a+b"))==NULL) //por si hay error { printf("nERRRROR"); //exit(0); } strcpy(ptr2.accion,vent); strcpy(ptr2.articulo_venta,art); strcpy(ptr2.codigo_venta,cod); ptr2.cantidad_venta=cant; ptr2.valor_venta=tot; ptr2.dia_venta=d.da_day; ptr2.a_o_venta=d.da_year; ptr2.mes_venta=d.da_mon; fwrite(&ptr2, sizeof(empresa_ventas), 1, ab2); //fflush(ab2); fclose(ab2); }//del aviso si es que el codigo del articulo //no coincide con la fecha de alguno que ya este } } sum1=sum1+tot; my=my+2; }//del else }//del while gotoxy(27,23);textcolor(RED);cprintf("I.V.A
16%");
total2=sum1*iva; strcpy(ptr3.accion2,vent); strcpy(ptr3.nombre_cliente,cliente); ptr3.valor_venta2=sum1; ptr3.valor_iva=total2; ptr3.dia_venta2=d.da_day; ptr3.a_o_venta2=d.da_year; ptr3.mes_venta2=d.da_mon; fwrite(&ptr3, sizeof(empresa_ventas2), 1, ab3); //fflush(ab3); fclose(ab3); gotoxy(39,23);textcolor(RED);cprintf("% .2f",total2); gotoxy(51,23);textcolor(RED);cprintf("TOTAL $"); total2=total2+sum1; gotoxy(63,23);textcolor(RED);cprintf("% .0f",total2); getch(); } //OPCION DISQUETE: void guardar(empresa ptr) { if(kep==1) { FILE *ab; int reg,i; if((ab = fopen("empresa.txt", "r+b"))==NULL) //por si hay error { printf("nERRRROR"); //exit(0); } fseek(ab, 0L, SEEK_END); reg=(int)ftell(ab)/sizeof(empresa); rewind(ab); //apuntamos al inicio del archivo for (i=reg3; i<reg; i++) { fseek(ab, (i) *sizeof(empresa), SEEK_SET); fread(&ptr, sizeof(empresa), 1, ab); fseek(ab, (i) *sizeof(empresa), SEEK_SET); printf("%sn",ptr.gg); strcpy(ptr.gg,si); printf("%sn",ptr.articulo); printf("%s",ptr.gg); fwrite(&ptr, sizeof(empresa), 1, ab); //getch(); } fclose(ab); kep=0; //getch();
} } //ABRIR: void arriba4() { if(l2>60) { l2=l2-30; switch(l2) { case 60: setcolor(BLACK); settextstyle(2,0,4); outtextxy(110,90,"2. Libro de Inventario."); outtextxy(110,120,"3. Listado de articulos."); outtextxy(110,150,"4. Estado Financiero."); setcolor(2); settextstyle(2,0,4); outtextxy(110,l2,"1. Libro Diario."); break; case 90: setcolor(BLACK); settextstyle(2,0,4); outtextxy(110,60,"1. Libro Diario."); outtextxy(110,120,"3. Listado de articulos."); outtextxy(110,150,"4. Estado Financiero."); setcolor(2); settextstyle(2,0,4); outtextxy(110,l2,"2. Libro de Inventario."); break; case 120: setcolor(BLACK); settextstyle(2,0,4); outtextxy(110,60,"1. Libro Diario."); outtextxy(110,90,"2. Libro de Inventario."); outtextxy(110,150,"4. Estado Financiero."); setcolor(2); settextstyle(2,0,4); outtextxy(110,l2,"3. Listado de articulos."); break; case 150: setcolor(BLACK); settextstyle(2,0,4); outtextxy(110,60,"1. Libro Diario."); outtextxy(110,90,"2. Libro de Inventario."); outtextxy(110,120,"3. Listado de articulos."); setcolor(2); settextstyle(2,0,4); outtextxy(110,l2,"4. Estado Financiero."); } } } void abajo4() {
if(l2<150) { l2=l2+30; switch(l2) { case 60: setcolor(BLACK); settextstyle(2,0,4); outtextxy(110,90,"2. Libro de Inventario."); outtextxy(110,120,"3. Listado de articulos."); outtextxy(110,150,"4. Estado Financiero."); setcolor(2); settextstyle(2,0,4); outtextxy(110,l2,"1. Libro Diario."); break; case 90: setcolor(BLACK); settextstyle(2,0,4); outtextxy(110,60,"1. Libro Diario."); outtextxy(110,120,"3. Listado de articulos."); outtextxy(110,150,"4. Estado Financiero."); setcolor(2); settextstyle(2,0,4); outtextxy(110,l2,"2. Libro de Inventario."); break; case 120: setcolor(BLACK); settextstyle(2,0,4); outtextxy(110,60,"1. Libro Diario."); outtextxy(110,90,"2. Libro de Inventario."); outtextxy(110,150,"4. Estado Financiero."); setcolor(2); settextstyle(2,0,4); outtextxy(110,l2,"3. Listado de articulos."); break; case 150: setcolor(BLACK); settextstyle(2,0,4); outtextxy(110,60,"1. Libro Diario."); outtextxy(110,90,"2. Libro de Inventario."); outtextxy(110,120,"3. Listado de articulos."); setcolor(2); settextstyle(2,0,4); outtextxy(110,l2,"4. Estado Financiero."); } } } void poner4() { empresa pb; empresa_ventas pb4; empresa_ventas2 pb5; switch (l2) {
case 60: lib_diario(pb,pb5); main(); break; case 90: inventario(pb,pb4); main(); break; case 120: listar(pb); main(); break; case 150: estado_financiero(pb5); main(); } } void abrir() { int mx1,my1; //clrscr(); cleardevice(); setcolor(15); rectangle(1,700,700,1); setfillstyle(1,15); floodfill(4,4,15); setcolor(BLACK); for(mx1=100;mx1<=500;mx1++) { settextstyle(2,0,4); outtextxy(mx1,50,""); outtextxy(mx1,300,""); } for(my1=50;my1<=300;my1++) { settextstyle(2,0,4); outtextxy(100,my1,""); outtextxy(500,my1,""); } setcolor(2); settextstyle(2,0,4); outtextxy(110,60,"1. Libro Diario."); setcolor(BLACK); settextstyle(2,0,4); outtextxy(110,60+30,"2. Libro de Inventario."); outtextxy(110,90+30,"3. Listado de articulos."); outtextxy(110,120+30,"4. Estado Financiero."); l2=60; bandera=0; opcion2=NULL; while(opcion2!=27)
opcion2=getch(); if(opcion2==80||opcion2==72||opcion2=='r') { if(opcion2==80) {opcion2=NULL; abajo4();} if(opcion2==72) {opcion2=NULL; arriba4();} if(opcion2=='r') {opcion2=NULL; poner4();} }
} if(opcion2==27) { main(); } //getch(); } void lib_diario(empresa ptr, empresa_ventas2 ptr2) { int fil,col; int i2,j2; int i, reg; int my1,mx1; int despy=50,despyv=170; float suma_p; float suma_total; char suma_total2[500]; float iva_total; char iva_total2[100]; float total_comercio; char total_comercio2[500]; char diaf[10],mesf[10],a_of[20]; char string[10]; char string1[10]; char string2[20]; char string3[100]; char string4[100]; char string5[100]; char suma_p2[100]; float valor_mas_iva; char valor_mas_iva2[100]; float valor_to; char valor_to2[100]; restorecrtmode(); clrscr(); for (i2=0; i2<90; i2++) { for (j2=0; j2<80; j2++) cprintf(" "); cprintf("rn");
textbackground(BLACK); } gotoxy(28,1);textcolor(15);cprintf("INGRESE FECHA"); for(mx1=20;mx1<=50;mx1++) { gotoxy(mx1,2);textcolor(15);cprintf(""); gotoxy(mx1,4);textcolor(15);cprintf(""); } for(my1=2;my1<=4;my1++) { gotoxy(20,my1);textcolor(15);cprintf(""); gotoxy(30,my1);textcolor(15);cprintf(""); gotoxy(40,my1);textcolor(15);cprintf(""); gotoxy(50,my1);textcolor(15);cprintf(""); } gotoxy(20,2);textcolor(15);cprintf(""); gotoxy(20,4);textcolor(15);cprintf(""); gotoxy(50,2);textcolor(15);cprintf(""); gotoxy(50,4);textcolor(15);cprintf(""); gotoxy(30,2);textcolor(15);cprintf(""); gotoxy(30,4);textcolor(15);cprintf(""); gotoxy(40,2);textcolor(15);cprintf(""); gotoxy(40,4);textcolor(15);cprintf(""); gotoxy(24,5);textcolor(15);cprintf("DIA"); gotoxy(34,5);textcolor(15);cprintf("MES"); gotoxy(44,5);textcolor(15);cprintf("AO"); fflush(stdin); gotoxy(22,3);textcolor(7);scanf("%[^n]",diaf); fflush(stdin); gotoxy(32,3);textcolor(7);scanf("%[^n]",mesf); fflush(stdin); gotoxy(42,3);textcolor(7);scanf("%[^n]",a_of); fflush(stdin); setgraphmode(getgraphmode()); cleardevice(); FILE *ab; setcolor(15); rectangle(75,20,525,5); rectangle(50,65,550,25); rectangle(80,60,100,45); rectangle(104,60,124,45); rectangle(128,60,148,45); rectangle(5,110,595,70); rectangle(5,470,595,70); rectangle(5,470,80,70); rectangle(80,470,321,70); rectangle(321,470,458,70); rectangle(388,470,389,85); rectangle(458,470,595,70); rectangle(525,470,526,85); rectangle(321,85,595,70); setcolor(7); settextstyle(2,0,4); outtextxy(210,30,"Comprobante diario de contabilidad");
outtextxy(10,85,"CODIGO"); outtextxy(130,85,"DETALLE"); outtextxy(339,73,"PARCIALES"); outtextxy(476,73,"TOTALES"); settextstyle(12,0,1); outtextxy(323,92,"Debe"); outtextxy(461,92,"Debe"); outtextxy(392,92,"Haber"); outtextxy(529,92,"Haber"); settextstyle(2,0,3); outtextxy(86,48,diaf); outtextxy(107,48,mesf); outtextxy(130,48,a_of); int cl=0; if((ab = fopen("DIARIO.txt", "r+b"))==NULL) //por si hay error { printf("nERRRROR"); //exit(0); } fseek(ab, 0L, SEEK_END); reg=(int)ftell(ab)/sizeof(empresa_ventas2); rewind(ab); despyv=170; suma_total=0; suma_p=0; valor_mas_iva=0; valor_to=0; for(fil=0;fil<5;fil++) { col=10; cl=0; for (i=0; i<reg; i++) { fseek(ab, (i) *sizeof(empresa_ventas2), SEEK_SET); fread(&ptr2, sizeof(empresa_ventas2), 1, ab); itoa(ptr2.dia_venta2, string, 10); itoa(ptr2.mes_venta2, string1, 10); itoa(ptr2.a_o_venta2, string2, 10); itoa(ptr2.valor_venta2, string3, 10); itoa(ptr2.valor_iva, string4, 10); if((strcmpi(diaf,string)==0) && (strcmpi(mesf,string1)==0)) { if(strcmpi(ptr2.accion2,vent)==0) { if(fil==0&&cl==0) { cl=1; setcolor(7); settextstyle(2,0,4); outtextxy(15,despyv-10,"1305"); outtextxy(84,despyv-10,"CLIENTES"); } if(fil==2&&cl==0)
{ cl=1; setcolor(7); outtextxy(15,despyv-10,"2408"); outtextxy(84,despyv-10,"IVA POR PAGAR"); } if(fil==3&&cl==0) { cl=1; setcolor(7); outtextxy(15,despyv-10,"4135"); outtextxy(84,despyv-10,"COMERCIO AL POR MAYOR Y MENOR"); setcolor(15); outtextxy(15,despyv,"413540"); outtextxy(84,despyv,"Credito, facturas No."); } if(fil==0) { setcolor(15); settextstyle(2,0,4); outtextxy(15,despyv,"13050502"); outtextxy(84,despyv,ptr2.nombre_cliente); valor_mas_iva=ptr2.valor_venta2+ptr2.valor_iva; valor_to=valor_to+valor_mas_iva; itoa(valor_mas_iva,valor_mas_iva2, 10); outtextxy(323,despyv,valor_mas_iva2); suma_total=suma_total+ptr2.valor_venta2; despyv=despyv+12; } if(fil==2) { setcolor(15); settextstyle(2,0,4); outtextxy(15,despyv,"240810"); outtextxy(84,despyv,"Ventas credito"); outtextxy(391,despyv,string4); col=col+12; despyv=despyv+12; } }//de la accion de vender if(strcmpi(ptr2.accion2,comp)==0) { valor_mas_iva=0; if(fil==1&&cl==0) { cl=1; setcolor(7); settextstyle(2,0,4); outtextxy(15,despyv-10,"2205"); outtextxy(84,despyv-10,"PROVEEDORES NACIONALES"); } if(fil==4&&cl==0) { cl=1; setcolor(7); outtextxy(15,despyv-10,"6205"); outtextxy(84,despyv-10,"COMPRAS DE MERCANCIAS");
setcolor(15); outtextxy(15,despyv,"620505"); outtextxy(84,despyv,"Credito, factura No."); } if(fil==1) { setcolor(15); settextstyle(2,0,4); outtextxy(15,despyv,"220503"); outtextxy(84,despyv,ptr2.nombre_proveedor); valor_mas_iva=ptr2.valor_venta2; ltoa(valor_mas_iva,valor_mas_iva2, 10); outtextxy(391,despyv,valor_mas_iva2); suma_p=suma_p+valor_mas_iva; col=col+12; despyv=despyv+12; } }//de la accion de comprar }//del if de comparar la fecha } //acaba el segundo for con i if(cl==1) { if(fil==0) { ltoa(valor_to,valor_to2,10); outtextxy(463,160,valor_to2); despyv=despyv+20; } if(fil==1) { ltoa(suma_p,suma_p2,10); outtextxy(528,despyv-col,suma_p2); despyv=despyv+20; } if(fil==2) { iva_total=suma_total*iva; itoa(iva_total,iva_total2,10); outtextxy(528,despyv-col,iva_total2); despyv=despyv+20; } if(fil==3) { total_comercio=suma_total; ltoa(total_comercio,total_comercio2,10); outtextxy(392,despyv,total_comercio2); outtextxy(528,despyv,total_comercio2); despyv=despyv+20; } if(fil==4) { outtextxy(323,despyv,suma_p2); outtextxy(461,despyv,suma_p2); } }//para ver si entro en cl
} fclose(ab); /*strcpy(ptr3.articulo_venta2,art); strcpy(ptr3.codigo_venta2,cod); strcpy(ptr3.nombre_cliente,cliente); ptr3.cantidad_venta2=cant; ptr3.valor_venta2=total2; ptr3.valor_iva=tot*0.16; ptr3.dia_venta2=d.da_day; ptr3.a_o_venta2=d.da_year; ptr3.mes_venta2=d.da_mon;*/ getch(); } void listar(empresa ptr) { int i2,j2; int i, reg; int my1,mx1; int despy=80; char nn[50]; char string[50]; char string1[100]; char string2[20]; restorecrtmode(); clrscr(); for (i2=0; i2<90; i2++) { for (j2=0; j2<80; j2++) cprintf(" "); cprintf("rn"); textbackground(BLACK); } gotoxy(21,1);textcolor(15);cprintf("INGRESE NOMBRE DEL ARTICULO"); for(mx1=20;mx1<=50;mx1++) { gotoxy(mx1,2);textcolor(15);cprintf(""); gotoxy(mx1,4);textcolor(15);cprintf(""); } for(my1=2;my1<=4;my1++) { gotoxy(20,my1);textcolor(15);cprintf(""); gotoxy(50,my1);textcolor(15);cprintf(""); } gotoxy(20,2);textcolor(15);cprintf(""); gotoxy(20,4);textcolor(15);cprintf(""); gotoxy(50,2);textcolor(15);cprintf(""); gotoxy(50,4);textcolor(15);cprintf(""); _setcursortype(_NOCURSOR); cursor(22,3); gotoxy(22,3);textcolor(7);cprintf(" fflush(stdin); gotoxy(22,3);textcolor(7);scanf("%[^n]",nn);
");
fflush(stdin); setgraphmode(getgraphmode()); cleardevice(); FILE *ab; setcolor(15); rectangle(5,450,595,5); rectangle(50,450,230,5); rectangle(230,450,300,5); rectangle(397,450,595,5); rectangle(5,40,595,5); setcolor(7); settextstyle(12,0,1); outtextxy(8,20,"Cant"); outtextxy(111,20,"Articulo"); outtextxy(242,20,"Codigo"); outtextxy(315,20,"Valor"); outtextxy(415,20,"Proveedor"); if((ab = fopen("EMPRESA.txt", "r+b"))==NULL) //por si hay error { printf("nERRRROR"); exit(0); } fseek(ab, 0L, SEEK_END); reg=(int)ftell(ab)/sizeof(empresa); rewind(ab); despy=80; for (i=0; i<reg; i++) { fseek(ab, (i) *sizeof(empresa), SEEK_SET); fread(&ptr, sizeof(empresa), 1, ab); if((strncmpi(ptr.articulo,nn,strlen(nn))==0) && (strcmpi(ptr.gg,s i)==0)) { itoa(ptr.cantidad, string, 10); itoa(ptr.valor, string1, 10); settextstyle(2,0,4); outtextxy(8,despy,string); outtextxy(53,despy,ptr.articulo); outtextxy(233,despy,ptr.codigo); outtextxy(303,despy,string1); outtextxy(435,despy,ptr.provedor); despy=despy+10; } } fclose(ab); getch(); } void inventario(empresa ptr, empresa_ventas ptr2)
{ int i2,j2; int i, reg; int fil, reg2; int my1,mx1; int despy=80; int res=0; char nn[50]; char string[50]; char string1[100]; char string2[50]; char std[10],std2[10],std3[10]; int began=0; float res2=0, began2=0; char res2_string[100]; char val[100]; float began3=0; char val_unitario[100]; float compra1=0,compra2=0,compra3=0; char compra1_string[100],compra2_string[100],compra3_string[100]; restorecrtmode(); clrscr(); for (i2=0; i2<90; i2++) { for (j2=0; j2<80; j2++) cprintf(" "); cprintf("rn"); textbackground(BLACK); } gotoxy(21,1);textcolor(15);cprintf("INGRESE CODIGO DEL ARTICULO"); for(mx1=20;mx1<=50;mx1++) { gotoxy(mx1,2);textcolor(15);cprintf(""); gotoxy(mx1,4);textcolor(15);cprintf(""); } for(my1=2;my1<=4;my1++) { gotoxy(20,my1);textcolor(15);cprintf(""); gotoxy(50,my1);textcolor(15);cprintf(""); } gotoxy(20,2);textcolor(15);cprintf(""); gotoxy(20,4);textcolor(15);cprintf(""); gotoxy(50,2);textcolor(15);cprintf(""); gotoxy(50,4);textcolor(15);cprintf(""); _setcursortype(_NOCURSOR); cursor(22,3); fflush(stdin); gotoxy(22,3);textcolor(7);scanf("%[^n]",nn); fflush(stdin); setgraphmode(getgraphmode()); cleardevice(); FILE *ab, *vent_a; setcolor(15);
rectangle(1,450,630,5); rectangle(1,20,50,5); rectangle(1,35,630,5); rectangle(15,450,27,20); rectangle(50,450,205,5); rectangle(300,450,410,5); rectangle(410,450,520,5); rectangle(300,20,630,5); rectangle(300,450,340,20); rectangle(410,450,450,20); rectangle(520,450,560,20); setcolor(7); settextstyle(2,0,4); outtextxy(6,8,"Fecha"); outtextxy(4,24,"D"); outtextxy(17,24,"M"); outtextxy(32,24,"A"); outtextxy(108,20,"Detalle"); outtextxy(207,20,"Valor Unitario"); outtextxy(308,8,"Entradas"); outtextxy(418,8,"Salidas"); outtextxy(528,8,"Totales"); outtextxy(303,24,"Cant"); outtextxy(413,24,"Cant"); outtextxy(523,24,"Cant"); outtextxy(343,24,"Valor"); outtextxy(453,24,"Valor"); outtextxy(563,24,"Valor"); if((ab = fopen("EMPRESA.txt", "r+b"))==NULL) //por si hay error { printf("nERRRROR"); exit(0); } fseek(ab, 0L, SEEK_END); reg=(int)ftell(ab)/sizeof(empresa); rewind(ab); despy=50; for (i=0; i<reg; i++) { fseek(ab, (i) *sizeof(empresa), SEEK_SET); fread(&ptr, sizeof(empresa), 1, ab); if((strcmpi(ptr.codigo,nn)==0) && (strcmpi(ptr.gg,si)==0)) { began3=ptr.valor; began2=ptr.valor*ptr.cantidad2; began=ptr.cantidad2; i=reg; if((vent_a = fopen("VENTAS.txt", "r+b"))==NULL) //por si hay error { printf("nERRRROR"); exit(0); }
fseek(vent_a, 0L, SEEK_END); reg2=(int)ftell(vent_a)/sizeof(empresa_ventas); rewind(vent_a); for(fil=0;fil<reg2;fil++) { fseek(vent_a, (fil) *sizeof(empresa_ventas), SEEK_SET); fread(&ptr2, sizeof(empresa_ventas), 1, vent_a); if(strcmpi(ptr2.codigo_venta,nn)==0) { if(strcmpi(ptr2.accion,vent)==0)//Ventas { //gotoxy(1,80);printf("%.0f",began2); res=began-ptr2.cantidad_venta; res2=began2-ptr2.valor_venta; ltoa(ptr2.valor_venta,val, 10); itoa(res,string, 10); itoa(ptr2.cantidad_venta,string2, 10); itoa(began3,val_unitario, 10); ltoa(res2,res2_string, 10); setcolor(15); settextstyle(2,0,4); outtextxy(563,despy,res2_string); outtextxy(523,despy,string); outtextxy(452,despy,val); outtextxy(413,despy,string2); outtextxy(207,despy,val_unitario); itoa(ptr2.dia_venta,std, 10); itoa(ptr2.mes_venta,std2, 10); itoa(ptr2.a_o_venta,std3, 10); outtextxy(54,despy,ptr2.articulo_venta); outtextxy(3,despy,std); outtextxy(15,despy,std2); outtextxy(28,despy,std3); began=res; began2=res2; despy=despy+12; }//del if de saber si es una venta if(strcmpi(ptr2.accion,comp)==0)//Ventas { res=res+ptr2.cantidad_venta; res2=res2+(began3*ptr2.cantidad_venta); compra1=res2; compra2=began3*ptr2.cantidad_venta; compra3=res; ltoa(compra1,compra1_string, 10); ltoa(compra2,compra2_string, 10); itoa(compra3,compra3_string, 10); itoa(ptr2.cantidad_venta,string2, 10); itoa(began3,val_unitario, 10); setcolor(15); settextstyle(2,0,4); outtextxy(563,despy,compra1_string); outtextxy(523,despy,compra3_string);
outtextxy(343,despy,compra2_string); outtextxy(303,despy,string2); outtextxy(207,despy,val_unitario); itoa(ptr2.dia_venta,std, 10); itoa(ptr2.mes_venta,std2, 10); itoa(ptr2.a_o_venta,std3, 10); outtextxy(54,despy,ptr2.articulo_venta); outtextxy(3,despy,std); outtextxy(15,despy,std2); outtextxy(28,despy,std3); despy=despy+12; }//del if de saber si es una compra } }//para el for de las ventas } //del if despues de encontrarlo en la empresa } //del for fclose(ab); fclose(vent_a); getch(); } //LA OPCION DE PAPELERA void abb() { if(bb2<270) { setcolor(0); settextstyle(2,0,4); rectangle(bb2,280,bb2+40,268); bb2=bb2+60; setcolor(5); settextstyle(2,0,4); rectangle(bb2,280,bb2+40,268); } } void ar() { if(bb2>210) { setcolor(0); settextstyle(2,0,4); rectangle(bb2,280,bb2+40,268); bb2=bb2-60; setcolor(5); settextstyle(2,0,4); rectangle(bb2,280,bb2+40,268); } } void pon()
{ empresa pb; if(bb2==210) { confirmado=1; subpro(pb); main(); } if(bb2==270) { confirmado=0; main(); } } void delet(empresa ptr) { int i2,j2,my1,mx1; char nn[50]; char string[50]; char string1[50]; char bb; restorecrtmode(); clrscr(); for (i2=0; i2<90; i2++) { for (j2=0; j2<80; j2++) cprintf(" "); cprintf("rn"); textbackground(BLACK); } gotoxy(30,1);textcolor(15);cprintf("ARTICULO"); for(mx1=20;mx1<=50;mx1++) { gotoxy(mx1,2);textcolor(15);cprintf(""); gotoxy(mx1,4);textcolor(15);cprintf(""); } for(my1=2;my1<=4;my1++) { gotoxy(20,my1);textcolor(15);cprintf(""); gotoxy(50,my1);textcolor(15);cprintf(""); } gotoxy(20,2);textcolor(15);cprintf(""); gotoxy(20,4);textcolor(15);cprintf(""); gotoxy(50,2);textcolor(15);cprintf(""); gotoxy(50,4);textcolor(15);cprintf(""); _setcursortype(_NOCURSOR); cursor(22,3); fflush(stdin); fflush(stdin); gotoxy(22,3);textcolor(7);gets(nn); fflush(stdin); fflush(stdin);
strcpy(encontrado,nn); FILE *ab; int reg,i; if((ab = fopen("empresa.txt", "r+b"))==NULL) //por si hay error { printf("nERRRROR"); //exit(0); } fseek(ab, 0L, SEEK_END); reg=(int)ftell(ab)/sizeof(empresa); rewind(ab); //apuntamos al inicio del archivo for (i=reg3; i<reg; i++) { fseek(ab, (i) *sizeof(empresa), SEEK_SET); fread(&ptr, sizeof(empresa), 1, ab); if(( (strcmpi(ptr.codigo,nn)==0) && (strcmpi(ptr.gg,si)==0) ) || ( (strcmpi(ptr.articulo,nn)==0) && (strcmpi(ptr.gg,si)==0)) ) { setgraphmode(getgraphmode()); cleardevice(); setcolor(15); rectangle(5,200,595,5); rectangle(50,200,230,5); rectangle(230,200,300,5); rectangle(397,200,595,5); rectangle(5,50,595,5); setcolor(7); settextstyle(12,0,3); outtextxy(8,20,"Cant"); outtextxy(111,20,"Articulo"); outtextxy(242,20,"Codigo"); outtextxy(315,20,"Valor"); outtextxy(415,20,"Proveedor"); itoa(ptr.cantidad, string, 10); itoa(ptr.valor, string1, 10); setcolor(5); settextstyle(6,0,1); outtextxy(8,60,string); outtextxy(53,60,ptr.articulo); outtextxy(233,60,ptr.codigo); outtextxy(303,60,string1); outtextxy(410,60,ptr.provedor); setcolor(15); rectangle(190,300,420,230); setfillstyle(1,15); floodfill(193,233,15); bb2=210;
setcolor(0); settextstyle(2,0,4); outtextxy(192,240,"Confirme eliminar registro."); rectangle(210,280,250,268); rectangle(270,280,310,268); outtextxy(216,268,"Si"); outtextxy(276,268,"No"); setcolor(5); rectangle(210,280,250,268); fclose(ab); while(bb!=27) { bb=getch(); if(bb==77||bb==75||bb=='r') { if(bb==77) {bb=NULL; abb();} if(bb==75) {bb=NULL; ar();} if(bb=='r') {bb=NULL; pon();} } } if(bb==27) { main(); } } } } void subpro(empresa ptr) { FILE *ab; int i, reg; if((ab = fopen("empresa.txt", "r+b"))==NULL) //por si hay error { printf("nERRRROR"); //exit(0); } fseek(ab, 0L, SEEK_END); reg=(int)ftell(ab)/sizeof(empresa); rewind(ab); //apuntamos al inicio del archivo for (i=reg3; i<reg; i++) { fseek(ab, (i) *sizeof(empresa), SEEK_SET); fread(&ptr, sizeof(empresa), 1, ab); if( (strcmpi(encontrado,ptr.codigo)==0) || (strcmpi(encontrado,ptr .articulo)==0) ) {
fseek(ab, (i) *sizeof(empresa), SEEK_SET); printf("%sn",ptr.gg); strcpy(ptr.gg,no); printf("%sn",ptr.articulo); printf("%s",ptr.gg); fwrite(&ptr, sizeof(empresa), 1, ab); } //getch(); } } void estado_financiero(empresa_ventas2 ptr) { cleardevice(); int reg,i; float caja=0; float pasivo=0; float activo=0; float patrimonio=0; float totalpas=0; float totalpat=0; char totalpas2[100]; char t
este programa ensea a los nios a multiplicar tiene varias opciones k puedes escoger con las teclas direccionales y tiene varias funciones de colores k creo te van a interesar.!!!!!!""!OW=
#include <stdio.h> #include <iostream.h> #include <conio.h> #include <stdlib.h> #include <time.h> #include <windows.h> #include <dos.h> #include <math.h> #include <ctype.h> #define MAX 10 void void void void void void void void menu_opciones(int n,char *menu[],int *m); color1(); color2(); loading(int n); opciones(); instrucciones(); tituloa(); titulob();
void instrucciones(){ textbackground(BLACK); textcolor(CYAN); clrscr(); gotoxy(30,1);cprintf("Instrucciones"); gotoxy(30,2);cprintf("-------------"); getch();gotoxy(1,4);cprintf("1)Para poder desplazarte en las opciones utiliza las teclas direccionales."); getch();cout<<endl<<endl;cprintf("2)Para ingresar a alguna opcion prec iona enter."); getch();cout<<endl<<endl;cprintf("3)Cuando te hagan la pregunta 'desea s continuar' ingresa la letra s si es si y n si es no. "); getch();cout<<endl<<endl;cprintf("4)Puedes precionar cualquier tecla p ara continuar en los conceptos."); getch();cout<<endl<<endl;cprintf("5)Cuando ingreses a los ejercicios i ngresa primero la respuesta y luego precionas enter."); getch(); opciones(); } void color1() {textbackground(BLACK);textcolor(CYAN);} void color2() {textbackground(WHITE);textcolor(CYAN);} void loading(int n){ textcolor(CYAN);gotoxy(35,11);cprintf("CARGANDO"); for(int h=1;h<4;h++){ for(int i=5;i<67;i++) {gotoxy(i,24);cout<<" ";Sleep(n);} for(int j=66;j>4;j--) {gotoxy(j,24);cout<<" ";Sleep(n);} } textcolor(CYAN);gotoxy(35,11);cprintf(" ENTER "); color2();gotoxy(13,24);cprintf("NOTA: Usa las flechas direccionales pa ra desplazarte ");getch(); } void tituloa(){ color1(); clrscr(); gotoxy(30,1);cprintf("APRENDIENDO MATEMATICA"); gotoxy(30,2);cprintf("=========== =========="); gotoxy(10,5);cprintf("Elija la opcion:"); } void titulob(){ color1();
clrscr(); gotoxy(30,1);cprintf("APRENDIENDO A MULTIPLICAR"); gotoxy(30,2);cprintf("=========== = ==========="); gotoxy(10,5);cprintf("Elija la opcion:"); } void menu_opciones(int n, char *menu[], int *m){ int linea=0,tecla,p=5,a=7,posiciones[MAX]; for(int h=0;h<n;h++){ posiciones[h]=a;a=a+2; } do{color1(); for(int k=0;k<n;k++){ gotoxy(29,p=p+2);cprintf(menu[k]); } p=5; color2();gotoxy(29,posiciones[0+linea]);cprintf(menu[linea]); tecla=getch(); if(tecla==80){ if(linea<n-1) {linea++;} } else{ if(tecla==72){ if(linea>0) {linea--;} } } }while(tecla!=13); *m=linea; } void calculadora(){ char *menu[6]={"Suma","Resta","Multiplicacion","Divicion","Calculadora Cientifica","Salir"}; char c; int n1,n2,op; cout<<"a"; color1(); clrscr(); do{ clrscr(); gotoxy(30,1);cprintf("Calculadora Cientifica"); gotoxy(30,2);cprintf("=========== =========="); gotoxy(1,5);cprintf("numero[1]: "); cin>>n1;cout<<"a"; gotoxy(1,6);cprintf("numero[2]: "); cin>>n2;cout<<"a"; cout<<endl;cprintf("La suma es: ");cout<<(n1+n2); cout<<endl;cprintf("La resta es: ");cout<<(n1-n2); cout<<endl;cprintf("La multiplicacion es: ");cout<<(n1*n2); cout<<endl;cprintf("La divicion es: ");cout<<(n1/n2); cout<<endl;cprintf("El residuo es: ");cout<<(n1%n2); cout<<endl;cprintf("La potencia de %d",n1);cprintf(" elevado a %d",n2) ;cprintf(" es: ");cout<<pow(n1,n2); cout<<endl;cprintf("La raiz cuadrada de %d",n1);cprintf(" es: ");cout< <sqrt(float(n1));
cout<<endl;cprintf("La raiz cuadrada de %d",n2);cprintf(" es: ");cout< <sqrt(float(n2)); cout<<endl;cprintf("El seno de %d",n1);cprintf(" es: ");cout<<sin(n1); cout<<endl;cprintf("El seno de %d",n2);cprintf(" es: ");cout<<sin(n2); cout<<endl;cprintf("El coseno de %d",n1);cprintf(" es: ");cout<<cos(n1 ); cout<<endl;cprintf("El coseno de %d",n2);cprintf(" es: ");cout<<cos(n2 ); cout<<endl;cprintf("La tangente de %d",n1);cprintf(" es: ");cout<<tan( n1); cout<<endl;cprintf("La tangente de %d",n2);cprintf(" es: ");cout<<tan( n2); cout<<endl;cprintf("La cotangente de %d",n1);cprintf(" es: ");cout<<po w(tan(n1),-1); cout<<endl;cprintf("La cotangente de %d",n2);cprintf(" es: ");cout<<po w(tan(n2),-1); cout<<endl;cprintf("La secante de %d",n1);cprintf(" es: ");cout<<pow(c os(n1),-1); cout<<endl;cprintf("La secante de %d",n2);cprintf(" es: ");cout<<pow(c os(n2),-1); cout<<endl;cprintf("La cosecante de %d",n1);cprintf(" es: ");cout<<pow (sin(n1),-1); cout<<endl;cprintf("La cosecante de %d",n2);cprintf(" es: ");cout<<pow (sin(n2),-1); getch(); cout<<endl<<endl<<endl;do{cout<<endl;cprintf("Deseas continuar? [s] o [n]: "); cin>>c;cout<<"a";if(tolower(c)!='s' && tolower(c)!='n')cprintf("error" );}while(tolower(c)!='s' && tolower(c)!='n'); }while(tolower(c)=='s'); opciones(); } void opciones(){ char *menu[4]={"Instrucciones","Multiplicacion","Calculadora Cientific a","Salir"}; int op; tituloa(); menu_opciones(4,menu,&op); switch(op){ case 0: instrucciones();break; case 1: opciones_multiplicacion();break; case 2: calculadora();break; } } void opciones_multiplicacion(){ char *menu[6]={"Basico","Intermedio","Avanzado","Tabla de multiplicar" ,"Menu","Salir"}; int op; titulob(); menu_opciones(6,menu,&op); cout<<"a"; switch(op){ case 0:basico();break; case 1:intermedio();break; case 2:avansado();break;
case 3:multiplicar();break; case 4:opciones();break; } } void basico(){ char *menu[4]={"Ejercicios","Menu Multiplicacion","Menu","Salir"}; int op; textbackground(BLACK); textcolor(CYAN); clrscr(); gotoxy(33,1);cprintf("NIVEL BASICO"); gotoxy(33,2);cprintf("----- ------"); gotoxy(1,4);cprintf("Concepto:"); getch();gotoxy(9,5);cprintf("En esta fase aprenderemos a multiplicar d e una manera sencilla y eficaz."); getch();gotoxy(1,7);cprintf("Ejemplo:"); getch();gotoxy(9,10);cprintf("4*3=4+4+4=12"); getch();gotoxy(9,11);cprintf("3*4=3+3+3+3=12"); getch();gotoxy(1,13);cprintf("Nos damos cuenta que el resultado es 3 v eces la suma de 4 y lo contrario."); getch();gotoxy(1,14);cprintf("Ahora seguiremos con los ejercicios.");g etch();getch(); clrscr();gotoxy(10,5);cprintf("Elija la opcion:"); menu_opciones(4,menu,&op); cout<<"a"; switch(op){ case 0: ejerciciosb();break; case 1: opciones_multiplicacion();break; case 2: opciones();break; } } void ejerciciosb(){ int a,b,r,n,s=0; char c; do{ textcolor(BLUE); clrscr(); randomize(); a=random(99); b=random(10); cout<<endl<<endl<<endl; cprintf("%d",a);cprintf("*%d",b);cprintf("=");cin>>r; if(r==(a*b)){ cout<<endl;cprintf("Correcto pasa a la siguiente pregunta");n=4; } else{ cout<<endl;cprintf("aaaERROR");n=-1; } s=s+n; getch(); cout<<endl<<endl<<endl;do{cout<<endl;cprintf("Deseas continuar? [s] o [n]: "); cin>>c;cout<<"a";if(tolower(c)!='s' && tolower(c)!='n')cprintf("error" );}while(tolower(c)!='s' && tolower(c)!='n');
}while(tolower(c)=='s'); cprintf("Tu nota es: %d",s); opciones_multiplicacion(); } void intermedio(){ int op; char *menu[4]={"Ejercicios","Menu Multiplicacion","Menu","Salir"}; textbackground(BLACK); textcolor(CYAN); clrscr(); gotoxy(32,1);cprintf("NIVEL INTERMEDIO"); gotoxy(32,2);cprintf("----- ----------"); gotoxy(1,4);cprintf("Concepto:"); getch();gotoxy(10,5);cprintf("En esta fase aprenderemos a multiplicar de dos a mas cifras."); getch();gotoxy(1,7);cprintf("Ejemplo :"); gotoxy(30,10);cprintf("35");getch();gotoxy(30,11);cprintf("22");getch( );gotoxy(29,12);cprintf("----");gotoxy(33,10);cprintf("*"); getch();gotoxy(1,18);cprintf("Paso 1:Se multiplica comenzando del segu ndo numero de derecha a izquierda."); getch();gotoxy(31,13);cprintf("0"); getch();gotoxy(1,19);cprintf("Paso 2:La segunda cifra de los numeros m ultiplicados se lleva arriba."); getch();gotoxy(30,9);cprintf("1");getch();gotoxy(30,13);cprintf("7"); getch();gotoxy(1,20);cprintf("Paso 3:los resultados se coloca en el si guiente orden."); getch();gotoxy(30,14);cprintf("0");getch();gotoxy(30,8);cprintf("1");g etch();gotoxy(29,14);cprintf("7"); getch();gotoxy(28,15);cprintf("------"); getch();gotoxy(1,21);cprintf("Paso 4:Los numeros se suman en orden."); getch();gotoxy(29,16);cprintf("770"); getch();gotoxy(1,23);cprintf("Ahora seguiremos con los ejercicios asi que agarra lapiz y papel.");getch();getch(); clrscr();gotoxy(10,5);cprintf("Elija la opcion:"); menu_opciones(4,menu,&op); cout<<"a"; switch(op){ case 0: ejerciciosi();break; case 1: opciones_multiplicacion();break; case 2: opciones();break; } } void ejerciciosi(){ int a,b,r,n,s=0; char c; randomize(); srand(10); a=random(1000); b=random(99); do{ textcolor(BLUE); clrscr(); cprintf("%d",a);cprintf("*%d",b);cprintf("=");cin>>r; if(r==(a*b)){ cout<<endl;cprintf("Correcto pasa a la siguiente pregunta");n=4;
} else{ cout<<endl;cprintf("aaaERROR");n=-1; } s=s+n; getch(); cout<<endl<<endl<<endl;do{cout<<endl;cprintf("Deseas continuar? [s] o [n]: "); cin>>c;cout<<"a";if(tolower(c)!='s' && tolower(c)!='n')cprintf("error" );}while(tolower(c)!='s' && tolower(c)!='n'); }while(tolower(c)=='s'); cprintf("Tu nota es: %d",s); opciones_multiplicacion(); } void avansado(){ textbackground(BLACK); textcolor(CYAN); clrscr(); gotoxy(33,1);cprintf("NIVEL AVANZADO"); gotoxy(33,2);cprintf("----- --------"); gotoxy(1,4);cprintf("Concepto:"); getch();gotoxy(10,5);cprintf("En esta fase aprenderemos algunos trucos para multiplicar eficaz y mentalmente."); getch();gotoxy(1,8);cprintf("Multiplicando 2 numeros iguales:"); getch();gotoxy(33,10);cprintf("25*25="); getch();gotoxy(1,12);cprintf("Paso 1: Se multiplica 2 veces la segunda cifra del primer numero 5*5 y se colocaen la derecha asi."); getch();gotoxy(41,10);cprintf("5"); getch();gotoxy(1,14);cprintf("Paso 2: Si alguna cifra sobra se le suma a la siguiente operacion."); getch();gotoxy(1,15);cprintf("Paso 3: La siguiente operacion es multip licar 2*el primer numero y sumarlo con la cifra que lleva, si no lleva n i un numero entonces se deja asi nomas pero en este caso la operacion es (2*2*5)+2=22 y se lleva."); getch();gotoxy(40,10);cprintf("2"); getch();gotoxy(1,18);cprintf("Paso 4:Se multiplica 2 veces la primera cifra del primer numero 2*2 y si se sumacon lo que lleva caso contrario n o se su macon nada."); getch();gotoxy(39,10);cprintf("6"); getch();gotoxy(1,21);cprintf("Multiplicando 2 numeros diferentes:"); getch();gotoxy(33,23);cprintf("32*41="); getch();gotoxy(1,25);cprintf("Paso 1: Se multiplica la segunda cifra d e los dos numeros"); getch();gotoxy(42,23);cprintf("2"); getch();gotoxy(1,26);cprintf("Paso 2: Se multiplica los numeros intern os sumandose con los externos y con lo que se lleva asi (2*4)+(3*1)=11") ; getch();gotoxy(41,23);cprintf("1"); getch();gotoxy(1,28);cprintf("paso 3:Se multiplicala primera cifra de los dos numeros y sesuma con lo q se lleva en este caso 1."); getch();gotoxy(39,23);cprintf("13"); getch();gotoxy(1,31);cprintf("Muliplicando con multiplos de 10:"); getch();gotoxy(10,32);cprintf("1)cuando se multiplica con numeros sola mente se le aumenta ceros al costado."); getch();gotoxy(33,35);cprintf("23*100=2300"); getch();gotoxy(33,36);cprintf("45*1000=45000");
getch();gotoxy(10,38);cprintf("2)Si se multiplica con decimales se ava nza la coma."); getch();gotoxy(33,40);cprintf("477,89*100=4,7789"); getch();gotoxy(33,41);cprintf("0,4*10=4"); getch();gotoxy(1,43);cprintf("Ahora practica y dominaras a la perfecci on la multiplicacion."); getch();getch(); } void multiplicar(){ int i,n; char c; textcolor(BLUE); clrscr(); gotoxy(30,1);cprintf("TABLA DE MULTIPLICAR"); gotoxy(30,2);cprintf("----- -- -----------"); do{ clrscr(); gotoxy(1,4);cprintf("Ingrese un numero:"); cin>>n; cprintf("a"); for(i=1; i<13; i++){ cprintf("%d",n);cprintf("*%d",i);cprintf("=%d",(n*i));cout<<endl; } getch(); cout<<endl<<endl<<endl;do{cout<<endl;cprintf("Deseas continuar? [s] o [n]: "); cin>>c;cout<<"a";if(tolower(c)!='s' && tolower(c)!='n')cprintf("error ");}while(tolower(c)!='s' && tolower(c)!='n'); }while(tolower(c)=='s'); opciones_multiplicacion(); } void main(){ loading(10); opciones(); }