Dev - C++ - No me corran estos c++

   
Vista:

No me corran estos c++

Publicado por richard richardsandia5@gmail.com (2 intervenciones) el 28/11/2014 02:08:09
buenas si me podrian decir que error tengo por favor
el primero :

1
2
3
4
5
6
7
8
9
10
11
12
switch(car)
 {
case'a':case 'A':
case'e':case 'E':
case'I':case 'I':
case'o':case 'O':
case'u':case 'U':
cout <<car<< "es una vocal"<<end1;
break;
default
cout <<car<< "no es una vocal"<< end1;
}


el segundo;

1
2
3
4
5
6
7
8
9
10
{
if((car=='a')) parelela (car=='a'))
cout <<car<< " es una vocal"<< end1;
else if ((car=='e')) paralela (car=='E'))
cout << car << "es una vocal"<<end1;
else if ((car=='i')) paralela (car=='I'))
cout << car << "es una vocal"<<end1;
else if ((car=='0')) paralela (car=='0'))
cout << car << "es una vocal"<<end1;
}

el tercero

1
2
3
4
5
6
7
8
9
10
11
12
{
    int a, b, c, mayor;
    cout<<"introduzca tres enteros:";
    cin>>a>>b>>c;
    if(a>b)
    if(a>c) mayor = a;
    else mayor = c;
    else
    if (b>c) mayor = b;
    else mayor = c;
    cout <<" el mayores "<< mayor <<cend1;
}

agradeceria la ayuda
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

No me corran estos c++

Publicado por vangodp (287 intervenciones) el 28/11/2014 22:15:30
primero:
en cout <<car<< "es una vocal"<<end1; y cout << car << "no es una vocal"<< end1; es endl y no end1. Se llama end line y no end one XDD
Entonces queda:
switch ( car ) {
case'a':
case 'A':
case'e':
case 'E':
case'I':
case 'I':
case'o':
case 'O':
case'u':
case 'U':
cout << car << "es una vocal" << endl;
break;

default
cout << car << "no es una vocal" << endl;
break;
}

Aparte se pone un break en default si o si. En los otros casos se pone o no se pone ;)

segundo:
no se que quieres hacer con esto. Soy programador y de los malos XD: if((car=='a'))parelela (car=='a'))
Podias describir que quieres hacer y asi te aseguramos el funcionamiento.

tercero:
int a, b, c, mayor = a;
cout<<"introduzca tres enteros:";
cin>>a>>b>>c;
if( a > mayor){
mayor = a;
}else if( b > mayor){
mayor = b;
}else if (c > mayor ){
mayor = c;
}
cout <<" El mayor numero es: "<< mayor <<endl; //<-ENDL no END1 y en minuscula. Recuerda End Line.

Recuerde una cosa... El programa no tiene por que ser de forma complicada. Mas bien debe ser claro y transparente al programador, y por supuesto el programa debe cumplir su funcion de forma efectiva.

Si estas iniciando intente hacer las cosas de forma mas facil. Si tienes tres numeros y debes guardar el mayor tienes que hacer 3 comparaciones y ir guardando el mayor a medida que los vaya encontrando.
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

No me corran estos c++

Publicado por Thanatos (73 intervenciones) el 06/12/2014 12:53:07
El primero

Los errores:

La constante "I" se repite en ambos "case".
1
case'I':case 'I':


Como indicó vangodp, escribiste end(uno) en lugar de end(ele), tanto en esta sentencia como en la que ejecuta el "default".
1
cout <<car<< "es una vocal"<<end1;


Olvidaste escribir los dos puntos luego del "default".
1
default


Código con las correcciones:
1
2
3
4
5
6
7
8
9
10
11
12
switch (car) {
    case 'a': case 'A':
    case 'e': case 'E':
    case 'i': case 'I':
    case 'o': case 'O':
    case 'u': case 'U':
        cout << car << " es una vocal\n";
        break;
    default:
        cout << car << " no es una vocal\n";
        break;
}



El segundo

Los errores en este caso los causan los segundos paréntesis de cierre de cada sentencia "if". Por ejemplo, el último paréntesis que se ve en esta parte de la primera línea, no debería estar ahi:
1
if((car=='a'))...


En el primer "if" comparaste dos veces la variable "car" con la letra 'a'
1
if((car=='a')) parelela (car=='a'))


En el último "if" comparaste la variable "car" con el número cero, en lugar de la letra o.
1
else if ((car=='0')) paralela (car=='0'))


Con las correcciones, tu código quedaría así:
1
2
3
4
5
6
7
8
9
10
if ((car == 'a') || (car == 'A'))
    cout << car << " es una vocal" << endl;
else if ((car == 'e') || (car == 'E'))
    cout << car << " es una vocal" << endl;
else if ((car == 'i') || (car == 'I'))
    cout << car << " es una vocal" << endl;
else if ((car == 'o') || (car == 'O'))
    cout << car << " es una vocal" << endl;
else
    cout << car << " no es una vocal" << endl;


Aunque el código anterior compila y se ejecuta correctamente, aparenta ser más complicado de lo que en realidad es. Cuando programes trata de no repetir la misma sentencia innecesariamente, como en los "cout" del código anterior. Casi siempre existen varias formas de resolver un problema de este tipo y en lo posible se debe tratar de simplificar el código. Por ejemplo, podrías utilizar una variable de tipo bool, para almacenar el resultado de las comparaciones de "car" con las vocales:
1
2
3
4
5
6
7
8
9
10
bool esVocal = car == 'a' || car == 'A' ||
               car == 'e' || car == 'E' ||
               car == 'i' || car == 'I' ||
               car == 'o' || car == 'O' ||
               car == 'u' || car == 'U';
if (esVocal) {
    cout << car << " es una vocal\n";
} else {
    cout << car << " no es una vocal\n";
}



El tercero

El error está en el "endl", igual que en los anteriores ejercicios. Aquí tienes otra manera de resolverlo:
1
2
3
4
5
6
7
8
9
10
11
12
13
int a, b, c, mayor;
 
cout << "Introduzca tres enteros:\n";
cin >> a >> b >> c;
 
mayor = a;
if (b > mayor) {
    mayor = b;
}
if (c > mayor) {
    mayor = c;
}
cout << "el mayor es " << mayor << '\n';
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar