|
|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - DanielFB93
Páginas: [1]
1
« en: Martes 24 de Abril de 2012, 21:43 »
Al final lo he "solucionado". El problema es el editor de texto (el archiconocido Bloc de notas) que no me ponía los saltos de línea. Ahora probé con Notepad++ y perfecto.
Gracias. Entonces el problema esta en que aparentemente la libreria C que esta usando interpreta el fin de linea ("\n") como el caracter 0x0A (10 en decimal) pero el problema es que Windows usa 0x0D0A (13 y 10 o "\r\n" en UNIX) como fin de linea.
Eso lo podes comprobar con un editor hexadecimal, si es el caso seria mejor que usaras "\r\n" como fin de linea para seguir con el estandar de Windows
De acuerdo. ¡Muchísimas gracias por decirme el porqué de la situación! Un saludo.
2
« en: Lunes 23 de Abril de 2012, 19:31 »
Al final lo he "solucionado". El problema es el editor de texto (el archiconocido Bloc de notas) que no me ponía los saltos de línea. Ahora probé con Notepad++ y perfecto.
Gracias.
3
« en: Domingo 22 de Abril de 2012, 10:07 »
no recuerdo bien, pero me parece q si en la declaracion de tus variables/vectores agregas typedef te evitas tener que estar poniendo struct cada que hagas referencia a la variable/vector (aunque no se si ahi tambien con ese se pueda sin el struct ):
typedef SFeatures_struct variable;
Saludos!!
Sí, creo que por eso se me pasó. Es que ahora estoy aprendiendo a manejar structs y typedef's y me lío un poco. Por eso creo que me dejé la palabra struct porque yo pensaba que había creado un typedef  Muchas gracias por la ayuda!
4
« en: Sábado 21 de Abril de 2012, 23:33 »
Sí, se me olvidó! Es que al solucionarlo ya comencé a retocar de nuevo del entusiasmo. De hecho el error fue bastante tonto y tardé en darme cuenta: faltaba la palabra struct en el prototipado de la función. Quedaría de la siguiente manera: void assignShipFeatures (FILE *f, struct SFeatures_struct navy[]); Espero que pueda ayudar a alguien que se despiste como yo
5
« en: Sábado 21 de Abril de 2012, 21:06 »
Perdón por el doble post pero ya he solucionado el problema. Gracias!
6
« en: Sábado 21 de Abril de 2012, 15:46 »
Hola, me gustaría consultar una duda que me ha surgido durante la elaboración de un programa. La duda me surge como consecuencia del siguiente error de compilación:
engine.h:20:35: error: expected declaration specifiers or ‘...’ before ‘SFeatures_struct’ La línia en de código donde se encuentra el error es la siguiente y corresponde al prototipado de una función:
void assignShipFeatures (FILE *f, SFeatures_struct navy[]); Esta función recibe un puntero de tipo FILE (no sé si específicamente se llama así) y un array donde cada celda es una estructura que contiene diversos datos.
Por más que he buscado información sobre este tipo de error en Google, no entiendo porqué me da error. Espero que puedan indicarme que puede ser.
Muchas gracias.
7
« en: Domingo 8 de Abril de 2012, 15:12 »
Buenas, escribo para consultar una pequeña duda que me ha surgido. Estoy haciendo un programa (sin una finalidad útil, tan solo para practicar), que imprime algo parecido a un diagrama de barras según los números que se encuentran en un fichero de texto. Por ejemplo, si en el fichero pone 3 4 5 imprime tres barras: una con tres astediscos, otra debajo con 4, etc.
El problema es que estos astediscos se imprimen sin saltos de línea aún escribiendo el orden siguiente:
fprintf(f2,"\n"); De esta manera, al abrir el archivo veo una gran línea de astediscos. He buscado información pero no doy con la solución. Espero que puedan ayudarme.
Gracias de antemano.
8
« en: Sábado 18 de Febrero de 2012, 19:04 »
Solucionado! Muchísimas gracias
9
« en: Lunes 13 de Febrero de 2012, 14:34 »
Bueno, realmente ahora que vuelvo a mirar el código tu no devuelves nada. Imprimes por pantalla un resultado y pus. No necesitas hacer ningún cambio.
Donde necesitas los valores?
Exacto, solo me imprime el texto por pantalla. Pero tengo una función para leones y otra para zebras, y eso es lo que me fastidia. Lo que pretendo hacer es una función generalizada que retorne un valor u otro dependiendo de si son zebras o leones. La razón de esto, más alla de la limpieza del código, es que en otra fase del programa tengo que imprimir SOLO el número de zebras o leones, y claro, eso me implica hacer otra función que hace exactamente lo mismo que la que he mostrado, con la única diferencia que me retorna un número. Por ese motivo quiero que me retorne dos valores, para poderlos utilizar cuando quiera y donde quiera sin tener que sobrecargar el código.
10
« en: Domingo 12 de Febrero de 2012, 21:25 »
También había pensado en esa alternativa (aunque sinceramente, aún no la sé emplear). Aún así, nos dijeron que no podíamos usar punteros, y que lo podíamos hacer sin ellos. Eso es lo que me dejó un poco desconcertado. Si tienen alguna otra idea de como hacerlo, lo agradecería mucho porque por mucho que pienso, no doy con una respuesta.
Gracias!
11
« en: Sábado 11 de Febrero de 2012, 20:57 »
¡Hola! De nuevo estoy teniendo problemas con un código en C, y esta vez relacionado con funciones. Les explico: estoy haciendo un ejercicio que muestra una estadística sobre la evolución de una población de leones y cebras en una isla. Como parte del ejercicio, necesito que me diga "El número mínimo de leones en el año ___ fue de ___ " , y lo mismo pero para cebras.
El problema viene al hacer la función: una posible solución, que es la que he implementado, es hacer una función "mínimo" para ocas y otra para leones de tipo void que después de hacer sus cálculos me muestre lo que toque.
La alternativa que había pensado es hacer una función de tipo int que me retornara dos valores: uno para el año y otro para el número. Y esto hacerlo mediante un array. El problema es que me han comentado que es peligroso hacerlo por temas de inteligibilidad del código y eso, pero yo quiero tener un código más "flexible", por decirlo de algún modo. ¿Se les ocurre alguna idea?
void minimo_leones(int x[]){ int count, min, current_year=0; min = x[0]; for(count=0; count<=YEARS; count++){ if(x[count]<min){ min = x[count]; current_year = count; } } printf("La poblacion minima de leones fue de %d en el anio %d.\n", min, current_year); }
12
« en: Lunes 23 de Enero de 2012, 19:47 »
Muchísimas gracias por solucionarlo, tenía este mismo problema en muchos programas de tareas similares y ahora ya lo he podido arreglar. De nuevo, muchas gracias
13
« en: Domingo 22 de Enero de 2012, 15:58 »
Buenas tardes, me he inscrito en este foro porque estoy en pleno proceso de iniciación al mundo de la programación, tal y como pueden ver en C. Pues bien, en uno de los ejercicios que realizo me he quedado trabado; es el siguiente: Escribe una función naturales que imprima los n primeros números naturales, cada uno en una línea, y junto a cada uno de ellos un número de caracteres similar, donde dicho carácter viene determinado por un parámetro c. Por ejemplo, si n=5 y c=’*’, la función escribe: 1 * 2 ** 3 *** 4 **** 5 ***** Escribe también un programa, utilizando dicha función, que pida al usuario n y c y escriba por pantalla el resultado. El código que encuentran a continuación es lo que he escrito. El problema se produce después de haber introducido el número y presionado intro, pues no me deja introducir el carácter que quiera, deja un gran espacio en blanco y ahí se queda. #include <stdio.h>
void naturales (int n, char c);
void naturales (int n, char c){ int count, count2; for(count=1; count<=n; count++){ printf("%d ", count); for(count2=1; count2<=count; count2++){ printf("%c", c); } printf("\n"); } }
int main(){
int numero; char symbol; printf("Introduzca un numero: "); scanf("%d",&numero); printf("Introduzca un caracter: "); scanf("%c",&symbol); fflush(stdin); printf("\n"); naturales(numero, symbol); return 0; }
Posiblemente haya un error estúpido, pero no doy con él. Espero que puedan ayudarme. Saludos, y gracias de antemano.
Páginas: [1]
|
|
|