Dev - C++ - Programa para registrar una persona y mostrarla

 
Vista:
sin imagen de perfil
Val: 53
Ha disminuido 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Programa para registrar una persona y mostrarla

Publicado por Carlos (23 intervenciones) el 24/04/2020 13:37:26
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
68
69
70
//Ayuda intento hacer un programa que de registro y cuando ya se hayan registrado las persona  las muestre. pero no se que pasa que cuando registro a una persona si me la muestra pero también me imprime otros datos vacíos por favor ayuda.
 
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <new>
using namespace std;
 
struct registro{
	char nombre[35];
	string correo,telefono;
	int edad;
};
 
registro persona[10];
 
 
 
void listado();
 
 
int main()
{
	int op,op1,i=0;
	do{
		cout<<"\t\n\tMenu\n\n";
		cout<<"1.Registrar persona "<<endl;
		cout<<"2.ver listado "<<endl;
		cout<<"3.Salir "<<endl;
		cout<<"Escoja una opcion: "<<endl;
		cin>>op;
		system("cls");
		switch(op){
			case 1:cout<<"Registro "<<endl;
			cout<<"ingrese el nombre completo: \n";
			cin.getline(persona[i].nombre,35);
			cin.getline(persona[i].nombre,35);
			cout<<"Ingrese la edad: \n";
			cin>>persona[i].edad;
			cout<<"Ingrese el numero telefonico: \n";
			cin>>persona[i].telefono;
			cout<<"Ingrese su correo electronico: \n";
			cin>>persona[i].correo;
			system("cls");
			break;
			case 2: listado();
			break;
			case 3:cout<<"\t\n\tSALIENDO\n\n";
			return 0;
			break;
			default:cout<<"\t\n\tError de opcion\n\n";
			break;
			}
	 cout<<"Desea regresar al menu\n"<<endl;
	 cout<<"1.SI/2.NO"<<endl;
	 cin>>op1;
	}while (op1==1);
	getch ();
	return 0;
}
 
void listado(){
 
	for (int i=0; i<10; i++){
		cout<<"NOMBRE: "<<persona[i].nombre<<endl;
		cout<<"EDAD: "<<persona[i].edad<<endl;
		cout<<"TELEFONO: "<<persona[i]. 					telefono<<endl;
		cout<<"CORREO: "<<persona[i].correo<<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
sin imagen de perfil
Val: 1.440
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Programa para registrar una persona y mostrarla

Publicado por dario (718 intervenciones) el 24/04/2020 14:43:08
En tu funcion listado() haces un bucle para listar todas las personas registradas (desde 0 hasta 9), pero cuando registras, solo registras una persona, por eso te aparecen cosas raras.
Salu2.
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: 53
Ha disminuido 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Programa para registrar una persona y mostrarla

Publicado por Carlos (23 intervenciones) el 24/04/2020 14:55:44
Entiendo lo que me dices...
Le quito el bucle y nada más me registra una sola persona lo que yo quiero es que me registre las cantidades que quiera el usuario y se impriman en pantalla el listado...

Me podrías ayudar.
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: 1.440
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Programa para registrar una persona y mostrarla

Publicado por dario (718 intervenciones) el 24/04/2020 15:06:19
Pruebalo asi:

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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include <iostream>
 
using namespace std;
 
struct registro{
    char nombre[35];
    string correo,telefono;
    int edad;
};
 
registro persona[10];
 
void listado();
void registrar();
int i=0;
 
 
int main()
{
    int op,op1;
    do {
        cout<<"\t\n\tMenu\n\n";
        cout<<"1.Registrar persona "<<endl;
        cout<<"2.ver listado "<<endl;
        cout<<"3.Salir "<<endl;
        cout<<"Escoja una opcion: "<<endl;
        cin>>op;
        //system("cls");
        switch(op) {
            case 1:
                registrar();
                //system("cls");
            break;
            case 2:
                listado();
            break;
            case 3:
                cout<<"\t\n\tSALIENDO\n\n";
                return 0;
            break;
            default:
                cout<<"\t\n\tError de opcion\n\n";
            break;
        }
        cout<<"Desea regresar al menu\n"<<endl;
        cout<<"1.SI/2.NO"<<endl;
        cin>>op1;
    }while (op1==1);
 
    getchar();
 
    return 0;
}
 
void listado() {
    int j;
 
    for (j=0; j<i; j++){
        cout<<"NOMBRE: "<<persona[j].nombre<<endl;
        cout<<"EDAD: "<<persona[j].edad<<endl;
        cout<<"TELEFONO: "<<persona[j]. telefono<<endl;
        cout<<"CORREO: "<<persona[j].correo<<endl;
    }
}
 
void registrar() {
    int n;
    cout << "Cuantas personas desea registrar: ";
    cin >> n;
    for (i=0; i<n; i++) {
        cout<<"Registro "<<endl;
        cout<<"ingrese el nombre completo: \n";
        cin.getline(persona[i].nombre,35);
        cin.getline(persona[i].nombre,35);
        cout<<"Ingrese la edad: \n";
        cin>>persona[i].edad;
        cout<<"Ingrese el numero telefonico: \n";
        cin>>persona[i].telefono;
        cout<<"Ingrese su correo electronico: \n";
        cin>>persona[i].correo;
    }
}
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: 53
Ha disminuido 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Programa para registrar una persona y mostrarla

Publicado por Carlos (23 intervenciones) el 24/04/2020 17:04:24
MUCHAS GRACIAS ME FUNCIONO
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: 53
Ha disminuido 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Programa para registrar una persona y mostrarla

Publicado por Carlos (23 intervenciones) el 25/04/2020 03:10:19
Tengo una pequeña duda no hay otra forma de hacer el programa sin pedirle al usuario de cuantas personas quiere registrar si no que sea anónima mente...
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: 1.440
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Programa para registrar una persona y mostrarla

Publicado por dario (718 intervenciones) el 25/04/2020 07:51:07
Solo modifica la funcion registrar por esta.
Cada vez que quieras registrar una persona tiene que seleccionar la opcion 1 del menu.
Salu2.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
void registrar() {
    cout<<"Registro # "<< i << endl;
    cout<<"ingrese el nombre completo: \n";
    cin.getline(persona[i].nombre,35);
     //cin.getline(persona[i].nombre,35);
    cout<<"Ingrese la edad: \n";
    cin>>persona[i].edad;
    cout<<"Ingrese el numero telefonico: \n";
    cin>>persona[i].telefono;
    cout<<"Ingrese su correo electronico: \n";
    cin>>persona[i].correo; cout << endl;
    cout << i << " Persona(s) registrada(s)" << endl;
    i++;
}
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

Programa para registrar una persona y mostrarla

Publicado por MariaR (1 intervención) el 23/11/2022 03:41:42
Buenas noches, he probado el codigo y tengo la duda del porque en la función Registrar se tiene que repetir cin.getline(persona[i].nombre,35) 2 veces
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