• Domingo 16 de Junio de 2024, 22:12

Autor Tema:  Por q marca un error?  (Leído 963 veces)

Lord jedi Dany

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Por q marca un error?
« en: Martes 1 de Septiembre de 2009, 23:00 »
0
Al momento de definir las funciones incrementaContador e imprime?
Gracias por su ayuda


Código: C++
  1. #include<iostream.h>
  2. #include<ctype.h>
  3.  
  4. using std::cout;
  5. using std::cin;
  6. using std::endl;
  7.  
  8. void incrementaContador (char, int&, int&, int&, int&);
  9. void imprime (int, int, int, int);
  10.  
  11. int main ()
  12. {
  13.     char caracter;
  14.     int loopy;
  15.     int cuentaLetras;
  16.     int cuentaPuntos;
  17.     int cuentaInterrog;
  18.     int cuentaExclam;
  19.    
  20.     cout << "Escribe texto" << endl;
  21.     for (loopy = 1; loopy <= 100; loopy++);
  22.     {
  23.         cin.get(caracter);
  24.         incrementaContador (caracter, cuentaLetras, cuentaPuntos, cuentaInterrog,
  25.                             cuentaExclam);
  26.                             }
  27.                          
  28.     imprime(cuentaLetras, cuentaPuntos, cuentaInterrog, cuentaExclam);
  29.    
  30.     return 0;
  31. }
  32.  
  33. /*implementamos funcion incrementaContador
  34. se especifican los valores que tomará en cuenta la función y en qué casos debe
  35. incrementar */
  36.  
  37. void incrementaContador (char caracter, int& cuentaLetras, int& cuentaPuntos, int&
  38.                          cuentaInterrog, int& cuentaExclam);
  39.                    
  40. {
  41.                    
  42.                     if (isalnum(caracter))
  43.                       cuentaLetras++;
  44.                     else
  45.                      switch (ch)
  46.                      {
  47.                             case '.' : cuentaPuntos++;
  48.                                        break;
  49.                             case '?' : cuentaInterrog++;
  50.                                        break;        
  51.                             case '!' : cuantaExclam++;
  52.                                        break;
  53.                             default : ; //se puede omitir, pues la función no tomará más datos.
  54.                     }
  55. }
  56.  
  57. /* implementa inmprime, que tomarà los valores registrado por incrementaContador
  58. y los mostrará en pantalla*/
  59.  
  60. void imprime (int cuentaLetras, int cuentaPuntos, int cuentaInterrog, int
  61.                  cuentaExclam);
  62.  
  63. {
  64.                  
  65.                  cout << endl;
  66.                  cout << "Las cantidades son:" << endl;
  67.                       << incrementaLetras << "Letras" << endl
  68.                       << incrementaPuntos << "Puntos" << endl
  69.                       << incrementaInterrog << "Signos de interrogación" << endl
  70.                       << incrementaExclam << "Signos de admiración" << endl;
  71.                      
  72. }
  73.  

Epa

  • Miembro MUY activo
  • ***
  • Mensajes: 242
  • Nacionalidad: ar
    • Ver Perfil
Re: Por q marca un error?
« Respuesta #1 en: Martes 1 de Septiembre de 2009, 23:26 »
0
Buenas.

Esto suena a tarea, pero aca vna algunos errores...

En la funcion cuenta fijate que pusiste switch (ch), y ch no esta definida, tendria que ir switch(caracter),

Y en la funcion imprim borra el ; despues de la linea 66, ya que estas terminando la sentencia, y la proxima empieza con "<<"
o agrega otro "cout" en la linea 67

fijate tambien que las variables que le pasas al cout no estan definidas

Cambia
Código: C++
  1.  
  2.                   cout << endl;
  3.                   cout << "Las cantidades son:" << endl
  4.                          << incrementaLetras << "Letras" << endl
  5.                          << incrementaPuntos << "Puntos" << endl
  6.                          << incrementaInterrog << "Signos de interrogación" << endl
  7.                          << incrementaExclam << "Signos de admiración" << endl;
  8.  
  9.  

por

Código: C++
  1.  
  2.                   cout << endl;
  3.                   cout << "Las cantidades son:" << endl
  4.                          << cuentaLetras << "Letras" << endl
  5.                          << cuentaPuntos << "Puntos" << endl
  6.                          << cuentaInterrog << "Signos de interrogación" << endl
  7.                          << cuentaExclam << "Signos de admiración" << endl;
  8.  
  9.  

que son los nombres de los argumentos de la funcion.

Tambien fijate que en la definicion de las funciones hay un ; despues la la lista de argumentos, los cuales no tienen que estar.

Saludos
The sweet smell of a great sorrow lies over the land.


Lord jedi Dany

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Por q marca un error?
« Respuesta #2 en: Martes 1 de Septiembre de 2009, 23:51 »
0
Je je.
Es tarea si xD
Pero no se trata de ver errores. De hecho, está basado en un ejemplo de un libro (todavía le tengo q menter mano a eso...)
En fin, gracias por esos detalles en los nunca me fijo =P.
(No soy fan de la programada, pero bueno... )

Saludos.