Dev - C++ - Ayuda con funciones en C++. Pregunta básica.

 
Vista:
sin imagen de perfil
Val: 6
Ha disminuido su posición en 6 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda con funciones en C++. Pregunta básica.

Publicado por Manuel (4 intervenciones) el 10/10/2017 20:07:34
Hola comunidad, hace semanas estoy luchando con un código tan básico que me duele la cabeza ya.
Resulta que, he visto un tutorial de C++, donde las funciones se llaman en Main, y dichas funciones son declaradas debajo.

Esto en el tutorial funciona, pero cuando yo lo quiero hacer me tira error porque main no las encuentra, y me dice que no están declaradas (Supongo que porque están abajo).

Y si pongo a main debajo de las funciones declaradas, no puedo mandarle a la segunda funcion el valor que me retorna la primera, porque el trabajo de igualar una variable, al retorno de la primera función, se hace en el programa principal.

No sé que hacer, realmente me sentía super motivado con la programación, pero esto me está volando la cabeza!

Espero puedan ayudarme. El código es muy largo, por eso no lo comparto, pero doy una breve explicación.

Es una carga de struct con 20 clientes (Nombre, DNI, Producto, Precio, Tipo de pago) donde Ingreso e Impresión son funciones diferentes.
Main ejecutaría a las dos dependiendo de la opción que elija el cliente, Ingresar, o Imprimir lo ingresado hasta ahora. La primera retorna un valor c, que es un contador de los clientes que se van ingresando. Ese mismo c es usado como parámetro en la función de impresión, donde un For: for(i=0 ; i<=c ; i++) Imprimirá los datos desde el primer cliente, hasta el último ingresado en la función Ingreso. Este número c es el que retorna la función de ingreso.

Me tira dos errores, el primero: "c" was not declared in this scope, apuntando hacia el For de la función Impresion (El que escribi arriba).

Y el segundo error, que seguro es un error basico porque siempre me pasa:
Expected "," or ";" before "{" token.

Gracias por leer. Saludos cordiales.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Dionicio
Val: 168
Ha aumentado 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

re: Ayuda con funciones en C++. Pregunta básica.

Publicado por Dionicio (57 intervenciones) el 10/10/2017 20:57:52
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include<iostream>
 
using namespace std;
 
struct Cliente{
	string nombre;
}misClientes[2];
//variable de clientes(es mala práctica usar variables globales) es mejor pasar las variables como parametros en las  funciones
//Cuando aprendas más sobre funciones quiero que lo tomes en cuenta
 
//Se declaran los prototipos de las funciones para que el compilador sepa que existen en el código
//Luego de esto puedes trabajar sin problemas
int miFuncionIngreso();
void miFuncionImprimir(int nClientes);
 
int main()
{
	int numero_clientes = 0;//Alamacenará lo que devuelva la funciond de ingreso
 
	numero_clientes = miFuncionIngreso();
 
	miFuncionImprimir(numero_clientes);
 
	return 0;
}
 
int miFuncionIngreso()
{
	int numClientes = 2;//Sustituto de "c", es mas claro, puse 2 para hacer el ejemplo más corto
	int i;
	char clienteNombre[40];
 
	//insertara tantos clientes pongas en numClientes
	for(i = 0; i < numClientes; i++){
 
		cout<<"Ingresa el nombre del cliente "<<i+1<<": ";
		cin.getline(clienteNombre,40,'\n');
		misClientes[i].nombre = clienteNombre;
	}
 
 
	return i;//Deverias de volver i que es el contador y es el que cuenta en el bucle
}
void miFuncionImprimir(int nClientes)
{
	cout<<endl<<"Los clientes son: "<<endl;
	for(int i = 0; i < nClientes; i++){
 
		cout<<misClientes[i].nombre<<endl;
	}
}

Pues en el código básicamente lo que necesitas declarar las definiciones de la funciones antes de la función main, hay más formas pero esta es la mejor.

Este código es un ejemplo de como usarías las funciones en tu programa, es un ejemplo de como implementar funciones. Si tienes más dudas, no dudes en comentar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 6
Ha disminuido su posición en 6 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

re: Ayuda con funciones en C++. Pregunta básica.

Publicado por Manuel (4 intervenciones) el 10/10/2017 21:15:51
Muchas gracias, valoro mucho que te tomes el tiempo en darme ese empujoncito que me faltaba.
Error mio muy tonto en no saber declarar el prototipo de la función, pasa que vengo de Python y allí es diferente ya que no hay una función principal como aquí.
Saludos cordiales!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar