• Martes 5 de Noviembre de 2024, 13:23

Autor Tema:  Re: Muy novato - Ayuda con while  (Leído 1082 veces)

Miguelencho

  • Miembro activo
  • **
  • Mensajes: 53
    • Ver Perfil
Re: Muy novato - Ayuda con while
« en: Jueves 12 de Junio de 2003, 15:33 »
0
Es que este programita que hice me manda un warning miren:

# include <conio.h>
# include <stdio.h>
# include <iostream.h>

class numeros
{
   int c;
   public:
   int calc_datos (int &b)
   {
      int tot;
      c = b;
      tot = 0;
             while (c < 5)                functions containing while are not expanded in line
      {
      c = c + 1;
      tot = tot + c;
      }
   return (tot);
   }
};
void main ()
{
   clrscr();
   int c;
   numeros obj_n;
   c = 0;
   cout << "La suma es: " << obj_n.calc_datos(c);
   getch();
}


Alguien me podria decir como corregir ese warning.....graciass!!!!....
"The difference between the dreams and the accomplishment, is pure desire"

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Muy novato - Ayuda con while
« Respuesta #1 en: Jueves 12 de Junio de 2003, 17:04 »
0
No se mucho de c++ y espero no equivocarme, pero uno de tus principales errores es que el main no se encuentra dentro de ninguna clase...
otro es que en la funcion calc_datos le recives el parametro &b, y no es necesario, para tu caso solo b funciona bien.

functions containing while are not expanded in line

en español el error seria algo asi como:

existen funciones fuera del contenedor
es decir por fuera de la clase.

el hecho de que diga while, no se refiere a que cometiste un error de sintaxis en el while que usas en la funcion.

Juank
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Miguelencho

  • Miembro activo
  • **
  • Mensajes: 53
    • Ver Perfil
Muy novato - Ayuda con while
« Respuesta #2 en: Viernes 13 de Junio de 2003, 00:13 »
0
Ok gracias amigo ya entendi...y lo hice en otro programa y no me manda el warning ese....ok ahora tengo otra pregunta..... con este programa que estoy haciendo....

# include <conio.h>
# include <stdio.h>
# include <iostream.h>

class calculos
{
public:
   int seleccion ()
   {
   int n;
   clrscr();
   gotoxy (30,3);
   cout << "Companía CAR RENTAL";
   gotoxy (30,7);
   cout << "1. Pequeños";
   gotoxy (30,9);
   cout << "2. Medianos";
   gotoxy (30,11);
   cout << "3. Grandes";
   gotoxy (30,13);
   cout << "4. Salir";
   gotoxy (30,17);
   cout << "Elija una opci¢n: ";
   cin >> n;
   gotoxy (49,17);
   return(n);
   }
};
void main ()
{   int sel;
   calculos obj_n;
   sel = obj_n.seleccion();
   while (sel <= 0 || sel >= 5)
   {
   gotoxy (30,17);
   cout << "Elija una opci¢n: ";
   clreol();
   cin >> sel;
   gotoxy (49,17);
   }

}


bien....aqui va la duda, ok primero entro al menu cierto, despues ese menu me devuelve un valor, pero el problema que tengo es que si por error una persona teclea una letra el programa entra en un ciclo infinito en el while como puedo hacer, el problema es que no puedo usar switch por que la profesora no lo ha dado todavia, yo se usarlo pero ella no creo que me deje...
"The difference between the dreams and the accomplishment, is pure desire"