• Martes 5 de Mayo de 2026, 17:59

Mostrar Mensajes

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.


Temas - DanielFB93

Páginas: [1]
1
C/C++ / [Problema] Error de compilación en el prototipado de una función.
« 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:
Código: [Seleccionar]
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:

Código: [Seleccionar]
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.

2
C/C++ / [Problema] Imprimir un salto de línea en un fichero
« 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:
Código: [Seleccionar]
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.

3
C/C++ / [Problema] Crear función que retorne dos valores
« 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?

Código: [Seleccionar]
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);
}

4
C/C++ / [Problema] Imprimir un carácter escaneado en pantalla
« 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:
Citar
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.

Código: [Seleccionar]
#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]