Dev - C++ - Id returned 1 exit status, c++ (AYUDA)

 
Vista:
sin imagen de perfil

Id returned 1 exit status, c++ (AYUDA)

Publicado por Gustavo (1 intervención) el 22/01/2018 00:17:44
//estaba programando en c++ estructuras con punteros y me sale ese error , no lo entiendo y no encuentro solución , espero me puedan ayudaR

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
#include "iostream"
#include "conio.h"
#include "stdlib.h"
 
using namespace std;
struct Alumno{
	char nombre[30];
	int edad;
    float promedio;
}alumno[3] , *puntero_alumno=alumno;
 
void pedirDatos();   ///PROTOTIPO
void calcularMejorPromedio(Alumno *);
 
 
int main(){
system("color 0b");
 
pedirDatos();
calcularMejorPromedio(puntero_alumno);
 
system("pause");
return 0;
}
 
void perdirDatos(){
 
	for(int i=0;i<3;i++){
		fflush(stdin);
	cout<<"Digite nombre del alumno : ";
 
	cin.getline((puntero_alumno+i)->nombre,30,'\n');
 
		cout<<"Digite edad del alumno : ";
 
	cin>>(puntero_alumno+i)->edad;cout<<endl;
 
		cout<<"Digite promedio del alumno : ";
 
	cin>>(puntero_alumno+i)->promedio;cout<<endl;
 
}
}
 
void calcularMejorPromedio(Alumno *puntero_alumno){
	float mayor = 0.0;
	int pos=0;
 
	for(int i=0;i<3;i++){
		if((puntero_alumno+i)->promedio > mayor){
			mayor= (puntero_alumno+i)->promedio;
			pos=i;
		}
	}
	///imprimiendo datos
	cout<<"\nEl alumno con el mayor promedio es : \n";
	cout<<"Nombre : "<<(puntero_alumno+pos)->nombre<<endl;
	cout<<"edad : "<<(puntero_alumno+pos)->edad<<endl;
	cout<<"PROMEDIO: "<<(puntero_alumno+pos)->promedio<<endl;
}
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: Id returned 1 exit status, c++ (AYUDA)

Publicado por Dionicio (57 intervenciones) el 23/01/2018 02:49:32
En primer lugar las librerías estándar o que ya están creadas van dentro de signos de menor y mayor que (< y > ) por ejemplo

1
#include <stdlib.h>

Como estas trabajando en c++ lo correcto sería usar cstdlib aunque no hay problemas por usar stdlib.h, pero no le veo mucho uso a esa biblioteca en tu programa.

También destacar que la función pedirDatos(); no existe, lo que tienes escrito en la implementación es lo siguiente perdirDatos();
Por ahora esos serían los problemas más graves que a simple vista he podido ver. Así que espero te sea de ayuda. Un saludo.
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
sin imagen de perfil
Val: 417
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Id returned 1 exit status, c++ (AYUDA)

Publicado por Thanatos (199 intervenciones) el 23/01/2018 06:37:08
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
#include <iostream>  // streamsize
#include <limits>    // numeric_limits
#include <string>
#include <cmath>     // abs()
 
using namespace std;
 
struct Alumno {
    string nombre;
    short edad;
    float promedio;
};
 
void leerDatos(Alumno *, const size_t);
void mostrarMejorPromedio(const Alumno *, const size_t);
 
int main() {
    const size_t kSize = 3;
    Alumno alumnos[kSize];
 
    leerDatos(alumnos, kSize);
    mostrarMejorPromedio(alumnos, kSize);
 
    (void) cin.get();
    return 0;
}
 
void leerDatos(Alumno *alumnos, const size_t size) {
    for (size_t i = 0; i < size; ++i) {
        cout << "Ingrese los datos del alumno #" << i + 1 << ":\n";
 
        cout << "Nombre: ";
        (void) getline(cin, (alumnos + i)->nombre);
 
        cout << "Edad: ";
        cin >> (alumnos + i)->edad;
 
        cout << "Promedio: ";
        cin >> (alumnos + i)->promedio;
 
        cout << '\n';
        (void) cin.ignore(numeric_limits<streamsize>::max(), '\n');
    }
}
 
void mostrarMejorPromedio(const Alumno *alumnos, const size_t size) {
    const float kEpsilon = 0.0001f;
    float mayorProm = alumnos->promedio;
 
    for (size_t i = 1; i < size; ++i) {
        if ((alumnos + i)->promedio > mayorProm) {
            mayorProm = (alumnos + i)->promedio;
        }
    }
 
    cout << "Mejor(es) Promedio(s):\n";
    for (size_t i = 0; i < size; ++i) {
        if (abs((alumnos + i)->promedio - mayorProm) < kEpsilon) {
            cout << "Nombre ----> " << (alumnos + i)->nombre   << '\n'
                 << "Edad ------> " << (alumnos + i)->edad     << '\n'
                 << "Promedio --> " << (alumnos + i)->promedio << "\n\n";
        }
    }
}
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