Hola a todos.
Bueno, el enunciado del manual con el que estoy estudiando c me pedía:
Citar*99. 87
123456789
Escriba un programa que introduzca el monto a imprimir en el cheque y después imprima, si es necesario, el monto en formato protegido con asteriscos al principio. Suponga un total de nueve espacios disponibles para la impresión del monto.
lo pude lograr, pero el siguiente me trabe y realmente no sé cómo continuar, espero de esas mentes prodigiosas (que abundan por aquí) que me pongan algún ejemplo para poder finalizar con este tema.- :rolleyes: :rolleyes:
CitarEscriba un programa que introduzca un monto numérico de cheque y que escriba el equivalente en palabras de dicho monto, Por ejemplo, el monto 112.34 se debe escribir como
CIENTO DOCE y 34/100
#include <stdio.h>
#include <string.h>
#define MAX 10
void completar(char cheque[]);
void proteger(char cheque[]);
void numeroAletra(char cheque[]);
int main(void) {
char cheque[MAX];
printf("\n Ingrese el monto del cheque...:");
fgets(cheque, sizeof(cheque), stdin);
completar(cheque);
proteger(cheque);
//numeroAletra(cheque);
printf("\n\n Pulse [Enter] para finalizar...");
getchar();
return 0;
}
void completar(char cheque[]){
char *p=NULL;
int ch;
if((p=strchr(cheque, '\n'))){
*p='\0';
}
else{
while((ch = getchar()) !='\n' && ch!=EOF);
}
}
void proteger(char cheque[]){
int longitud = strlen(cheque), max = MAX-1;
cheque[max] = '\0';
for(max--; max >= 0; max--){
if(longitud > 0){
cheque[max] = cheque[longitud-1];
}
else{
cheque[max] = '*';
}
longitud--;
}
printf("\n El monto ingresado = %s", cheque);
}
void numeroAletra(char cheque[]){
char *unidad[] = {"Uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve"};
char *decena[] = {"diez", "veinte", "treinta", "cuarenta", "cincuenta", "sescenta", "setenta", "ochenta", "noventa"};
char *centena[] = {"cien", "dosciento", "treciento", "cuatrociento", "quiniento", "seiciento", "seteciento",
"ochocientos", "novecientos"};
char *especiales[] = {"Un", "Mil"};
}
Saludos y desde ya muchas gracias.-
Daniel
Creo que hace tiempo resolvi ese problema del monto pero nunca lo habia visto con decimales hasta cuanto tiene que ser la cifrar que ingreses
cientos, miles o millones
y si es la ultima opcion es un poco largo el programa pero no es complicado
Hola crack81.
Muchas gracias por ocuparte, como no quería postear todo el enunciado omití lo del importe máximo, que es 99.999,99.-
Si te parece muy tedioso sólo dame algunas pistas.-
Saludos.
Daniel