Foros del Web » Programación para mayores de 30 ;) » C/C++ »

corregidme por favor

Estas en el tema de corregidme por favor en el foro de C/C++ en Foros del Web. Buenas, he hecho este código teniendo en cuenta esta pregunta: "Escribe un programa que imprima todas las lineas mayores de 80 caracteres que se le ...
  #1 (permalink)  
Antiguo 10/01/2011, 12:32
 
Fecha de Ingreso: noviembre-2009
Mensajes: 186
Antigüedad: 14 años, 6 meses
Puntos: 2
corregidme por favor

Buenas, he hecho este código teniendo en cuenta esta pregunta:

"Escribe un programa que imprima todas las lineas mayores de 80 caracteres que se le den"

y he hecho esto:
Código C:
Ver original
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. #define MAXLINE 100
  5. #define MINLINE 80
  6.  
  7. int readline (char s[]);
  8.  
  9. int main() {
  10.    
  11.     char string[MAXLINE+1];
  12.     int len;
  13.    
  14.     while (strcmp(string, "quit\n") != 0) {
  15.          
  16.         len = readline(string);
  17.         if (len < MINLINE)
  18.             continue;
  19.            
  20.         else
  21.             printf("%s\n", string);
  22.         }
  23.     return 0;  
  24.    
  25. }
  26.  
  27. int readline (char s[]) {
  28.    
  29.     char c;
  30.     int i;
  31.    
  32.     for (i = 0; i < MAXLINE && (c = getchar()) != EOF && c != '\n'; i++)
  33.         s[i] = c;
  34.        
  35.     if (c == '\n') {
  36.         s[i] = c;
  37.         ++i;
  38.     }
  39.    
  40.     s[i] = '\0';
  41.    
  42.     return i;
  43. }

pero, ¿hay alguna manera mejor de hacerlo (sin cosas raras, estoy aprendiendo )?

y no es nada de ejercicios para clase ni nada de eso, soy autodidacta.

gracias :)
  #2 (permalink)  
Antiguo 10/01/2011, 12:35
Avatar de jakoujan  
Fecha de Ingreso: septiembre-2005
Ubicación: Mexico DF
Mensajes: 26
Antigüedad: 18 años, 7 meses
Puntos: 1
Respuesta: corregidme por favor

Hola amigo se ve mal tu codigo si pudieras hacer algo para arreglarlo con gusto te ayudo

Saludos.
  #3 (permalink)  
Antiguo 10/01/2011, 12:41
 
Fecha de Ingreso: noviembre-2009
Mensajes: 186
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: corregidme por favor

no se, en firefox se ve bien, dejame mirar en chrome

EDITO: también lo veo correcto, ¿como lo ves?
  #4 (permalink)  
Antiguo 13/01/2011, 18:34
Avatar de dgomez5  
Fecha de Ingreso: enero-2011
Ubicación: valencia
Mensajes: 7
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: corregidme por favor

pues yo lo veo bien por lo menos hasta que llego a l definicion de la funcion y es poque no entiendo porque lees c dentro del for ya que si es el ultimo espacio de la cadena igual te pedira el caracter asi no lo puedas mater en el ademas de que en la parte que comparas que si hay un \n l agregas en la cadena y luego aumentas en indice en uno para introducirle el \0 esa pate no es necesaria ya el programa por si mismo lo agrega al final de la ccadena. espero aber ayudado
  #5 (permalink)  
Antiguo 14/01/2011, 15:58
 
Fecha de Ingreso: noviembre-2009
Mensajes: 186
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: corregidme por favor

vale, muchas gracias :)

Etiquetas: favor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:04.