<div>Pruebe esto muy posiblemente sea lo que esta buscando..</div><div><br></div><div>Elinv</div><div>--------------------------------------------------------------------</div><div>/*</div><div> * Este código ha sido desarrollado integramente por Elinv.</div>
<div> * Foro de programación de Elinv.</div><div> * <a href="http://www.bragadomas.com/forodeprogramacion/index.php">http://www.bragadomas.com/forodeprogramacion/index.php</a></div><div> */</div><div><br></div><div>#include <iostream></div>
<div>using namespace std;</div><div><br></div><div>int main()</div><div>{</div><div>    cout << "Presione enter para salir\n";</div><div>    char numeros[1];</div><div>    for(;;)</div><div>    {</div><div>
        fflush(stdin);</div><div>        cout << "\nIngrese su n£mero: \t";</div><div>        if ((numeros[0] = cin.get()) == '\n')</div><div>        {</div><div>            cout << "Ha presionado enter y sale del programa.\n";</div>
<div>            return 0;</div><div>        }</div><div>        else</div><div>        {</div><div>            cout << "El n£mero escrito es:\t" << numeros[0] << endl;</div><div>        }</div>
<div>    }</div><div>    return 0;</div><div>}</div><div>----------------------------------------------------------------------------</div><br><div class="gmail_quote">El 1 de abril de 2011 14:29, aJ <span dir="ltr"><<a href="mailto:maxell1001@gmail.com">maxell1001@gmail.com</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">El pasado 2011-04-01 11:22:11, unpocolocos escribió:<br>
<br>
u> Estoy comenzando a con el curso y estoy tratando de resolver los problemas propuestos con alguna que otra variante.<br>
u> Concretamente, estoy intentando (sin conseguirlo) detener la introducción de caracteres (cuando se pulse la tecla "INTRO" sin haber introducido un número o letra) en un array dinámico de caracteres. Es decir:<br>

u>   char *numero; // Puntero "numero" a tipo char<br>
u>   int i = 0, j;<br>
u>   // Declaración de prototipos<br>
u>   bool Incrementa (char);<br>
u>   int main()<br>
u>   {<br>
u>       // Reservamos en memoria dinámica una cadena de caracteres<br>
u>       // a la que apunta "numero"<br>
u>       numero = new char [10];<br>
u>       // Inicializamos la cadena dinámica con caracteres '0'<br>
u>       for (j = 0; j < 10; j++) numero [j] = '0';  numero [9] = '\0';<br>
u>       // Introducción del número de dígitos<br>
u>       cout << "Introduce los digitos de un numero HASTA UN MAXIMO DE 8" << endl;<br>
u>       cout << "Para salir pulsar directamente [INTRO]" << endl;<br>
u>       // Introducción de los caracteres de "numero"<br>
u>       while (i < 8) {<br>
u>           cout << "  Introduce digito " << j-9 << ": "; j++;<br>
u>           cin >> numero [i];<br>
u>           if (numero [i] == '\n') break;<br>
u>           i++;<br>
u>       }<br>
u> ¿Qué es lo que estoy haciendo mal?<br>
u> _______________________________________________<br>
u> Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
u> <a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
u> Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
<br>
He revisado tu código y faltan algunas cosas.. como el 'delete[] numero' siempre que asignes memoria dinámica debes liberarla al finalizar el programa, en tu caso que lo asignaste en forma de arreglo para liberarlo usas 'delete[] puntero' y para finalizar una introducción de datos sin haber introducido algo puedes usar esto → 'cin.get(numero,9,'\n');' donde número es el puntero, 9 la cantidad que caracteres que va leer a la final solo va tomar 8 como tu indicas, el carácter 9 es nulo y '\n' el carácter delimitador que sería el "INTRO".. puedes conseguir info relacionada en el mismo curso → <a href="http://bit.ly/ij0tjd" target="_blank">http://bit.ly/ij0tjd</a> y 'bool Incrementa (char);' lo elimine por que no esta haciendo nada..<br>

<br>
Todo quedaría así :<br>
<br>
#include <iostream><br>
using namespace std;<br>
char *numero; // Puntero "numero" a tipo char<br>
int i = 0, j;<br>
int main()<br>
{<br>
    // Reservamos en memoria dinámica una cadena de caracteres<br>
    // a la que apunta "numero"<br>
    numero = new char [10];<br>
    // Inicializamos la cadena dinámica con caracteres '0'<br>
    for (j = 0; j < 10; j++) numero [j] = '0';  numero [9] = '\0';<br>
    // Introducción del número de dígitos<br>
    cout << "Introduce los digitos de un numero HASTA UN MAXIMO DE 8" << endl;<br>
    cout << "Para salir pulsar directamente [INTRO]" << endl;<br>
    // Introducción de los caracteres de "numero"<br>
    cout << ">> ";<br>
    cin.get(numero,9,'\n');<br>
    // Imprimir "numero"<br>
    cout << endl << "*numero : " << numero;<br>
    delete[] numero;<br>
    return 0;<br>
}<br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a></blockquote></div><br>