| 
	
		|  Autor | Tema: [Solucionado] Insertar función en codigo  (Leído 4,595 veces) |  
	| 
			| 
					
						| tonilogar 
								
								 Desconectado 
								Mensajes: 55
								
								
								
								
								
								   | 
 
Este es el código de error que aparece, cuando intento añadir una función al código.K:\programacion\c++\pepeluis03\pepeluisFuente.cpp||In function 'int main()':| K:\programacion\c++\pepeluis03\pepeluisFuente.cpp|13|error: 'EntraDatos' was not declared in this scope| ||=== Build finished: 1 errors, 0 warnings ===| Función que quiero añadir: De esta forma la función me funciona “valga la redundancia” correctamente.void EntraDatos(){ //Variable de funciónstring fichero; do{cout << "entra datos";cout << endl<< endl;getline (cin,fichero); }while (fichero.length()!=0);//Cuando fichero sea diferente a 0 sigue preguntando  [color=navy]He creado la función por separado con el fichero header:[/color] #include <iostream>#include <string>#include <fstream>using namespace std; void EntraDatos(); [color=navy]Con el fichero de las funciones.[/color]# include <iostream>#include <string>#include <fstream>#include <K:\programacion\c++\pepeluis03\pepeluis.h>using namespace std; void EntraDatos(){//Variable de funciónstring fichero; do{cout << "entra datos";cout << endl<< endl;getline (cin,fichero); }while (fichero.length()!=0);//Cuando fichero sea diferente a 0 sigue preguntando [color=navy]Y el fichero con la función main:[/color]  #include <iostream>#include <string>#include <fstream>using namespace std;#include <E:\usuaris\a.lopez.g\programacion\c++\pepeluis03\pepeluis.h>   int main(){ EntraDatos();  cin.get();return 0;} 
 
 Pero cuando la inserto en este código me sale el error antes comentado.Fichero Header:
 //pepeluis.h
 Fichero de la función main:#include <iostream>#include <string>#include <fstream>using namespace std; string MenuPreguntas(); string ConversorImagenes(); string ImagenesTransformar(); void EntraDatos(); [color=navy]Fichero de funciones://pepeluis.cpp[/color] #include <iostream>#include <string>#include <fstream>using namespace std; //CUERPO DE FUNCION//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// string MenuPreguntas(){//VARIABLES DE FUNCION/////////////////////////////////////////////////////////////////////////string Elegir;      while (Elegir!="1" && Elegir!="2" && Elegir!="3" && Elegir!="4" && Elegir!="5" && Elegir!="q") {		cout << endl << endl;        cout << "-----TRIAR SOFTWAREA A UTILITZAR" << endl << endl;        cout << "1: Conversor d'imatges" << endl<< endl;        cout << "2: Crear, tallar mosaics" << endl<< endl;        cout << "3: Buscar, renombrar, copiar, esborrar, moure fitxers" << endl<< endl;		cout << "4: Mapa de diferencies" << endl<< endl;		cout << "5: Treballar amb canals" << endl<< endl;		cout << "Q: Sortir de l'aplicacio" << endl<< endl;        cout << "Seleciona opcion :"<< endl<< endl;        cin >> Elegir;	    if (Elegir == "Q") Elegir="q"; //Si la opcion elegida es Q(mayuscula) pasarla a q(minuscula). 		else if (Elegir!="1" && Elegir!="2" && Elegir!="3" && Elegir!="4" && Elegir!="5" && Elegir!="q") cout << endl << "-----LA SELECCIO ES ERRONEA";}	cout<< endl;	cout<< endl;	return Elegir;}    //CUERPO DE FUNCION//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// string ConversorImagenes(){//VARIABLES DE FUNCION/////////////////////////////////////////////////////////////////////////string Elegir;      while (Elegir!="1" && Elegir!="2" && Elegir!="3"&&  Elegir!="a" && Elegir!="q") {		cout << endl << endl;		cout << "-----coversor .RF .TIF .JPG" << endl << endl;        cout << "-----TRIAR OPCIO" << endl << endl;        cout << "1: Seleccionar imatges" << endl<< endl;        cout << "2: Seleccionar llistat d'imatges" << endl<< endl;		cout << "3: Seleccionar directori on es troben les imatges a transformar" << endl<< endl;		cout << "A: Tornar al menu anterior" << endl<< endl;		cout << "Q: Sortir de l'aplicacio" << endl<< endl;        cout << "Seleciona opcion :"<< endl<< endl;        cin >> Elegir;	    if (Elegir == "Q") Elegir="q"; //Si la opcion elegida es Q(mayuscula) pasarla a q(minuscula).		else if (Elegir == "A") Elegir="a"; //Si la opcion elegida es A(mayuscula) pasarla a a(minuscula).		else if (Elegir!="1" && Elegir!="2" && Elegir!="3" && Elegir!="a" && Elegir!="q") cout << endl << "-----LA SELECCIO ES ERRONEA";}	cout<< endl;	cout<< endl;	return Elegir;}   //CUERPO DE FUNCION////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EntraDatos(){  //VARIABLES DE FUNCION/////////////////////////////////////////////////////////////////////////string fichero;  do{cout << "entra datos";cout << endl<< endl;getline (cin,fichero); }while (fichero.length()!=0); } 
 
 pepeluisFuente.cpp
 He probado mil triquiñuelas y no se que es lo que pasa, según el error la función no está declarada ¿norrrrr?#include <iostream>#include <string>#include <fstream>#include <K:\programacion\c++\pepeluis02\pepeluis.h>using namespace std;string VariableMenuPreguntas;string VariableConversorImagenes;   int main(){EntraDatos();VariableMenuPreguntas=MenuPreguntas(); if (VariableMenuPreguntas == "1") VariableConversorImagenes=ConversorImagenes();else if (VariableMenuPreguntas == "2") cout << "VariableMenuPreguntas 2";else if (VariableMenuPreguntas == "3") cout << "VariableMenuPreguntas 3";else if (VariableMenuPreguntas == "4") cout << "VariableMenuPreguntas 4";else if (VariableMenuPreguntas == "5") cout << "VariableMenuPreguntas 5";   if (VariableConversorImagenes == "1") cout << "VariableConversorImagenes 1";else if (VariableConversorImagenes == "2") cout << "VariableConversorImagenes 2";else if (VariableConversorImagenes == "3") cout << "VariableConversorImagenes 3";else if (VariableConversorImagenes == "4") cout << "VariableConversorImagenes 4";else if (VariableConversorImagenes == "5") cout << "VariableConversorImagenes 5";else if (VariableConversorImagenes == "a") cout << "VariableConversorImagenes a";  return 0; } 
 
 Un saludo y gracias por vuestro tiempo.
 
 
 |  
						| 
								|  |  
								| « Última modificación:  9 Junio 2011, 00:35 am por tonilogar » |  En línea | 
 
 No porque discrepe de tu opinión intento ofenderte.
 Un saludo a todos y gracias por vuestro tiempo.
 |  |  |  | 
			| 
					
						| Queta 
								
								 Desconectado 
								Mensajes: 267
								
								   | 
 
Antes de todo, veo que tienes los archivos .cpp y .h en diferentes carpetas y cosas por el estilo; sería bueno que los pusieras todos en una misma, así no tendrías que entrar toda la ruta y bueno, lógicamente, es un tema de organización y rapidez. Tu error es simple: en el código principal incluyes el archivo de cabecera entre los signos <> y lo debes hacer entre comillas dobles (http://en.wikipedia.org/wiki/Header_file ). Y ya como plus extra, no hace falta incluir las librerías en esta cabecera, solamente en los .cpp.
 
 |  
						| 
								|  |  
								| « Última modificación: 31 Mayo 2011, 14:25 pm por Queta » |  En línea | 
 
 "Intenta no volverte un hombre de éxito, sino volverte un hombre de valor." Albert Einstein. |  |  |  | 
			| 
					
						| tonilogar 
								
								 Desconectado 
								Mensajes: 55
								
								
								
								
								
								   | 
 
Gracias Queta, esta noche pruebo y comento.
 Un saludo.
 |  
						| 
								|  |  
								|  |  En línea | 
 
 No porque discrepe de tu opinión intento ofenderte.
 Un saludo a todos y gracias por vuestro tiempo.
 |  |  |  | 
			| 
					
						| tonilogar 
								
								 Desconectado 
								Mensajes: 55
								
								
								
								
								
								   | 
 
Como decía Queta los includes al fichero de cabecera y al fichero de las definiciones de función, estaban mal.
 A parte que algún que otro despropósito del código.
 
 Aquí dejo el código con la funciona en su sitio.Fichero header:
 #ifndef PROYECTOBASE_HPP_INCLUDED//Codigo del editor code::blocks #define PROYECTOBASE_HPP_INCLUDED//Codigo del editor code::blocks //Declaracion de funciones Fichero definición de funcionesstring MenuPreguntas(); string ConversorImagenes(); void EntraDatos(); #endif // PROYECTOBASE_HPP_INCLUDED//Codigo del editor code::blocks 
 Fichero main//CUERPO DE FUNCION//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// string MenuPreguntas(){//VARIABLES DE FUNCION/////////////////////////////////////////////////////////////////////////string Elegir;      while (Elegir!="1" && Elegir!="2" && Elegir!="3" && Elegir!="4" && Elegir!="5" && Elegir!="q") {		cout << endl << endl;        cout << "-----TRIAR SOFTWAREA A UTILITZAR" << endl << endl;        cout << "1: Conversor d'imatges" << endl<< endl;        cout << "2: Crear, tallar mosaics" << endl<< endl;        cout << "3: Buscar, renombrar, copiar, esborrar, moure fitxers" << endl<< endl;		cout << "4: Mapa de diferencies" << endl<< endl;		cout << "5: Treballar amb canals" << endl<< endl;		cout << "Q: Sortir de l'aplicacio" << endl<< endl;        cout << "Seleciona opcion :"<< endl<< endl;        cin >> Elegir;	    if (Elegir == "Q") Elegir="q"; //Si la opcion elegida es Q(mayuscula) pasarla a q(minuscula). 		else if (Elegir!="1" && Elegir!="2" && Elegir!="3" && Elegir!="4" && Elegir!="5" && Elegir!="q") cout << endl << "-----LA SELECCIO ES ERRONEA";}	cout<< endl;	cout<< endl;	return Elegir;} //CUERPO DE FUNCION//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// string ConversorImagenes(){//VARIABLES DE FUNCION/////////////////////////////////////////////////////////////////////////string Elegir;      while (Elegir!="1" && Elegir!="2" && Elegir!="3"&&  Elegir!="a" && Elegir!="q") {		cout << endl << endl;		cout << "-----coversor .RF .TIF .JPG" << endl << endl;        cout << "-----TRIAR OPCIO" << endl << endl;        cout << "1: Seleccionar imatges" << endl<< endl;        cout << "2: Seleccionar llistat d'imatges" << endl<< endl;		cout << "3: Seleccionar directori on es troben les imatges a transformar" << endl<< endl;		cout << "A: Tornar al menu anterior" << endl<< endl;		cout << "Q: Sortir de l'aplicacio" << endl<< endl;        cout << "Seleciona opcion :"<< endl<< endl;        cin >> Elegir;	    if (Elegir == "Q") Elegir="q"; //Si la opcion elegida es Q(mayuscula) pasarla a q(minuscula).		else if (Elegir == "A") Elegir="a"; //Si la opcion elegida es A(mayuscula) pasarla a a(minuscula).		else if (Elegir!="1" && Elegir!="2" && Elegir!="3" && Elegir!="a" && Elegir!="q") cout << endl << "-----LA SELECCIO ES ERRONEA";}	cout<< endl;	cout<< endl;	return Elegir;}   //CUERPO DE FUNCION////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EntraDatos(){  //VARIABLES DE FUNCION/////////////////////////////////////////////////////////////////////////string fichero;  do{cout << "entra datos";cout << endl<< endl;getline (cin,fichero); }while (fichero.length()!=0);cout << endl<< endl;cout << fichero;} 
 Y ahora a seguir con el programática.#include <iostream>#include <string>#include <fstream>using namespace std;#include "ProyectoBase.hpp"//Fichero header#include "ProyectoBase.cpp" //Fichero de funciones //Variablesstring VariableMenuPreguntas;string VariableConversorImagenes; int main(){    VariableMenuPreguntas=MenuPreguntas(); if (VariableMenuPreguntas == "1") VariableConversorImagenes=ConversorImagenes();else if (VariableMenuPreguntas == "2") cout << "VariableMenuPreguntas 2";else if (VariableMenuPreguntas == "3") cout << "VariableMenuPreguntas 3";else if (VariableMenuPreguntas == "4") cout << "VariableMenuPreguntas 4";else if (VariableMenuPreguntas == "5") cout << "VariableMenuPreguntas 5"; if (VariableConversorImagenes == "1") EntraDatos();else if (VariableConversorImagenes == "2") cout << "VariableConversorImagenes 2";else if (VariableConversorImagenes == "3") cout << "VariableConversorImagenes 3";else if (VariableConversorImagenes == "4") cout << "VariableConversorImagenes 4";else if (VariableConversorImagenes == "5") cout << "VariableConversorImagenes 5";     cin.get();    return 0; 
 
 Gracias por vuestro tiempo y ayuda.
 |  
						| 
								|  |  
								| « Última modificación:  9 Junio 2011, 00:37 am por tonilogar » |  En línea | 
 
 No porque discrepe de tu opinión intento ofenderte.
 Un saludo a todos y gracias por vuestro tiempo.
 |  |  |  | 
			| 
					
						| tonilogar 
								
								 Desconectado 
								Mensajes: 55
								
								
								
								
								
								   | 
 
Pues de nuevo con el getline.
 La ultima función "void ImagenEntrada();".
 
 Lo único que hace es pedir que entre datos y cuando tecleo return  sale del while.
 Probando en un fichero separado va perfecto.
 Pero a la que lo adjunto en un fichero con mas código.#include <iostream>#include <string>#include <fstream>using namespace std; int main(){string fichero;  do{cout << "entra datos";cout << endl<< endl;getline (cin,fichero); }while (fichero.length()!=0);  cin.get();return 0;} 
 
 Cuando entro el primer dato me echa del programa.
 
 Por lo que leído el buffer del cin se queda con algún dato, y tengo que borrar el buffer.
 ¿me equivoco?
 
 Lo he intentado con flush, ignore, cleaner etc pero no logro dar con el código correcto.
 
 Estoy equivocado y no tiene que ver el buffer de cin.
 
 Aquí dejo el código.Fichero header:
 Fichero definición de funciones#ifndef PROYECTOBASE_HPP_INCLUDED//Codigo del editor code::blocks#define PROYECTOBASE_HPP_INCLUDED//Codigo del editor code::blocks //Declaracion de funciones string MenuPreguntas(); string ConversorImagenes(); void EntraDatos(); #endif // PROYECTOBASE_HPP_INCLUDED//Codigo del editor code::blocks 
 Fichero main//CUERPO DE FUNCION//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// string MenuPreguntas(){//VARIABLES DE FUNCION/////////////////////////////////////////////////////////////////////////string Elegir;      while (Elegir!="1" && Elegir!="2" && Elegir!="3" && Elegir!="4" && Elegir!="5" && Elegir!="q") {      cout << endl << endl;        cout << "-----TRIAR SOFTWAREA A UTILITZAR" << endl << endl;        cout << "1: Conversor d'imatges" << endl<< endl;        cout << "2: Crear, tallar mosaics" << endl<< endl;        cout << "3: Buscar, renombrar, copiar, esborrar, moure fitxers" << endl<< endl;      cout << "4: Mapa de diferencies" << endl<< endl;      cout << "5: Treballar amb canals" << endl<< endl;      cout << "Q: Sortir de l'aplicacio" << endl<< endl;        cout << "Seleciona opcion :"<< endl<< endl;        cin >> Elegir;       if (Elegir == "Q") Elegir="q"; //Si la opcion elegida es Q(mayuscula) pasarla a q(minuscula).       else if (Elegir!="1" && Elegir!="2" && Elegir!="3" && Elegir!="4" && Elegir!="5" && Elegir!="q") cout << endl << "-----LA SELECCIO ES ERRONEA";}   cout<< endl;   cout<< endl;   return Elegir;} //CUERPO DE FUNCION//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// string ConversorImagenes(){//VARIABLES DE FUNCION/////////////////////////////////////////////////////////////////////////string Elegir;      while (Elegir!="1" && Elegir!="2" && Elegir!="3"&&  Elegir!="a" && Elegir!="q") {      cout << endl << endl;      cout << "-----coversor .RF .TIF .JPG" << endl << endl;        cout << "-----TRIAR OPCIO" << endl << endl;        cout << "1: Seleccionar imatges" << endl<< endl;        cout << "2: Seleccionar llistat d'imatges" << endl<< endl;      cout << "3: Seleccionar directori on es troben les imatges a transformar" << endl<< endl;      cout << "A: Tornar al menu anterior" << endl<< endl;      cout << "Q: Sortir de l'aplicacio" << endl<< endl;        cout << "Seleciona opcion :"<< endl<< endl;        cin >> Elegir;       if (Elegir == "Q") Elegir="q"; //Si la opcion elegida es Q(mayuscula) pasarla a q(minuscula).      else if (Elegir == "A") Elegir="a"; //Si la opcion elegida es A(mayuscula) pasarla a a(minuscula).      else if (Elegir!="1" && Elegir!="2" && Elegir!="3" && Elegir!="a" && Elegir!="q") cout << endl << "-----LA SELECCIO ES ERRONEA";}   cout<< endl;   cout<< endl;   return Elegir;}   //CUERPO DE FUNCION////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void EntraDatos(){  //VARIABLES DE FUNCION/////////////////////////////////////////////////////////////////////////string fichero;  do{cout << "entra datos";cout << endl<< endl;getline (cin,fichero); }while (fichero.length()!=0);cout << endl<< endl;cout << fichero;} 
 Un saludo y gracias por vuestro tiempo.#include <iostream>#include <string>#include <fstream>using namespace std;#include "ProyectoBase.hpp"//Fichero header#include "ProyectoBase.cpp" //Fichero de funciones //Variablesstring VariableMenuPreguntas;string VariableConversorImagenes; int main(){    VariableMenuPreguntas=MenuPreguntas(); if (VariableMenuPreguntas == "1") VariableConversorImagenes=ConversorImagenes();else if (VariableMenuPreguntas == "2") cout << "VariableMenuPreguntas 2";else if (VariableMenuPreguntas == "3") cout << "VariableMenuPreguntas 3";else if (VariableMenuPreguntas == "4") cout << "VariableMenuPreguntas 4";else if (VariableMenuPreguntas == "5") cout << "VariableMenuPreguntas 5"; if (VariableConversorImagenes == "1") EntraDatos();else if (VariableConversorImagenes == "2") cout << "VariableConversorImagenes 2";else if (VariableConversorImagenes == "3") cout << "VariableConversorImagenes 3";else if (VariableConversorImagenes == "4") cout << "VariableConversorImagenes 4";else if (VariableConversorImagenes == "5") cout << "VariableConversorImagenes 5";     cin.get();    return 0; 
 |  
						| 
								|  |  
								| « Última modificación:  9 Junio 2011, 00:40 am por tonilogar » |  En línea | 
 
 No porque discrepe de tu opinión intento ofenderte.
 Un saludo a todos y gracias por vuestro tiempo.
 |  |  |  | 
			| 
					
						| tonilogar 
								
								 Desconectado 
								Mensajes: 55
								
								
								
								
								
								   | 
 
Arreglado.Mira que era sencillo.
 Poco a poco
 /CUERPO DE FUNCION////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void ImagenEntrada(){std::cin.ignore(); //VARIABLES DE FUNCION/////////////////////////////////////////////////////////////////////////string fichero;  do{cout << "entra datos";cout << endl<< endl;getline (cin,fichero); }while (fichero.length()!=0); } 
 Un saludo a todos |  
						| 
								|  |  
								| « Última modificación:  9 Junio 2011, 00:41 am por tonilogar » |  En línea | 
 
 No porque discrepe de tu opinión intento ofenderte.
 Un saludo a todos y gracias por vuestro tiempo.
 |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | Ollydbg... ¿Como insertar un codigo? Ingeniería Inversa
 | >FedeX< | 5 | 4,736 |  30 Enero 2007, 01:12 am por karmany
 |  
						|   |   | una ayuda para insertar codigo Programación Visual Basic
 | Sai-To | 2 | 2,052 |  25 Febrero 2008, 12:43 pm por ~~
 |  
						|   |   | Insertar pequeña función en este código Programación C/C++
 | Soir | 2 | 2,745 |  30 Agosto 2010, 15:23 pm por MazarD
 |  
						|   |   | Insertar codigo dentro de una sección del crypter Análisis y Diseño de Malware
 | lucasluks1004 | 4 | 4,412 |  25 Agosto 2011, 03:43 am por lucasluks1004
 |  
						|   |   | Insertar iframe seleccionando porcion de codigo de la web a mostrar Desarrollo Web
 | Graphixx | 1 | 3,622 |  20 Abril 2012, 14:33 pm por EFEX
 |    |