Estoy haciendo una tarea de C++ que tengo para la facultad y estoy trabado en una boludes ¬¬.
Es algo bastante simple pero todavia me estoy acostumbrando a la sintaxis de C++ (el año pasado vimos todo Java) y me debo estar equivocando en algo basico. La idea del programa es que te imprima los N primeros elementos de la serie de Fibonacci y ademas la division entre el elemento N y el N+1 pero eso ultimo todavia no lo hice.
Cuando lo trato de ejecutar me tira error en la linea que marque abajo, ¿alguna idea de que puedo estar haciendom mal?.
Y ya que estamos les hago una pregunta de concepto. ¿cual es la diferencia entre un subprograma y una funcion? ¿como se define cada una?.
Gracias!.
Código:
// TP1 - Fibonacci.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "conio.h"
void calcularFibonacci(int unaCantidad);
void imprimir(int unNumero);
int leerN() {
int N = 0;
printf("\n Ingrese la cantidad de elementos de la serie que desea obtener: ");
scanf("%N", &N);
return N;
}
void main(void) {
int unaCantidad = leerN();
printf("Los primeros %i elementos de Fibonacci son: ", unaCantidad);
calcularFibonacciHasta(unaCantidad);
getch();
}
void calcularFibonacciHasta(int unaCantidad) {
int i;
int anterior1 = 1;
int anterior2 = 0;
int actual;
for (i = 1; i <= unaCantidad; i++) {
if (unaCantidad == 1) {
printf("La serie de Fibonacci con %n elemento/s es 0", unaCantidad);
}
if (unaCantidad == 2) {
printf(" 1");
}
else {
actual = anterior2 + anterior1;
anterior2 = anterior1;
anterior1 = actual;
imprimir(actual);
}
}
}
void imprimir(int i) {
printf(" %i", i);
}