Dev - C++ - Error de compilación

   
Vista:

Error de compilación

Publicado por Pablo marinico1987@hotmail.com (2 intervenciones) el 12/12/2014 13:27:35
Buenas agradecería si alguien me puede decir por que me da el siguiente error:[u]


estructuras.c: In function ‘void mostrar_menu(int)’:
estructuras.c:50:30: error: expected primary-expression before ‘)’ token
toma_de_datos(lista_alumnos);
^
estructuras.c:54:37: error: expected primary-expression before ‘)’ token
salida_de_datos(lista_alumnos);
^
Aqui dejo el programa


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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include<iostream>
using namespace std;
 
const char MAX_ASIGNATURA=15;//Constantes
const char MAX_NOMBRE=50;
const int MAX_ALUMNOS=20;
 
typedef struct{//Estructura.
  int codigo;//Variables que hay dentro de la estructura.
  char nombre[MAX_NOMBRE];//Creo un array con la capacidad de MAX_NOMBRE.
  char asignatura[MAX_ASIGNATURA];
  float nota;
}alumno;//Tipo de variable(int,char,float...)
 
 
typedef alumno lista_alumnos[MAX_ALUMNOS];//Declaro la variable lista_alumnos del tipo alumno.
 
void toma_de_datos(alumno &lista_alumnos)//Módulo que recoje los datos.
 {
 
cout<<"Introduce un codigo"<<endl;
cin>>lista_alumnos.codigo;//Lo introducido se almacena dentro de lista_alumnos en la parte de código.
cin.ignore();//Esto hace que ignore el valor anterior.
cout<<"Introduce un nombre"<<endl;
cin.getline(lista_alumnos.nombre,MAX_NOMBRE);
cout<<"Introduce una asignatura"<<endl;
cin.getline(lista_alumnos.asignatura,MAX_NOMBRE);
cout<<"Introduce una nota"<<endl;
cin>>lista_alumnos.nota;
 
 }
 
void salida_de_datos(alumno &lista_alumnos)//Módulo que muestra en pantalla mis datos almacenados.
{
 
  int i=0;
  for(i=0;i<MAX_ALUMNOS;i++){
			    }
}
 
void mostrar_menu(int opcion)
{
 
 
  while(opcion<1||opcion>3){
      cout<<"Introduce una opcion"<<endl;
      cin>>opcion;
			}
      if(opcion=1){
	 toma_de_datos(lista_alumnos);
		  }
 
      else if(opcion=2){
	      salida_de_datos;
			}
      else{
 
	  }
}
main(){
  int opcion;
 
  alumno lista_alumnos[MAX_ALUMNOS];
 
  mostrar_menu(opcion);
 
}
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

Error de compilación

Publicado por Jose Manuel (30 intervenciones) el 12/12/2014 16:00:00
Así a ojo y sin mirar mucho...

Si eso es C++...

1
2
3
4
5
6
if(opcion=1){
	 toma_de_datos(lista_alumnos);
		  }
 
      else if(opcion=2){
	      salida_de_datos;

Debería ser:

1
2
3
4
5
6
if(opcion==1){
	 toma_de_datos(lista_alumnos);
		  }
 
      else if(opcion==2){
	      salida_de_datos;

El operador de igualdad es "==", no "="
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

Error de compilación

Publicado por Pablo (2 intervenciones) el 13/12/2014 18:18:05
Muchas gracias pero me sigue dando el mismo error
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
Imágen de perfil de vangodp

Error de compilación

Publicado por vangodp (287 intervenciones) el 12/12/2014 18:10:16
http://codepad.org/qm1JGwRW
Mira... No te voy arreglar el programa mesmo por que no se que es lo que quieres hacer exactamente.
Te dejo el código comentado sobre unos puntos que creo que son importantes que entiendas.
Haces mucho uso de typedef y creo que es relativamente desnecesario. typedef solo se usa si vas a crear muchas y muchas variables de un mismo tipo. Entonces para facilitar a la hora de crear muchas variables de un mismo tipo es mejor utilizar typedef.
Para ver como funciona el typedef en el caso de tablas mire aqui:http://v1.minidosis.org/C++/Tablas/typedef%20para%20Tablas/

Si quieres aprender mas pues te los dejo todos aqui: http://v1.minidosis.org/C++/

Ahora es solo arreglar el código en base a eso.
Si necesitas mas ayuda
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