[ Foro de C ]

Caracteres de Control

18-Feb-2016 04:13
Invitado (Luis)
1 Respuestas

La pregunta esta relacionada con el ejercicio que aparece el libro de de Programacion en C  cc095, ejercicio 5.6.3 de la pagina 111.
Mi duda es no se como preguntar en un while por el espacio blanco, si tengo que usar los caracteres de control, si debo hacer uso del '\n', o si debo hacer uso de los numeros del  LF y CR, y tomarlo con la funcion gets().

Este es el codigo que he probado pero siempre me queda leyendo la entrada por teclado..

 
#include <iostream>
#include <stdio.h>
#include <string.h>
#define MAX 30
#define MAXIMA 5
 
using namespace std;
 
static struct {
    char direccion[MAX];
    int telefono;
    int edad;
} agenda[MAXIMA];
 
 
 
int main()
{   
    char nombre[30];
    printf("Ingrese nombre: ");
    gets(nombre);
 
	while(nombre != '\0')
    {
 
		printf("Ingrese nombre: ");
    	gets(nombre);
 
    }
    return 0;
}    
 


Hice una prueba simplemente para ver si me funcionaba el codigo pero no me dio resultados, no encuentro la forma de hacer me lea por teclado la tecla intro y que me salte del bucle...
Desde ya muchas gracias..


23-Feb-2016 01:00
Nacho Cabanes (+30)

No acabo de comprender a lo que te refieres... la tecla Intro (carácter de control \n) es el terminador de la entrada de datos, así que no la leerás con "gets", sino que se detendrá justo al llegar a ese punto.

Por cierto, te sobran la línea de "iostream" y la de "using", que no son de lenguaje C, sino de C++. Algunos compiladores lo permitirán, pero no es correcto.

Un error más grave que tienes es el de comparar cadenas con !=, en vez de usar "strcmp".






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)