Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - leosansan

#931
Programación C/C++ / Re: Números capicúa
10 Marzo 2013, 19:42 PM
Te faltan unas comillas en el último cout, el del if. Pero creo que tienes la intención de comprobar si el número introducido es de más de cuatro cifras con lo que la posición de la condición estaría al principio, así:

Código (cpp) [Seleccionar]
#include<iostream>
using namespace std;
int main()
{
 int numero0, numero1, numero2,numero_reves;
 cout<<"Introduce el numero: ";
 cin>>numero0;
 if (numero0/10000.>=1)
       cout<<"tiene mas de cuatro cifras"<<endl;
 // aqui la condicion que quieras poner como pedir otro      
 numero1 = numero2 =numero0;
 numero_reves = 0;
 while( numero1 > numero_reves && numero2 > numero_reves )
  {
      numero_reves  = 10 * numero_reves + numero1 % 10;
      numero2=numero1;
      numero1 /= 10;
  }
  if( numero1 == numero_reves || numero2 == numero_reves)
      cout<<"Es capicua "<< numero0;
  else
    cout<<"No es capicua "<< numero0;
  {

  }
  cin.get( );
  cin.get( );
  return 0;
}



Saluditos!. ....

#932
Programación C/C++ / Re: Tabla en C++
10 Marzo 2013, 19:37 PM
Cita de: jps96 en 10 Marzo 2013, 19:25 PM
Le he quitado los cout.width sin poner nada en su lugar y los resultados no varían ni nada. ¿Es esto posible o tiene algún "efecto secundario"?

No, ya vi que no hacían mucho efecto en este caso. SI usas \t como indica amchacon tendrías algo como esto:

Código (cpp) [Seleccionar]
        1ªh evaluacion  2ªh evaluacion  3ªh evaluacion
Juan            5.2     6.2     8       La nota media de Juan es 6.72
Pepe            6.1     7       8       La nota media de Pepe es 7.22
Antonio         3.7     2.6     4       La nota media de Antonio es 3.38
Ana             8       8.6     9       La nota media de Ana es 8.64
Alfonso         2.3     2.4     3       La nota media de Alfonso es 2.62
Mercedes                7.2     7.7     8.7     La nota media de Mercedes es 8

El alumno con mas nota media es Ana con 8.64 puntos


El alumno con menos nota media es Alfonso con 2.62 puntos



Creo que mejor como estaba, ajustando un poco con espacios en blanco.

Saluditos!. ...


P.D: Printf permite muchhhhhho más que un simple tabulador.
#933
Programación C/C++ / Re: Números capicúa
10 Marzo 2013, 19:19 PM
Cita de: suzy en 10 Marzo 2013, 18:56 PM
¡Chicos tengo una duda!
¿Cómo se haría para que si se introdujese un número mayor de cuatro cifras el programa me lo diga?
.............................

De forma simple, si sólo hay que comprobar que si tiene más de cuatro cifras:

Código (cpp) [Seleccionar]
if (numero/10000.>=1)
                    cout<<"tiene mas de cuatro cifras<<endl;


Saluditos!. ...
#934
Programación C/C++ / Re: Tabla en C++
10 Marzo 2013, 18:43 PM
Cita de: jps96 en 10 Marzo 2013, 17:52 PM
.....................................
¿cout.width se podría sustituir por una expresión más sencilla, ya que mi profesor no nos la ha explicado?

Tendría que usar la librería iomanip, que supongo que tampoco la habéis visto, con que sólo queda jugar con los espacios en blanco con cout<<"    ";. Claro que podrías aprovechar para que tu profesor viera como se formatea una salida por pantalla. Es que yo me muevo más en C y ahí tenemos la artillería pesada de printf. Aunque en C++ también hay opciones, aunque a mi e parecen más enrevesadas, pero es lo que hay.

Saluditos!. ....

#935
Programación C/C++ / Re: Tabla en C++
10 Marzo 2013, 17:43 PM
Cita de: jps96 en 10 Marzo 2013, 16:19 PM
.......................................................................
¿Cómo se calcula la nota media teniendo en cuenta los porcentajes?


Supongo que las notas máximas y mínimas se refieren a las medias. Si no es así avisa:

Código (cpp) [Seleccionar]
           1ªh evaluacion           2ªh evaluacion           3ªh evaluacion
    Juan           5.2                         6.2                         8        La nota media de Juan es 6.72
    Pepe           6.1                         7                         8        La nota media de Pepe es 7.22
Antonio           3.7                         2.6                         4        La nota media de Antonio es 3.38
    Ana            8                         8.6                         9        La nota media de Ana  es 8.64
Alfonso           2.3                         2.4                         3        La nota media de Alfonso es 2.62
Mercedes           7.2                         7.7                         8.7        La nota media de Mercedes es 8

El alumno con mas nota media es Ana  con 8.64 puntos


El alumno con menos nota media es Alfonso con 2.62 puntos



