Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - dieguex1

#1
necesito ayuda con este ejercicio, el enunciado es este y se cierra al ingresar "drogas"  :(

Se requiere realizar un programa en lenguaje "C" que se utilice como apoyo para la inducción en el proceso del pago de una multa.
El problema comienza solicitando al usuario el número de la causa denominado RIT (Rol interno de tribunal). También se le solicita el delito por el cual se le condenó. Si el delito corresponde a "DROGAS", entonces el programa debe enviar un mensaje que señale: "COMPLETAR FORMULARIO DE CTA. CORRIENTE N° 9023283 DEL BANCO ESTADO, MINISTERIO DEL INTERIOR Y CONCURRIR A DEPOSITAR EL DINERO EN DICHA CUENTA". En caso contrario si el delito no es "DROGAS", se debe solicitar al usuario el tipo de procedimiento; si es del tipo "MONITORIO", entonces se debe solicitar al usuario  la fecha en que recibió la notificación de la multa y el valor de la multa. Si desde aquella fecha de notificación hasta la fecha actual (hoy) han transcurrido menos o igual a 15 días, entonces se debe realizar un 25% de descuento, mostrando por pantalla el monto a pagar calculado, a través de los siguientes mensajes:
1.- "LA MULTA A PAGAR ES DE $(debe ir el monto a pagar calculado)"
2.- "COMPLETAR FORMULARIO EXCEL DENOMINADO "PAGO MONITORIO" Y CONCURRIR A PAGAR LA MULTA EN LA MUNICIPALIDAD".
3.- "PAGAR LAS COSTAS DE LA CAUSA EN LA CUENTA CORRIENTE N°53309172147 DEL BANCO ESTADO, CORPORACIÓN ADMINISTRATIVA DEL PODER JUDICIAL".

En el caso que el procedimiento no es del tipo "MONITORIO", entonces el programa debe mostrar los siguientes mensajes:
1.- "INGRESAR A LA PÁGINA WEB http://www.tesoreria.cl/, COMPLETAR EL FORMULARIO 10 DE LA TESORERÍA GENERAL DE LA REPÚBLICA".
2.- "PAGAR LA MULTA EN CUALQUIERA DE LOS SIGUIENTES BANCOS: BBVA – BICE – CORP BANCA – SCOTIABANK – CHILE – BCI – SECURITY – ITAU – INTERNATIONAL – BANCOESTADO".

esto es lo que tengo avanzado hasta el momento

#include <stdio.h>
#include <time.h>
//----------------------------------------------------
void transformar(char delito[]){
int i;
for(i=0;delito[i]!='\0';i++){
if(delito[i]>=65&&delito[i]<=90)
delito[i]=delito[i]+32;
}
}
//----------------------------------------------------
int verificar(char delito[]){
int i;
char copia[7]={"drogas"};
for(i=0;delito[i]!='\0';i++){
if(delito[i]!=copia[i])
return 1;
}
return 0;
}
//----------------------------------------------------
int verificar2(char delito[]){
int i;
char copia[10]={"monitorio"};
for(i=0;delito[i]!='\0';i++){
if(delito[i]!=copia[i])
return 1;
}
return 0;
}
//----------------------------------------------------
float descuento(float valor, char fecha[]){
int retorno;
time_t tiempo = time(0);
struct tm *tlocal = localtime(&tiempo);
char output[128];
strftime(output,128,"%d/%m/%y %H:%M:%S",tlocal);
retorno=verificarfecha(output,fecha);
switch(retorno){
case 0:{
printf("La fecha de la multa no excede los 15 dias, se aplica descuento.\n");
return valor*0.75;
break;
}
case 1:{
printf("La fecha de la multa excede los 15 dias, no se aplica descuento.\n");
return valor;
break;
}
}
}
//----------------------------------------------------
int verificarfecha(char output[], char fecha[]){
int diaac;
int diaml;
int i;
for(i=2;i<8;i++){
if(i<=5){
if (fecha[i]!=output[i])
return 1;
}
else
if (fecha[i+2]!=output[i])
return 1;
}
diaac=(output[0]-48)*10+output[1]-48;
diaml=(fecha[0]-48)*10+fecha[1]-48;
if (diaac>diaml){
if(diaac-diaml>15){
return 1;
}
return 0;
}
else{
if(diaml-diaac>15){
return 1;
}
return 0;
}
}
//----------------------------------------------------
int main(int argc,char* argv[]){
int rit;
char delito[50];
char procedimiento[50];
char fecha[11];
float valor;
printf("Ingrese su RIT:\n");
scanf("%d",&rit);
printf("Ingrese su delito:\n");
printf("el cual puede ser 'Drogas' u 'Otros'\n");
scanf("%s",delito);
transformar(delito);
switch(verificar(delito)){
case 0: {
printf("COMPLETAR FORMULARIO DE CTA. CORRIENTE N° 9023283 DEL BANCO ESTADO, MINISTERIO DEL INTERIOR Y CONCURRIR A DEPOSITAR EL DINERO EN DICHA CUENTA\n");
break;
};
case 1: {
printf("Ingrese Tipo de procedimiento:\n");
printf("Puede ser 'Monitorio' u 'Otro'\n");
scanf("%s",procedimiento);
transformar(procedimiento);
switch(verificar2(procedimiento)){
case 0:{
printf("Ingrese la fecha en la cual se le entrego la multa\n");
printf("formato fecha: 'dia/mes/año' '01/01/2000' ignorando las comillas.\n");
scanf("%s",fecha);
printf("Ingrese el valor de su multa\n");
scanf("%f",&valor);
valor=descuento(valor,fecha);
printf("LA MULTA A PAGAR ES DE $%.2f. \nCOMPLETAR FORMULARIO EXCEL DENOMINADO €œPAGO MONITORIO” Y CONCURRIR A PAGAR LA MULTA EN LA MUNICIPALIDAD.\nPAGAR LAS COSTAS DE LA CAUSA EN LA CUENTA CORRIENTE N°53309172147 DEL BANCO ESTADO, CORPORACIÃ"N ADMINISTRATIVA DEL PODER JUDICIAL\n",valor);
break;
}
case 1:{
printf("INGRESAR A LA PÁGINA WEB http://www.tesoreria.cl/, COMPLETAR EL FORMULARIO 10 DE LA TESORERÍA GENERAL DE LA REPÚBLICA.\nPAGAR LA MULTA EN CUALQUIERA DE LOS SIGUIENTES BANCOS: BBVA €" BICE €" CORP BANCA €" SCOTIABANK €" CHILE €" BCI €" SECURITY €" ITAU €" INTERNATIONAL €" BANCOESTADO\n");
break;
}
}
break;
};
}
return 0;
}


http://www.mediafire.com/download/4cdpsv9d65vjx5r/work.c.rar

de antemano muchas gracias