elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Ayuda en dev c++ en: 28 Mayo 2010, 05:15 am
Ayuda con el siguiente programa, lo que debe de hacer es que al ingresar una fraccion este determine si es fraccion impropia y transformarla en fraccion mixta y reducirla a su minima expresion y en el caso contrario de no ser fraccion impropia solo redusca la fraccion, el problema es que al introducir una fraccion que no es  impropia el programa se comporta algo extraño.

Nesecito ayuda porfavor!!!!!!!!!  :xD :xD :xD :xD :xD :xD

Código
  1.  
  2. #include <iostream>
  3. #include <stdlib.h>
  4.  
  5. float reduce(int *, int * );
  6.  
  7. using namespace std;
  8.  
  9. int main(){
  10.  
  11.    int num, den;
  12.    int mix;
  13.    float resultado;
  14.  
  15.  
  16.    cout << "Ingresa el numerador: " ,cin >> num;
  17.    cout << endl;
  18.    cout << "Ingresa el denominador: " ,cin >> den;
  19.    cout << endl;
  20.  
  21.    if(num>den){
  22.    cout << "La fraccion " << num << "/" << den << " es impropia." << endl;
  23.    mix=num/den;
  24.  
  25.    if(num % den ==0)
  26.    {      
  27.    cout << "La fraccion mixta es: " << mix ;
  28.    cout << endl;}
  29.  
  30.    else  
  31.    if(num%den>0){
  32.    cout << "La fraccion mixta es: " << mix << " " << num%den << "/" << den;
  33.    cout << endl;
  34.    }
  35.  
  36.    }
  37.  
  38.    else
  39.    if(num<den){
  40.    cout << "La fraccion "<< num << "/" << den << " no es impropoia por lo tanto no se puede convertir a fraccion mixta";
  41.    cout << endl;
  42.  
  43.    }
  44.  
  45.    if(num<den){
  46.    resultado=reduce(&num, &den);
  47.    cout << num << "/" << den << "= " << resultado << endl;}
  48.  
  49.  
  50.    if(num>den){
  51.    resultado=reduce(&num, &den);
  52.    cout << mix << " " << num%den << "/" << den << "= " << resultado << endl;}            
  53.  
  54.  
  55.  
  56.  
  57.  
  58.    system("pause");
  59.    return 0;
  60.  
  61. }
  62.  
  63. float reduce (int * nume, int * deno)
  64. {    int multi=9;
  65. // ------------ busca comun denominador -----------
  66.     while  (multi != 1)
  67.     {   multi=9;
  68.         while (*nume%multi != 0 || *deno%multi != 0)
  69.              multi--;
  70.  
  71.         *nume=*nume/multi;
  72.         *deno=*deno/multi;
  73.     }
  74. // ---- busca simplificar en caso de ser primos ---
  75.     while (*nume%*deno==0 || *deno%*nume==0){
  76.         if  (*nume%*deno==0)
  77.         {   *nume/= *deno;
  78.             *deno %= *nume;
  79.         }
  80.         else
  81.             if (*deno%*nume==0)
  82.             {  *deno /= *nume;
  83.                *nume %= *deno;
  84.             }
  85.     }
  86.  
  87.     return *nume/float(*deno);
  88. }
  89.  
  90.  
2  Programación / Programación C/C++ / Ayuda con un programa(DEV C++) en: 4 Mayo 2010, 22:09 pm
Nesecito que alguien me ayude con este programa, no se como hacer para que al ingresar el nombre al registro me acepte espacios.

porfavor alguien que me ayude.

gracias


#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main() {
   
    char nombre[5][50];
    int r, c, op;
    char opc;
    for (r=0; r<=4; r++)
    for (c=0; c<=49; c++)
         nombre[r][c]=' ';
 
 
   
    cout << "Registros disponibles: ";
   
    for (r=0; r<=4; r++)
    if(nombre[r][0]==' ')
    printf("%i ", r+1);
   
    if (nombre[0][0]!=' ' && nombre[1][0]!=' ' && nombre[2][0]!=' ' && nombre[3][0]!=' ' && nombre[4][0]!=' ' )
    printf("Ninguno");
    else
    cout << endl;
   
     do{
   
    printf("Que registro desea editar (1 - 5): ");
    scanf("%i", &op);

    switch (op){

           case 1:
                if (nombre[0][0]==' ')
                {printf("Teclea el nombre a ingresar: ");
                scanf("%s", nombre[0]);}
                else
                printf("Registro ya ocupado por: %s \n", nombre[0]);
                break;

           case 2:
                if (nombre[2][0]!=' ')
                printf("Registro ya ocupado por: %s \n", nombre[1]);
                else
                printf("Teclea el nombre a ingresar: "), scanf("%s", nombre[1]);
                break;

           case 3:
                if (nombre[3][0]!=' ')
                printf("Registro ya ocupado por: %s \n", nombre[2]);
                else
                printf("Teclea el nombre a ingresar: "), scanf("%s", nombre[2]);
                break;

           case 4:
                if (nombre[3][0]!=' ')
                printf("Registro ya ocupado por: %s \n", nombre[3]);
                else
                printf("Teclea el nombre a ingresar: "), scanf("%s", nombre[3]);
                break;

           case 5:
                if (nombre[4][0]!=' ')
                printf("Registro ya ocupado por: %s \n", nombre[4]);
                else
                printf("Teclea el nombre a ingresar: "), scanf("%s", nombre[4]);
                break;
                default: cout<< "Has ingresado un dato erroneo\n";
}

cout << endl << "Deceas ingresar otro registro (S=Si,N=No):", cin >> opc;

} while(opc=='S' || opc=='s');

    cout << endl;
    cout << endl;
    cout << opc;
    system("pause");
    return 0;
}
3  Programación / Programación C/C++ / Ayuda (DEV C++) en: 4 Mayo 2010, 20:44 pm
Alguien que me diga que esta mal con el siguiente programa no puedo ingresar el nombre en el registro.


#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main() {
   
    char nombre[5][50];
    int r, c, op;
   
    for (r=0; r<=4; r++)
    for (c=0; c<=49; c++)
         nombre[r][c]=' ';
   
    cout << "Registros disponibles: ";
   
    for (r=0; r<=4; r++)
    if(nombre[r][0]==' ')
    printf("%i ", r+1);
   
    if (nombre[0][0]!=' ' && nombre[1][0]!=' ' && nombre[2][0]!=' ' && nombre[3][0]!=' ' && nombre[4][0]!=' ' )
    printf("Ninguno");
    else
    cout << endl;
   
    printf("Que registro desea editar (1 - 5): ");
    scanf("%i", &op);
    switch (op){
           case 1:
                if (nombre[0][0]==' ')
                {printf("Teclea el nombre a ingresar: ");
                scanf("%[^\n]", nombre[0]);}
                else
                printf("Registro ya ocupado por: %s \n", nombre[0]);
                break;
           case 2:
                if (nombre[2][0]!=' ')
                printf("Registro ya ocupado por: %s \n", nombre[1]);
                else
                printf("Teclea el nombre a ingresar: "), scanf("%[^\n]", nombre[1]);
                break;
           case 3:
                if (nombre[3][0]!=' ')
                printf("Registro ya ocupado por: %s \n", nombre[2]);
                else
                printf("Teclea el nombre a ingresar: "), scanf("%[^\n]", nombre[2]);
                break;
           case 4:
                if (nombre[3][0]!=' ')
                printf("Registro ya ocupado por: %s \n", nombre[3]);
                else
                printf("Teclea el nombre a ingresar: "), scanf("%[^\n]", nombre[3]);
                break;
           case 5:
                if (nombre[4][0]!=' ')
                printf("Registro ya ocupado por: %s \n", nombre[4]);
                else
                printf("Teclea el nombre a ingresar: "), scanf("%[^\n]", nombre[4]);
                break;
           default: cout<< "Has ingresado un dato erroneo\n";
}
    cout << endl;
    cout << endl;
    system("pause");
    return 0;
}
4  Programación / Programación C/C++ / AYUDA EN DEV C++ (urgente)(soy novato). en: 3 Mayo 2010, 18:11 pm
Nesecito a alguien que me explique como desarrollar los siguientes dos programas en dev c++ y no tengo ni idea de como desarrollarlos, lo que me interesa es que me expliquen como desarrollar estos programas no pido que alguien los realize por mi ya que me interesa esto de la programacion y realmente quiero aprender.


1.Elaborar un algoritmo en C++ que desarrolle lo siguiente:

Ingresar máximo 5 (cinco) nombres completos a un arreglo bidimencional declarado como nombres[5][50]. El sistema solicitá a cual registro o vector ingresar el nombre en turno, desplegando un letrero de las posiciones libre, ejemplo (1, 2, 3, 4, 5) que corresponde al índice (0, 1, 2, 3, 4). Al momento de estar ocupado un vector o registro ejemplo el índice 3 (posicion 4) desplegará el siguiente letrero (1, 2, 3, 5). Al pretender ingresar a un vector ya ocupado, el sistema desplegará:
"Registro ya ocupado por ###############################"
donde los # son el desplegado del contenido del nombre ocupando actualmente el vector en cuestion y deberá nuevamente de solicitar la ubicación para ingresar el nombre. Finalmente
imprimir directamente de la matriz en forma ascendente (desde el índice 0 hasta el 4).



2.Codificar algoritmo en C++ para la solución del siguiente problema:

Se pretende llevar el registro de lecturas de la temperatura ambiente en las oficinas centrales del meteorológico nacional. El administrador requiere contar con un sistema a prueba de sabotajes (solo lecturas en tiempo real) y que el operador (empleado) realice las lecturas y registros simultaneamente con un programa de horarios controlado (cada hora +/- 5 minutos), ejemplo: si una lectura fue a las 10:50 (debiendo ser entre 10:55 y 11:05), invariablemente la siguiente deberá registrarse entre las 11:55 y a mas tardar 12:05 . Para lecturas fuera de lo programado también se deberá activar un mensaje de aviso al operador, como por ejemplo "LECTURA REGISTRADA FUERA DE HORARIO" y registrar la incidencia en un apartado de las variables dimencionadas que pueda servir de auditoría para el administrador,

La jornada del trabajador es de turnos de 8 hrs. por lo que el sistema deberá permitir la lectura y registros para la jornada del empleado.

El administrador genera un reporte final en la cual debe contemplar la siguiente información para entregar a la alta gerencia:

hora de menor temperatura registrada en la jornada y la temperatura respectiva.
hora de Mayor temperatura registrada en la jornada y la temperatura respectiva.
Temperatura promedio registrada en la jornada
Horarios en la que se registró temperatura fuera de los rangos de horario permitidos.

Observaciones: Se asume que las temperaturas registradas se van incrementando paulatinamente conforme pasa el tiempo, sin haber cambios bruscos de temperatura. Ademas los registros se inician a las 08:00 hrs.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines