Dev - C++ - Code Blocks no ejecuta

   
Vista:

Code Blocks no ejecuta

Publicado por CESAR reaal535@gmail.com (2 intervenciones) el 04/09/2015 01:51:29
//buenas tardes, mi problema es que mi code blocks no me ejecuta este programa, no tiene errores ya lo compiles lo unico que sale es el recuadro negro que esta adjunto al codigo. no se a que se deba


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
83
84
85
86
87
88
89
90
91
92
#include <iostream>
#include <stdlib.h>
#include <string.h>
using namespace std;
class animal{
public:
    char nombre[15], color[15], habitad[20], alimentacion[20], personalidad[20];
    int patas, aletas;
    string agua, continente, oceano, tipo, terrestre, marino;
    void capturar();
    void mostrar();
};
 
    void animal::capturar(){
    cout<<"Bienvenido este es un programa para resitro de animales"<<endl;
    cout<<"¿el animal que desea registrar es marino o es terrestre?"<<endl;
    cin>>tipo;cin.ignore();
    cout<<"Registrando animal tipo:"<<endl;
    cout<<tipo;cin.ignore();
 
    if(tipo==terrestre){
 
    cout<<"Por favor ingrese los siguientes datos para registrar a su animal terrestre"<<endl;
    cout<<"ingresa el nombre del animal"<<endl;
    cin.getline(nombre,15);
    cout<<"ingresa el color del animal"<<endl;
    cin.getline(color,15);
    cout<<"ingrese el habitad del animal"<<endl;
    cin.getline(habitad,20);
    cout<<"ingresa la alimentacion principal del animal"<<endl;
    cin.getline(alimentacion,20);
    cout<<"¿cual es la personalidad del animal pasivo o agresivo?"<<endl;
    cin.getline(personalidad,20);
    cout<<"ingresa la cantidad de patas de tu animal"<<endl;
    cin>>patas;
    cout<<"¿En que continente habita tu animal?"<<endl;
    cin>>continente;cin.ignore();}
 
     else if (tipo==marino){
    cout<<"Por favor ingrese los siguientes datos para registrar a su animal marino"<<endl;
    cout<<"ingresa el nombre del animal"<<endl;
    cin.getline(nombre,15);
    cout<<"ingresa el color del animal"<<endl;
    cin.getline(color,15);
    cout<<"ingrese el habitad del animal"<<endl;
    cin.getline(habitad,20);
    cout<<"ingresa la alimentacion principal del animal"<<endl;
    cin.getline(alimentacion,20);
    cout<<"¿cual es la personalidad del animal pasivo o agresivo?"<<endl;
    cin.getline(personalidad,20);
    cout<<"ingresa la cantidad de aletas de tu animal"<<endl;
    cin>>aletas;
    cout<<"¿En que oceano habita tu animal?"<<endl;
    cin>>oceano;cin.ignore();
    cout<<"¿Que tipo de agua prefiere tu animal dulce o salada?"<<endl;
    cin>>agua;cin.ignore();
    }}
 
       void animal::mostrar()
		{
        cout<<"Animal registrado como:"<<endl;
        if (tipo==terrestre){
			cout<<"Nombre:"<<nombre<<endl;
			cout<<"Color:"<<color<<endl;
			cout<<"Habitad:"<<habitad<<endl;
			cout<<"Alimentacion:"<<alimentacion<<endl;
			cout<<"Personalidad:"<<personalidad<<endl;
			cout<<"Patas:"<<patas<<endl;
			cout<<"Continente:"<<continente<<endl;
			}
        else if (tipo==marino){
            cout<<"Nombre:"<<nombre<<endl;
			cout<<"Color:"<<color<<endl;
			cout<<"Habitad:"<<habitad<<endl;
			cout<<"Alimentacion:"<<alimentacion<<endl;
			cout<<"Personalidad:"<<personalidad<<endl;
			cout<<"Aletas:"<<aletas<<endl;
			cout<<"Oceano:"<<continente<<endl;
            cout<<"Agua:"<<agua<<endl;
        }}
 
    int main()
{
    animal como_sea;
    como_sea.mostrar();
    system("cls");
    como_sea.capturar();
    system("pause");
    como_sea.mostrar();
    cin.ignore();
    return 0;
    }
Sin-titulo
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 vangodp

Code Blocks no ejecuta

Publicado por vangodp (287 intervenciones) el 04/09/2015 09:10:59
No tengo ni idea el por que pero veo algunas cosas erradas. Por ejemplo if ( tipo == terrestre )... ¿En que parte de tu programa le has dad oun valor inicial a terrestre?? Es una variable, y no le das valor en ninguna parte. CUando el programa pregunta "¿el animal que desea registrar es marino o es terrestre?" e nosotros decimos "terrestre", esso se guarda en la variable tipo, luego la comparas con la variable terrestre, porem esta es un string sin inicializar, en alguna parte deberías darle el valor, quizás en un constructor de la clase. Lo mism le pasa con marino... ¿Que guarda marino? Para que te hagas una idea if ( tipo == terrestre ) es lo mismo que if ( "terrestre" == "¿¿¿que hay aqui???" ).

Pero el programa si me compilo a mi... Arregle eso y ya me cuentas.
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

Code Blocks no ejecuta

Publicado por Hector (45 intervenciones) el 05/09/2015 03:35:03
El programa no muestra ningún elemento ya que en realidad ninguna de las condiciones se cumplen, las variables "terrestre" y "marino" no están inicializadas, y debido a eso, no importa que valor ingreses en el tipo, jamas se cumplirá las condiciones.

Te sugiero mejor que cambies el tipo de dato de la variable "tipo" a char, y luego le indicas al usuario que elija entre dos opciones, si el animal a ingresar es marino, que ingrese la letra M, y si es terrestre la letra T.

Seria algo asi:

1
2
3
4
5
6
7
8
9
10
11
// En donde tienes los atributos de la clase
char tipo;
// Metodo que carga datos
*Codigo que lee el tipo*
 
if(tipo == 'T')
{*Codigo de Terrestre*}
else if(tipo == 'M')
{*Codigo de Marino*}
else
{*Codigo en caso de que el usuario no elija ninguna de las dos opciones*}

De esa forma te ahorras el espacio de variables.
Saludos.
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