Dev - C++ - ayuda en error de codigo

 
Vista:

ayuda en error de codigo

Publicado por Juan (1 intervención) el 14/10/2020 02:06:54
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
// capitales.h
 
void tabulaCapitales(double capitales, double tasa, int meses);
int duplicaCapital(double capitales, double tasa);
/*
* capitales.cpp
*
* Este modulo contiene las funciones para generar una
* tabla del capital acumulado de una inversión
* depositada a una tasa de interés dada y para
* determinar el numero de meses necesarios
* para que una inversion se duplique. Se supone una
* recapitalizacion mensual y una tasa de interes anual.
*/
#include <stdio.h>
#include <capitales.h>
/*
* Esta función generar una tabla del capital acumulado
* de una inversión depositada a una tasa de interés dada
*/
void tabulaCapitales(double capitales, double tasa, int meses) {
int mes;
// Escribe el encabezado de la tabla
printf("\nMes Capital");
printf("\n---------------");
// Inicializa el contador de meses
mes = 1;
// Para cada mes de la tabla
for (mes = 1; mes <= meses; mes++) {
// Calcula el nuevo capital
capital *= (1 + tasa / 12);
// Escribe mes y capital
printf("\n%3d%12.2lf", mes, capitales);
}
printf("\n---------------\n\n");
}
/*
* Esta funcion determinar el numero de meses necesarios
* para que una inversion se duplique. Se supone una
* recapitalizacion mensual y una tasa de interes anual.
*/
int duplicaCapital(double capitales, double tasa) {
int meses;
double capfinal;
// Inicializa el contador de meses
meses = 0;
// Calcula el capital final
capfinal = 2 * capitales;
// Mientras no se haya duplicado el capital
while (capital < capfinal) {
// Calcula el nuevo capital
capital *= 1 + tasa / 12;
// Siguiente mes
meses++;
}
return meses;
}
/*
* pruebaCapitales.cpp
*
* Este programa genera una tabla del capital acumulado de
* una inversión depositada a una tasa de interés dada.
* Tambien determina el numero de meses necesarios
* para que una inversion se duplique. Se supone una
* recapitalizacion mensual y una tasa de interes anual.
*/
#include <stdio.h>
#include <ctype.h>
#include <capitales.h>
char menu();
int leeDatosTabla();
void leeDatosCapitalDuplicar();
double capitales, tasa;
int main() {
char respuesta;
int meses;
printf("\nEste programa genera una tabla del capital acumulado
de");
printf("\nuna inversión depositada a una tasa de interés
dada.");
printf("\nTambien determina el numero de meses necesarios");
printf("\npara que una inversion se duplique.Se supone una");
printf("\nrecapitalizacion mensual y una tasa de interes
anual.\n");
while (1) {
respuesta = menu();
if (respuesta == 'S') break;
if (respuesta == 'T') {
	meses = leeDatosTabla();
tabulaCapitales(capitales, tasa, meses);
}
else if (respuesta == 'D') {
leeDatosCapitalDuplicar();
meses = duplicaCapital(capitales, tasa);
printf("\nEl numero de meses para que la inversion se
duplique es de %d meses\n", meses);
}
else printf("\nOpcion incorrecta\n");
}
return 0;
}
/*
* Esta funcion desplega el menu de opciones del prorama
* y lee la opcion seleccionada.
*/
char menu() {
printf("\nT)abular capital");
printf("\nD)uplicar capital");
printf("\nS)alir");
printf("\n\nOpcion? ");
return toupper(getchar());
}
/*
* Esta funcion lee datos para generar la tabla de capitales
*/
int leeDatosTabla() {
int meses;
// Lee el capital inicial, tasa de interés anual y meses a
// tabular
printf("\nCapital, tasa y meses a tabular: ");
scanf_s("%lf%lf%d", &capitales, &tasa, &meses);
getchar();
return meses;
}
/*
* Esta funcion lee los datos para determinar el numero de meses para
* que un capital se duplique
*/
void leeDatosCapitalDuplicar() {
// Lee el capital inicial y la tasa de interes
printf("\nCapital inicial y tasa de interes anual: ");
scanf_s("%lf%lf", &capitales, &tasa);
getchar();
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

ayuda en error de codigo

Publicado por Nacho (181 intervenciones) el 14/10/2020 18:47:17
Imposible. Los errores se ven depurando un programa. Me he cansado ya de decir que si no aprendéis a depurar nunca podréis desarrollar nada. Cita:
En el ámbito de la informática, depurar significa encontrar y corregir errores en el código de una aplicación. La depuración del código de un programa es una tarea ardua, ingrata y utópica. Nunca se puede asegurar que un código está libre de errores. Si tenemos que depurar código desarrollado por otros programadores la tarea puede llegar a ser surrealista.

Si no podemos depurar porque no tenemos los includes y ni siquiera dices de qué va el error es imposible.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar