Hagamos que México crezca..

Prefiere el consumo de lo Hecho en México

Visitantes








Conversación

  • Samantha Santin: ola me pueden ayudar con lo basico para un examen de linux , estoy en 10 mo de basica , por favor , gracias  
  • alexandra: hola...tengo problemas para configurar las llamadas y crear los troncales....uso elastix 2.0.3 con asterisk 1.6...y soy nueva en esto..puedo relizar llamadas dentro de una misma oficina, pero no puedo sacarlas fuera, es decir locales e internacionales...necesito asesoria...gracias  
  • Ben: Welcome to visit www.vogue4biz.com and www.seekjersey.com! Wholesale Jordan Shoes and NFL/NHL jerseys!New Arrival ! Free Shipping !
    Consequently, a Avirex jacket variety evolved into winner fashion4biz already in the market, mainly with their variety of air travel puma shoes women jackets which in turn for the most part mimics those of journey outdoor jackets put on around WWII. Due to its results, Avirex make have in addition enhanced by jackets to other common attire outlines including t shirts, hoodies, along with jeans.
    A great number of completely new attire lines also gained plenty of celebrity inside entertainment world. To its captivating pattern in addition to level of quality attire, Avirex includes received its own head connected with celebrity followers which include: Ruben Travolta, Will certainly Henderson, Puffy Hair combs, Chad Good ole', Shaquille O'Neal, Busta Rhymes,, puma shoes ladies Sylvester Stallone, Missy Elliott, Eminem, Nas, All 5, Procedure Guy,, Make Nubian, Lmost all Awesome L, David Cena, as well as Georgio Armani. Start off your individual from suppliers avirex company by www.vogue4biz.com
    Avirex regarding todayIn women s puma shoes 2008, this Avirex make has been bought in 3 entire ladies puma shoes suede puma shoes world districts, United states of america, European countries puma shoe sale along with The japanese. A brand new owner of Avirex brand in the us cat puma shoes can be Draw Ecko Corporation. According to a lot of people, each one districts possess their own libraries regarding Avirex garments range. Not really a pair of parts get identical types associated with outfits. His or her just likeness is with their particular usage of brand.
    Even puma ladies shoes so, the availability associated with flight handling outdoor jackets were quit afterwards that year. In line with Mark, all of Avirex printed government and timeless apparel had been discontinued along with used a new Clymans firm, Cockpit U . s .. Start out your own from suppliers avirex company by Sevenwholesale.com.  
  • Fernando Hernández: Hey! Ya no estan disponibles los posts sobre facturación electrónica en México, podrías pasarme el tutorial o la clase en php? Por favoooor. Gracias  
  • daniel nuñez: buenas soy de venezuela y tengo una duda yo lo que quiero es hacer una iso debian que tenga todos los paquetes necesarios completos y programas como synaptis fortran java los pluging de video y sonido ya instalados osea que tenga todo lo necesario instalado pero sin que sea una instalacion con un cd netinst, es posible ?  
  • Cesar villegas: Buenas!!! oye no tienes programado algún curso?  
  • Urbano: Hola soy de Argentina.
    Desde hace un tiempo tengo instaldo Asterbilling SL y me parece un rpoyecto útil e interesante. Ahora me compré un AT 530 con la intension de pasar la tarifa al telefono pero seguramente algo estoy haciendo mal ya que despues de configurar el script con los datos del AMI; MySQL y ejecutar el comando que indica el manual.. no pasa nada, todo sigue igual y no se muestra la tarifa en la pantalla del telefono. Tal vez deba configurar algo tambien en el telefono.. la verdad no se, es que tampoco soy un experto en la materia. Les dejo algunos datos que talvez sean utilespara que me puedan ayudar: Tengo Elastíx 2.0.3 con Asterisk 1.6; FreePBX 2.7.0.3; A2Billing 1.8.1; Astercc 1.4 y Asterbilling SL. Espero que me puedan ayudar; desde ya muchas gracias.  
  • kike: Oye filein.. necesito una cotización de unas FxO para analógicas porfa..
    saludos  
  • cristy: hola por favor tengo problemas para conectar agi con asterisk me sale un error de broken pipe, sabes de que se trata???  
  • Jose: Heyu como podria funcionar con el CM15?
    Gracias  

Escribe el código Captcha que estás viendo

C/C++ y algunos problemas de bachillerato

Hace unos días me contacto un alumno de un COBAO(Colegio de Bachilleres) de Oaxaca, bachillerato dónde estudié hace algunos ayeres, pidiéndome que le asesorara con la resolución de algunos problemas de programación, por lo que le eché la mano ya que le habían pedido que resolviera algunos problemas simples de programación en C/C++ en su materia de informática y a la edad de 15 ó 16 años muy pocos son duchos con este lenguaje de programación - a menos que sean como Xiam que es un chavo que desde corta edad se le ha dado la programada, linuxeada y demás-.
Por lo que le pedí que me enviara las dudas para ayudarle a resolverlas, cabe mencionar que también tiene años que no programaba en C/C++ pues me he dedicado al desarrollo de aplicaciones web con PHP y AJAX, al igual que desarrollo de aplicaciones para móviles con .Net, por lo que me sirvió resolver estos problemas como recordatorio de C/C++.
Los problemas son los siguientes:
  • 1.- Diseñar un programa que a partir de la fecha introducida por teclado con el formato día, mes, año se obtena el siguiente día considerando el año bisiesto.
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <conio.h>
    int main(int argc, char argv)
    {
        char *fecha;
        if(argc>1){        
            fecha = malloc(strlen(argv[1]));
            strcpy(fecha, argv[1]);
        }else{
              char dato[10];
              printf("fecha:");
              scanf("%s", dato);
              fecha = malloc(strlen(dato));
              strcpy(fecha, dato);
        }
        validaFecha(fecha);
        getch();
     }

     validaFecha(char *fecha){
            int datos[2];
            char *ptr;
            int count = 0;
            int error = 0;
            ptr = strtok(fecha,"/");
            while(ptr != NULL)
            {
                 datos[count++] = atoi(ptr);
                 ptr = strtok(NULL, "/");
            }
            //Enero, Febrero, Marzo, Abril, Mayp, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre
            if(count!=3){
                    printf("Error en el formato de fecha...\nHelp :\nFormato del programa\nnextDay dia/mes/anio\n\nEjemplo: nextDay 12/12/2009");
                    error++;
            }else{
                  if(datos[1]>0 && datos[1]<=12){
                      if( datos[1]==1 || datos[1]==3 || datos[1]==5 || datos[1]==7 || datos[1]==8 || datos[1]==10 || datos[1]==12 ){
                          if(datos[0]>0 && datos[0]<=31){
                               if(datos[0]==31){
                                 datos[0]=1;
                                 if(datos[1]<12){
                                       datos[1]++;
                                 }else{
                                       datos[1]=1;
                                       datos[2]++;
                                 }
                               }else{
                                     datos[0]++;
                               }
                          }else{
                                printf("Error en el dia de la fecha");
                                error++;
                          }
                      }else{
                          if( datos[0]>0 && ( (datos[0]<=30 && datos[1]!=2 ) || ( datos[0]<=29 && datos[1]==2 && datos[2]%4==0) || (datos[0]<=28 && datos[1]==2 && datos[2]%4!=0) ) ){
                              if(datos[0]==30 && datos[1]!=2){
                                 datos[0]=1;
                                 datos[1]++;
                              }else{
                                    if(datos[1]==2){
                                        if( (datos[0]==28 && datos[2]%4!=0) || (datos[0]==29 && datos[2]%4==0)){
                                            datos[0]=1;
                                            datos[1]++;
                                        }else{
                                             datos[0]++;
                                        }
                                    }else{
                                          datos[0]++;
                                    }
                              }
                          }else{
                                printf(" Error en el formato de la fecha introducida ");
                                error++;
                          }
                      }
                  }else{
                     printf("%d Error en el mes", datos[1]);      
                     error++;
                  }              
            if(error==0){
                  printf("Dia siguiente: %d / %d / %d\n", datos[0], datos[1], datos[2]);
            }
            getch();
            }
     }
     
  • 2.- Obtener el número de combinaciones de m elementos tomado de n en n es: (m/n) = m!/(m!(m-n)!) que permita calcular el numero de combinaciones de (m/n)
    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
     int factorial(int numero);
    int main(int argc, char
    argv)
    {
        int m = 0 ;
        int n = 0;
        int result = 0;
        if(argc>2){        
            m = atoi(argv[1]);
            n = atoi(argv[2]);
        }else{
              printf("m:");scanf("%d", &m);
              printf("n:");scanf("%d", &n);
        }
        if(n<=m){
            result = factorial(m)/ ( factorial(n) * factorial(m-n) ) ;
            printf("\nCombinacion de %d elementos tomados de %d : %d", m, n, result);
        }else{
              printf ("Error el valor de [n] no puede ser mayor que el valor de [m]");
        }
        getch();
     }
     
     int factorial(int numero){
            int i = 1;
            int value = numero;
            for(i=1 ;i<numero; i++){
               value =  value * i ;
            }
            return value;
    }

     
  • 3.- Diseñar un programa que transforme un numero introducido en formato decimal y lo convierta en notación romana, el número debe ser positivo y no excederse de 3000.
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <conio.h>
    void   romanos(int numero );
    int main(int argc, char argv)
    {
        int numero = 0 ;
        if(argc>1){        
            numero = atoi(argv[1]);
        }else{
              printf("Numero :");
              scanf("%d", &numero);
        }
        if(numero>=0 && numero<=3000){
                 romanos(numero);
        }else{
              printf("Error en el valor del numero introducido");
        }
       
     }

        void romanos(int numero  ){
             int residuo  = 0;
             int div = 0;
             char *a = "";
             char *b = "";
             char *c = "";
             
             int i = 0;
             int value = 1000;
             char *romano;
             romano = (char *)malloc(sizeof(char)*100);
             strcpy(romano, "");
             while(numero>0 && value>0 ){
                 residuo = numero % value;
                 if(residuo<numero){
                    div = ((numero-residuo)/value);
                    switch(value){
                        case 1000:
                             a = "M";
                             b = "/V";
                             c = "/X";
                             break;
                        case 100:
                             a = "C";
                             b = "D";
                             c= "M";
                             break;              
                        case 10:
                             a = "X";
                             b = "L";
                             c = "C";
                             break;
                        case 1:
                             a = "I";
                             b = "V";
                             c = "X";
                             break;
                    }
                    if(div==9){
                         strcat(romano, a);
                         strcat(romano, c);
                    }else if(div==4){
                          strcat(romano, a);
                         strcat(romano, b);
                    }else if(div<5){
                        for(i=1;i<=div;i++){
                            strcat(romano, a);
                        }
                    }else{
                          strcat(romano, b);
                          for(i=1;i<=(div-5);i++){
                            strcat(romano, a);
                        }
                    }//fin del si no es menor que 5
                 }//fin de si residuo menor que numero
                 numero = residuo;
                 value = value/10;
             }//fin del while
             printf ("\nNumero Romano: %s\n", romano);
             getch();
               
        }//fin de la funcion
     
  • 4.- Escribir un procedimiento recursivo que escriba un numero en base 10 a otro número en base entre 2 y 9.
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <conio.h>
    void   getBase(int decimal, int base );
    int main(int argc, char
    argv)
    {
        int decimal = 0 ;
        int base = 0;
        if(argc>2){        
            decimal = atoi(argv[1]);
            base = atoi(argv[2]);
        }else{
              printf("decimal:");
              scanf("%d", &decimal);
             
              printf("base:");
              scanf("%d", &base);
        }
        if(base>=2 && base <=9){
                 getBase(decimal,base);
        }else{
              printf("La base debe estar entre 2 y 9");
        }
       
     }

    void  getBase(int decimal, int base ){
             //printf("%d::%d", decimal, base);
             int residuo = 0;
             int entero = decimal;
             char *result;
             char *temp;
             result = (char *)malloc(sizeof(char)*100);
             strcpy(result, "");
             strcpy(temp, "");
             
             while(decimal>=base){
                 residuo = decimal % base;
                 itoa(residuo, temp, 10);
                 strcat(result, temp);
                 decimal = (decimal-residuo) / base;
             }
             itoa(decimal, temp, 10);
             strcat(result, temp);
             result  = strrev(result);
             printf("El numero decimal %d en base %d es %s",entero, base, result );
             getch();
        }
     
  • 5.- Procedimiento recursivo que permita invertir una cadena.
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <conio.h>
    void   invertir(char *cadena);
    int main(int argc, char argv)
    {
        int decimal = 0 ;
        int base = 0;
        char *cadena;
        if(argc>1){        
            strcpy(cadena, argv[1]);
        }else{
              strcpy(cadena, " ");
        }    
        while(strlen(cadena)>0){
            invertir(cadena);
            printf("\nCadena a Invertir[Enter para salir]: ");
            gets(cadena);
        }
     }

      void  invertir(char *cadena){
            int i = 0;
            for(i=strlen(cadena); i>=0; i--){
                 //result[j++] = cadena[i] ;
                 printf("%c", cadena[i]);
            }        
      }
     
  • 6.- Calcular la suma de todos los números en un vector de 100 elementos y obtener su media aritmética.
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <conio.h>
    void   media(int num);
    int main(int argc, char
    argv)
    {
        int vector = 0 ;
        if(argc>1){        
            vector = atoi(argv[1]);
        }else{
              vector = 100;
        }
         while(vector>0){
            media(vector);
            printf("\nTamañoi del vector [0 para salir]: ");
            scanf("%d", &vector);
         }
     }

    void   media(int num){
           int *values;
           int i = 0;
           values = (int *)malloc(sizeof(int)*num);
           int suma = 0;
           float media = 0;
           for(i=0;i<num;i++){
               values[i] = (rand()%100);//numeros aleatorios entre 0 y 99
               suma = suma +values[i];
           }
           printf ("\nVector: ");
           for(i=0; i<num;i++){
               printf("%d, ", values[i]);
           }
           media = (float ) suma / num;
           
           printf("\nMedia :%10.5f", media);
    }
     
     
  • 7.- Escribir un programa que permita sumar el numero de elementos positivos y de elementos negativos de una tabla T en n Filas y en m columnas.
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <conio.h>
    void   tabla(int m, int n );
    int main(int argc, char argv)
    {
        int m = 0 ;
        int n = 0;
        if(argc>2){        
            m = atoi(argv[1]);
            n = atoi(argv[2]);
        }else{
              printf("Filas(m):");
              scanf("%d", &m);
             
              printf("Columans(n):");
              scanf("%d", &n);
        }
         tabla(m,n);
     }

     void  tabla(int m, int n ){
             int dato = 0;
             int pos = 0;
             int neg = 0;
             int i = 0;
             int j = 0;
             int *values = (int *)malloc(sizeof(int)*m*n);
             for (i =  0; i<m; i++){
                 for (j=0;j<n;j++){
                     printf("\ndato[%d,%d]: ", i+1, j+1);
                     scanf("%d", &dato);
                     values[(i*n)+j] = dato;
                     if(dato>=0){
                         pos++;
                     }else{
                         neg++;
                     }
                 }
             }
             printf("\nMatriz\n");        
             for (i =  0; i<m; i++){
                 for (j=0;j<n;j++){        
                     printf ("%d, ", values[(i*n)+j] );
                 }
                 printf("\n");
             }
           
             printf("\nNumeros positivos: %d\nNumeros negativos: %d", pos, neg);
             getch();
        }
     
  • 8.- Suponiendo que existen N ciudades en la red ferroviaria de un pais y que sus nombres están almacenados en un vector llamado Ciudad. Diseñar un programa que lea los nombres de las Ciudades y muestre con que ciudades esté enlazada.
    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    #include <string.h>
     int ferroviaria(int ciudades);
    int main(int argc, char
    argv)
    {
        int numCiudades = 0 ;
        int result = 0;
        if(argc>1){        
            numCiudades = atoi(argv[1]);
        }else{
              printf("Ciudades:");
              scanf("%d", &numCiudades);
        }
       
        if(numCiudades>1){
            ferroviaria(numCiudades);
        }else{
              printf ("Introduzca más de una ciudad");
        }
     }
     
     int ferroviaria(int numCiudades){
         int i = 0;
         int j = 0;
         char *ciudades[numCiudades];
         char ciudad[1024];
         strcpy(ciudad, "");
         int *rutas = (int *)malloc(sizeof(int)*numCiudades*numCiudades);
             
         for(i=0; i<numCiudades; i++){
             printf("\nCiudad [ %d ]", i+1)   ;
             gets(ciudad);
             ciudades[i] = (char *)malloc(strlen(ciudad)*sizeof(char) );
             strcpy(ciudades[i], ciudad);
             for(j=0;j<numCiudades;j++){
                  rutas[ (i*numCiudades)+j] = rand()%2;//1 si hay conexion de ruta, 0 no hay ruta de conexión
                  if(rutas[(j*numCiudades)+i]==1|| rutas[(j*numCiudades)+i]==0 ){
                      rutas[ (i*numCiudades)+j] =rutas[(j*numCiudades)+i];      
                  }
             }
         }
         printf("\nTabla de Ciudades y Rutas\n\t");      
         for(i= 0; i<numCiudades; i++){
               printf("%s\t", ciudades[i]);      
         }
         printf("\n");      
         for(i= 0; i<numCiudades; i++){
                printf("%s\t", ciudades[i]);
                for(j= 0; j<numCiudades; j++){
                       printf("%d\t ", rutas[(i*numCiudades)+j]);
                }
                printf("\n");
         }    
         printf("\nDetalles de Ciudades y Rutas\n\n");      
         for(i= 0; i<numCiudades; i++){
                printf("%s Conexiones: \n", ciudades[i]);
                for(j= 0; j<numCiudades; j++){
                       if(rutas[(i*numCiudades)+j]==1 && i!=j){
                               printf("%s\t", ciudades[j]);
                       }
                }
                printf("\n\n");
         }    
         getch();    
     }

     
  • 9.- Visualizar la matriz transpuesta de una matriz M de 6 x 7 elementos.
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <conio.h>
    void   transpuesta(int m, int n );
    int main(int argc, char argv)
    {
        int m = 0 ;
        int n = 0;
        if(argc>2){        
            m = atoi(argv[1]);
            n = atoi(argv[2]);
        }else{
              printf("Filas(m):");
              scanf("%d", &m);
             
              printf("Columans(n):");
              scanf("%d", &n);
        }
         transpuesta(m,n);
     }

     void  transpuesta(int m, int n ){
             int i,j;
             int *values = (int *)malloc(sizeof(int)*m*n);
             int *mTranspuesta = (int *)malloc(sizeof(int)*n*m);
             printf("\n matriz original\n");
             for (i = 0; i<m; i++){
                 for (j=0;j<n;j++){
                     values[(i*n)+j] =  values[i] = (rand()%100);//numeros aleatorios entre 0 y 99;
                     mTranspuesta[(j*m)+i] =  values[(i*n)+j] ;
                     printf("%d, ", values[(i*n)+j]);
                 }
                 printf("\n");
             }
             
             printf("\n Matriz Transpuesta\n");
             for (i = 0; i<n; i++){
                 for (j=0;j<m;j++){
                     printf("%d, ", mTranspuesta[(i*m)+j]);
                 }
                 printf ("\n");
             }
             getch();        
           
        }
     
  • 10.- Una empresa de venta de productos por correo desea realizar una estadística de las ventas realizadas de cada uno de los productosa lo largo del año. Distribuye un total de 100 productos, por lo que las ventas se pueden almacenar en una tabla de 100 filas y 12 columnas. Se desea conocer:
  • a) El total de venta de cada uno de los productos.
  • b) El total de ventas de cada mes.
  • c) El producto más vendido de cada mes.
  • d) El nombre, el mes y la cantidad de producto más vendido.
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <conio.h>
    void ventas();
    int main(int argc, char
    argv)
    {
         ventas();
     }

     void  ventas(){
             int i,j;
             int *ventasMP = (int *)malloc(sizeof(int)*12*103);
             int productos = 100;
             int mes = 12;
             int totalProducto = 0;
             int productoMV = 0;
             int mesMV = 0;
             int cantidadMV=0;
             printf("\n Listado de Ventas\n\n");
             printf("\n\t\tEne\tFeb\tMar\tAbr\tMay\tJun\tJul\tAgo\tSep\tOct\tNov\tDec\tTotaln");
             for (i = 0; i<productos; i++){
                 printf("\nProducto[%d]\t", i+1);
                 totalProducto = 0;
                 for (j=0;j<mes;j++){
                     ventasMP[(i*mes)+j] =  rand()%100;//numeros aleatorios entre 0 y 99;
                     printf("%d\t", ventasMP[(i*mes)+j]);
                     totalProducto += ventasMP[(i*mes)+j];
                     ventasMP[(100*12)+j]+= ventasMP[(i*mes)+j];
                     if(ventasMP[(101*12)+j]<=ventasMP[(i*mes)+j]){
                            ventasMP[(101*12)+j]= ventasMP[(i*mes)+j];
                            ventasMP[(102*12)+j]= i;
                     }
                     if(cantidadMV<=ventasMP[(i*mes)+j] ){
                         cantidadMV = ventasMP[(i*mes)+j];
                         mesMV = j;
                         productoMV = i;
                     }
                 }
                 printf("%d\t", totalProducto);
             }
             printf("\nVta/Mes\t\t");
             for(i=0;i<mes;i++){
                  printf("%d\t", ventasMP[(100*12)+i]);
             }
             printf("\nProd/Ven\t");
             for(i=0;i<mes;i++){
                  printf("P%d[%d]\t", ventasMP[(102*12)+i], ventasMP[(101*12)+i]);
             }
             printf("\n\nProducto mas vendido: %d", productoMV);
             printf("\nMes: %d", mesMV);
             printf("\nCantidad: %d", cantidadMV);
            getch();
        }
     
  • 11.- Una empresa tiene almacenados a sus vendedores en un registro, por cada vendedor se guarda su DNI, apellidos, nombre, zona, sueldo base, ventas mensuales, total anual y comisión. Las ventas mensuales será un vector de 12 elementos que guardará las ventas realizadas en cada uno de los meses. Total anual será la suma de las ventas mensuales del vendedor. La comisión se calculará aplicando un porcentaje variable al total de venta anual de cada vendedor. Dicho porcentaje variará según las ventas anuales del vendedor, según la siguiente tabla.
    hasta 1,500,000.00 0.00 %
    más de 1,500,000.00 y hasta 2,150,000.00 13.75
    más de 2,150,000.00 y hasta 2,900,000.00 16.50
    más de 2,900,000.00 y hasta 3,500,000.00 17.60%
    más de 3,350,000.00 18.85%
    Dicha tabla se habrá de cargar de un archivo secuencial que contiene tanto el límite superior como el porcentaje.
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <conio.h>
    void comisiones(int numEmpleados);
    float *leeComisiones(char *archivo);
    int main(int argc, char **argv)
    {
        int numEmpleados=1;
        while(numEmpleados>0){
              printf("Empleados[0 para salir]:");
              scanf("%d", &numEmpleados);
              if(numEmpleados>0){
                  comisiones(numEmpleados);
              }
        }
     }

     void  comisiones(int numEmpleados){
             int i,j, k;
             int *comisiones = (int *)malloc(sizeof(int)*12*numEmpleados);
             int mes = 12;
             float  comision =0;
             float porcentaje = 0;
             printf("\n Listado de Ventas por Empleado\n\n");
             printf("\n\t\tEne\tFeb\tMar\tAbr\tMay\tJun\tJul\tAgo\tSep\tOct\tNov\tDec\tTotal\tPorc.\tComision\n");
             float *porcentajes = leeComisiones("tabla.csv");
             
             for (i = 0; i<numEmpleados; i++){
                 printf("\nEmpleado[%d]\t", i+1);
                 comision = 0;
                 for (j=0;j<mes;j++){
                     comisiones[(i*mes)+j] =  rand()*(rand()%100);//ventas aleatorios de los empleados
                     printf("%d\t", comisiones[(i*mes)+j]);
                     comision = comision + comisiones[(i*mes)+j];
                  }
                  printf("%10.5f\t", comision);
                  k = 0;
                  while( porcentajes[k]!=-1 || comision<=porcentajes[k]){
                        k+=2;
                  }
                  if(porcentajes[k]==-1){
                     porcentaje = porcentajes[k-1];
                     comision = comision * (porcentajes[k-1]/100);
                  }else{
                      comision = comision * (porcentajes[k+1]/100);
                      porcentaje = porcentajes[k+1];
                  }
                  printf("%10.5f % \t", porcentaje);
                  printf("%10.5f\t", comision);
             }
             printf("\n");
        }

    float *leeComisiones(char *archivo){
         int status = 1;
         int ok=0;
         float *porcentajes;
         char linea[1024];
         char *ptr;
         int count = 0;
         int i;
         strcpy(linea, "");
         
         porcentajes=(float *)malloc(sizeof(float)*2*10);
         
         FILE *flujo; /* Se declara un flujo */
         if ( (flujo = fopen(archivo,"r")) == NULL )
         {
                printf("No se pudo abrir %s\n",archivo);
            status = 0;
          }else{
                  do {
                      ok = fscanf(flujo, "%s", &linea);
                      if(ok && !feof(flujo)){
                            ptr = strtok(linea,",");
                            while(ptr != NULL)
                            {
                                 porcentajes[count++] = atof(ptr);
                                 ptr = strtok(NULL, ",");
                            }
                      }
                  }while(!feof(flujo));
                  porcentajes[count]=-1;
          }
          return porcentajes;
    }
     
    Requiere el archivo tabla.csv
    1500000,0.00
    2150000,13.75
    2900000,16.5
    3350000,17.6
    10000000,18.85
     
    Para compilar estos programas se requiere de DevC++.
  • Dejar un comentario

    Escribe el código Captcha que estás viendo

    Fuentes XML de comentario: RSS | Atom

    Emblemas

    Energizado por Jaws Project
    Soporta RSS2
    Energizado por Software Libre
    Energizado por Mozila Firefox
    Energizado por Ubuntu Linux
    Energizado por PHP
    Energizado por Apache Web Server
    Energizado por MySQL
    Energizado por SQLite
    atom

    ¿ Where The Hell Am I ?

    Mi Flickr







    Aquí Mis Mejores Fotos

    Eventos

    Encuesta

    ¿Que medio de comunicación usas más ?

    Comentarios Recientes