| 
	
		|  Autor | Tema: Calculadora hecha en C  (Leído 10,627 veces) |  
	| 
			| 
					
						| BatchianoISpyxolo 
								
								 Desconectado 
								Mensajes: 166
								
								
								
								
								
								   | 
 
@barnix456, bueno tú has insertado todo el código en un mismo archivo y funciona. Pero claro, si tienes programas de 10-20 mil líneas, la cosa se complica. La idea sería: funciones.h  /* Tipos de datos */ /* Encabezados de funciones públicas */ void restar(void);void multiplicar(void);void dividir(void);void potencia(void);void raiz_cuadrada(void);void seno(void);void coseno(void);void tangente(void);
 funciones.c  /* includes */ #include <stdio.h>#include <stdlib.h>#include <math.h> void sumar(void){    float num1, num2;	printf("\nIntroduzca los dos numeros a sumar: \n");	scanf("%f %f", &num1, & num2);    printf("\n%.2f", num1 +  num2);	return;}void restar(void){    float num1, num2;	printf("\nIntroduzca los dos numeros a restar: \n");	scanf("%f %f", &num1, & num2);	printf("\n%.2f", num1 -  num2);	return;}void multiplicar(void){    float num1, num2;	printf("\nIntroduzca los dos numeros a multiplicar: \n");	scanf("%f %f", &num1, & num2);	printf("\n%.2f", num1 *  num2);	return;}void dividir(void){    float num1, num2;	printf("\nIntroduzca los dos numeros a dividir: \n");	scanf("%f %f", &num1, & num2);	printf("\n%.2f", num1 /  num2);	return;}void potencia(void){    float num1, num2;	printf("\nIntroduzca la base: \n");	printf("Introduzca el exponente: \n");	return;}void raiz_cuadrada(void){    float num1;	printf("\nIntroduzca el numero: \n");	printf("La raiz cuadrada es: %.2f \n", sqrt(num1));	return;}void seno(void){    float num1;	printf("\nIntroduzca el numero: \n");	return;}void coseno(void){    float num1;	printf("\nIntroduzca el numero: \n");	return;}void tangente(void){    float num1;	printf("\nIntroduzca el numero: \n");	printf("La tangente es: %.2f \n", tan(num1));	return;}
 main.c #include <stdio.h>#include <stdlib.h>#include "funciones.h" // <- debe estar en el mismo dir o especificar ruta completa void main(){    int op;     printf("\t\tElija una opcion:\n\n");	printf("\t*********************************\n");	printf("\t*\t [1] Sumar\t\t*\n");	printf("\t*\t [2] Restar\t\t*\n");	printf("\t*\t [3] Multiplicar\t*\n");	printf("\t*\t [4] Dividir\t\t*\n");	printf("\t*\t [5] Potencia\t\t*\n");	printf("\t*\t [6] Raiz cuadrada\t*\n");	printf("\t*\t [7] Seno\t\t*\n");	printf("\t*\t [8] Coseno\t\t*\n");	printf("\t*\t [9] Tangente\t\t*\n");	printf("\t*\t [10] Salir\t\t*\n");	printf("\t*********************************\n\n"); 	switch (op) { 			case 1:				sumar();				break; 			case 2:				restar();				break; 			case 3:				multiplicar();				break; 			case 4:				dividir();				break; 			case 5:				potencia();				break; 			case 6:				raiz_cuadrada();				break; 			case 7:				seno();				break; 			case 8:				coseno();				break; 			case 9:				tangente();				break; 			case 10:				break; 			default:            printf("Ha elejido una opcion incorrecta\n");            break;	}} 
 La idea ahora sería compilar funciones.c como objeto. Es decir generar un fichero compilado, aunque no ejecutable. Usando gcc sería: gcc -c funciones.c -o funciones.oLo siguiente, compilar main.c junto con funciones.h como objeto: Usando gcc sería: gcc -c main.c funciones.h -o main.oFinalmente deberíamos generar el ejecutable final compilando los dos archivos objeto (funciones.o y main.o): Usando gcc sería: gcc main.o funciones.o -o ejecutable (En Windows .exe) Para agilizar la compilación en módulos se diseñan archivos makefile de tal manera que solo con ejecutar make, compilamos todo nuestro programa.
 
 |  
						| 
								|  |  
								| « Última modificación: 19 Febrero 2013, 20:12 pm por BatchianoISpyxolo » |  En línea | 
 
 |  |  |  | 
			| 
					
						| Caster | 
 
El dividir el programa en varios archivos es solo cuestion de comodidad, es costoso escribir muchas lineas en el mismo archivo, asi si divido el programa, a la hora de volver a tocar el codigo, cambiar cosas, depurarlo, etc me es mucho mas facil y comodo, y si dejo un tiempo el codigo apartado y quiero volver a verlo, conayuda de algunos coments y tenerlo dividido en archivo se hace mas rapido volver a entender el codigo.
 Saludos
 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| barnix456 
								
								 Desconectado 
								Mensajes: 128
								
								 
								El soft es como el sexo, cuando es Libre es mejor
								
								
								
								
								
								   | 
 
@BatchianoISpyxolo muchas gracias por la explicacion, la verdad como estoy empezando en esto, no sabia eso de dividir los programas en ese tipo de cosas, y eso de los makefiles tampoco... eso se ve muy interesante, y aparte es mas practico...    ahora, interante compilarlo de esa manera, una pregunta, para compilarlo de esa manera, asi por aparte, tiene que ser afuerza en la terminal, o tambien desde algun ide?? |  
						| 
								|  |  
								|  |  En línea | 
 
 "No temo a los ordenadores; lo que temo es quedarme sin ellos"
 Isaac Asimov
 |  |  |  | 
			| 
					
						| 0xDani 
								       
								
								 Desconectado 
								Mensajes: 1.077
								
								   | 
 
@BatchianoISpyxolo muchas gracias por la explicacion, la verdad como estoy empezando en esto, no sabia eso de dividir los programas en ese tipo de cosas, y eso de los makefiles tampoco... eso se ve muy interesante, y aparte es mas practico...    ahora, interante compilarlo de esa manera, una pregunta, para compilarlo de esa manera, asi por aparte, tiene que ser afuerza en la terminal, o tambien desde algun ide??No le temas a la terminal, no se come a nadie    |  
						| 
								|  |  
								|  |  En línea | 
 
 I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!
 I code for $$$
 Hago trabajos en C/C++
 Contactar por PM
 |  |  |  | 
			| 
					
						| barnix456 
								
								 Desconectado 
								Mensajes: 128
								
								 
								El soft es como el sexo, cuando es Libre es mejor
								
								
								
								
								
								   | 
 
jajaja buen punto, la verdad, tengo que empezar a meterle mano...!! |  
						| 
								|  |  
								|  |  En línea | 
 
 "No temo a los ordenadores; lo que temo es quedarme sin ellos"
 Isaac Asimov
 |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | Error con aplicacion hecha en vb en xp pro Programación Visual Basic
 | israelchris | 3 | 6,097 |  13 Diciembre 2003, 23:46 pm por israelchris
 |  
						|   |   | De que está hecha tu bufanda? Foro Libre
 | Debci | 4 | 4,855 |  31 Marzo 2011, 15:03 pm por Debci
 |  
						|   |   | Calculadora Hecha Por Mi :D Hechen un Vistazo! Scripting
 | LeoJ24 | 2 | 2,951 |  15 Enero 2013, 03:23 am por zonahurbana
 |  
						|   |   | Calculadora que acepta 100 dígitos. hecha en lenguaje C. Programación C/C++
 | NOB2014 | 3 | 3,825 |  13 Mayo 2016, 21:12 pm por AlbertoBSD
 |  
						|   |   | Videovigilancia: hecha la ley, hecha la trampa Noticias
 | wolfbcn | 1 | 2,199 |  19 Mayo 2018, 13:04 pm por buite
 |    |