Y el código:

Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;
int main()
{
   char evaluaciones [3][20] ={"1\xA6h evaluacion", "2\xA6h evaluacion", "3\xA6h evaluacion"};
   char a,nombres [6][9]={ "Juan","Pepe" ,"Antonio" ,"Ana " ,"Alfonso","Mercedes"};;
   float matriz[][4]= {{1   ,   5.2   ,  6.2    ,    8},
                       {2   ,   6.1   ,   7     ,    8},
                       {3   ,   3.7   ,   2.6   ,    4},
                       {4   ,   8     ,   8.6   ,    9 },
                       {5   ,   2.3   ,   2.4   ,    3},
                       {6   ,   7.2   ,   7.7   ,    8.7 }};
    float porcentaje[4]={0,0.20,0.4,0.4};
    int i,j ,indice,indice1;
   float suma=0,mayor=0,menor=12;
   for(i=0;i<3;i++){
        cout.width(25);
       cout<<evaluaciones [i];
   }

   cout<<endl;
    for (i=0;i<6;i++)
        {
            for(j=0;j<4;j++)
                {
                    if (j>=1){
                        suma +=matriz[i][j]*porcentaje[j];
                        cout<<"           "<<matriz[i][j];
                        cout.width(25);
                    }

                    if (j==0){
                        cout.width(8);
                        cout<<nombres[i];
                    }


                 }

            cout<<"        La nota media de "<<nombres [i]<<" es "<<suma<<endl;
            if (suma>mayor)
                {
                    mayor=suma;
                    indice=i;
                }
            if (suma<menor)
                {
                    menor=suma;
                    indice1=i;
                }
            suma=0;
        }

    cout<<endl<<"El alumno con mas nota media es "<<nombres [indice]<<" con "<< mayor<<" puntos "<<endl<<endl;
    cout<<endl<<"El alumno con menos nota media es "<<nombres [indice1]<<" con "<< menor<<" puntos "<<endl<<endl;
    cin.get();
   return 0;
}



Saluditos!. ...
#936

No te olvides de usar las etiquetas GeSHi con C++, aunque el código sea en C. Es más fácil de seguirlo con colores.


Saluditos!. ...
#937
Por no hablar de la posibilidad de múltiples ventanitas con múltiples pestañas en cada una:





Saluditos!. ...
#938
Programación C/C++ / Re: Números capicúa
10 Marzo 2013, 15:26 PM
Cuando postees código procura elegir las etiquetas "GeSHi" la del C++, así el código sale "coloreado" y es más fácil de seguir.

Saluditos!. ...
#939
Programación C/C++ / Re: Números capicúa
10 Marzo 2013, 14:16 PM
Cita de: suzy en 10 Marzo 2013, 13:47 PM
Gracias leosansan!
Pero tengo dos problemillas:
Al ejecutar el programa se cierra Dev-C++. ¿Cómo puedo evitarlo?

Coloca cin.get( )antes del return. Y una cosa que no me canso de repetir, Dev-C está algo más que obsoleto, como el TurboC2.0. Desde que puedas consigue te el Code::Blocks que es libre y está actualizado hasta este año.
Citar

Y lo segundo es más una duda que un problema. Mi profesor no nos ha enseñado a utilizar & y %. ¿Pará qué sirven? ¿Se podría sustituir por otra cosa más simple?

Son los operadores AND=&& y O=||, mientras que % calcula el resto de la división, es un operador más de casi cualquier lenguaje, como lo son el + - * /, así que vete acostumbrándote a él. En cambio & es para indicar la dirección y también se usa a nivel de operador de bits.


Cualquier otra duda no dudes en consultarla, bien por aquí o vía mp.

Saluditos!. .....


P.D: El segundo código de los dos últimos que te pase es "denso", por lo que es normal que te cueste. Ni te cuento lo que me costo a mí.
#940
Programación C/C++ / Re: Números capicúa
10 Marzo 2013, 12:26 PM
Cita de: suzy en 10 Marzo 2013, 11:58 AM
¿Por qué se tendría que sustituir todo eso para que sólo sea con la librería iostream? ¿Alguna ayudita?

Difícil es, más no imposible.

Por ejemplo:


Código (cpp) [Seleccionar]
#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
string str,str2;
cout << "Introduce el numero: "; cin >> cad;
cin >> str;
str2 = str.substr(0, str.length());
reverse(str.begin(), str.end());
    if(str2 == str)
cout << "El numero: "<<str2<<" es capicua." <<endl;
else
cout << "El numero: "<<str2<<" no es capicua.." <<endl;
    return 0;
}


!Por dios!, si he usado algorithm y a lo mejor sólo es con iostream. UMMM. Pues por ejemplo así:

Código (cpp) [Seleccionar]
#include<iostream>
using namespace std;
int main()
{
   int numero0, numero1, numero2,numero_reves;
   cout<<"Introduce el numero: ";
   cin>>numero0;
   numero1 = numero2 =numero0;
   numero_reves = 0;
   while( numero1 > numero_reves && numero2 > numero_reves )
    {
        numero_reves  = 10 * numero_reves + numero1 % 10;
        numero2=numero1;
        numero1 /= 10;
    }
    if( numero1 == numero_reves || numero2 == numero_reves)
        cout<<"Es capicua "<< numero0;
    else
      cout<<"No es capicua "<< numero0;
    return 0;
}


Ahora creo que sí, sólo está iostream.

Saluditos!. ...