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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Mensajes
Páginas: [1] 2
1  Programación / Ejercicios / Re: EJERCICIOS BASICOS C++ en: 20 Mayo 2011, 18:11 pm
:)

Lo que hice funciona para cualquier li (límite inferior) y ls (límite superior), no te límites al rango ya dado, siempre se debe hacer algo GENERAL.

Nos vemos.
2  Programación / Programación C/C++ / Re: Problema al leer cadenas con espacios [C++] en: 20 Mayo 2011, 03:49 am
Mmm.. Probé tu código y me lee todo ...

Pero si no es así contigo prueba esto:

Código
  1. void Farmacia::meterMedicamento(){
  2.   string acodigo;
  3.    char anombre[50];
  4.    char aformato[50];
  5.    string alaboratorio;
  6.    float apvp;
  7.   Casilla *cas;
  8.    int unidades;
  9.  
  10.    cout << "Inserte el nombre del medicamento: ";
  11.    cin>>anombre;
  12.    do{
  13.    cout<<"Inserte el código de 7 dígitos: ";
  14.    cin>>acodigo;
  15.    }while(acodigo.length()!=7);
  16.    while(getchar()!='\n');
  17.    cout<<"Inserte el formato del medicamento: ";
  18.    cin.getline( aformato, 50);
  19.    cout<<"Inserte el laboratorio: ";
  20.    cin>>alaboratorio;
  21.    cout<<"Inserte el precio: ";
  22.    cin>>apvp;
  23.    cout<<"Indique las unidades que habrá en el stock: ";
  24.    cin>>unidades;
  25.    while(getchar()!='\n');
  26.  
  27.    if(unidades>=0){
  28.   Medicamento med(acodigo, anombre, aformato, alaboratorio, apvp);
  29.   this->nuevoMedicamento(&med);
  30.   cas = this->casillaVacia();
  31.   this->colocarMedicinaEstante(med.verCodigo(), cas, unidades);
  32.    }

Cada vez que dejes de hacer lecturas cin o scanf debes poner while(getchar()!='\n') para limpiar la basura del buffer que deja esas funciones de lectura.
3  Programación / Ejercicios / Re: EJERCICIOS BASICOS C++ en: 20 Mayo 2011, 03:30 am
Código
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5.   int li = 100, ls = 500;
  6.  
  7.   for( int i = li; i < ls + li%2; i += 2){
  8.  
  9.      printf("%d\t", i + (i+1)%2);
  10.   }
  11.   printf("\n\nPresione ENTER para salir . . .");
  12.   getchar();
  13.   return 0;
  14. }
4  Programación / Ejercicios / Re: Ejercicio elevar una potencia en: 20 Mayo 2011, 03:21 am
Código
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4. int potencia( int n, int e);
  5.  
  6. int main()
  7. {
  8.   int num, exp;
  9.   float res;
  10.  
  11.   printf("\nIngrese un n%cmero: ", 163);
  12.   scanf("%d", &num);
  13.  
  14.   printf("\nIngrese el exponente (entero): ");
  15.   scanf("%d", &exp);
  16.  
  17.   res = (float)potencia( num, abs(exp));
  18.   if( exp < 0)
  19.      res = 1./res;
  20.  
  21.   printf("\n\nEl resultado de %d a la %d, es: ", num, exp);    
  22.   if( num == 0 && exp <= 0)
  23.      printf("Indefinido . . .\n");
  24.   else
  25.      printf("%.4f\n", res);
  26.  
  27.   while( getchar()!='\n');
  28.   printf("\n\nPresione ENTER para salir . . .");
  29.   getchar();
  30.   return EXIT_SUCCESS;
  31. }
  32.  
  33. int potencia( int n, int e)
  34. {
  35.   int r = 1;
  36.   for( int i = 1; i <= e; i++){
  37.  
  38.      r *= n;
  39.   }
  40.   return r;
  41. }
5  Programación / Programación C/C++ / Re: Ayuda con switch(urgente) en: 19 Mayo 2011, 05:23 am
Te lo corregí sólo para que veas la diferencia entre un código ordenado y uno como el tuyo ...

Código
  1. # include <stdio.h>
  2.  
  3. int main ()
  4. {
  5.   int x, cont=0;
  6.   char  opcion;    
  7.  
  8.   printf("Introduzca el numero deseado: ");
  9.   scanf("%d", &x);
  10.   while( getchar()!='\n');
  11.  
  12.   do{
  13.      printf("\n\nIntroduzca la operacion deseada: \n\n");
  14.      printf(" a. Pares \n");
  15.      printf(" b. Impares \n");
  16.      printf(" c. Todos \n\n");
  17.      printf("Elige opcion: ");
  18.      scanf("%c", &opcion);
  19.      while( getchar()!='\n');
  20.  
  21.      switch( opcion){
  22.  
  23.         case 'a':
  24.  
  25.            if( x%2 != 0){
  26.               x = x + 1;
  27.            }
  28.            printf ("\n%d",x);
  29.            for ( cont = 1; cont < 10; cont ++){
  30.  
  31.               x = x + 2;
  32.               printf(" %d",x);
  33.            }
  34.            break;
  35.  
  36.         case 'b':
  37.  
  38.            if( x%2 == 0){
  39.               x = x + 1;
  40.            }
  41.            printf ("\n%d",x);
  42.            for ( cont = 1; cont < 10; cont ++){
  43.  
  44.               x = x + 2;
  45.               printf (" %d",x);
  46.            }
  47.            break;
  48.  
  49.         case 'c':
  50.  
  51.            printf ("\n");
  52.            for ( cont = 0; cont < 10; cont ++){
  53.  
  54.               x = x + 1;
  55.               printf ("%d ",x);
  56.            }
  57.            break;
  58.  
  59.         default:
  60.  
  61.            printf("\nError - opcion no valida. Seleccione a. b. o c.");
  62.      }
  63.   }while( opcion == 'a' || opcion == 'b' || opcion == 'c');
  64.  
  65.   printf("\n\nPresione ENTER para salir . . .");
  66.   getchar();
  67.   return 0;
  68. }

Y de paso ves tus errores ...

Cuando pones un if(...) no es necesario poner else, si es que no lo vas a usar ...

Cuando el if, else, switch, while, for, etc. llevan más de 1 sentencia se le debe poner llaves.

Nos vemos.
6  Programación / Programación General / Re: Ideas para mi proyecto en: 19 Mayo 2011, 04:35 am
Has un programa que multiplique 2 polinomios de grados M y N respectivamente.

Los datos ingresados por el usuario son los grados de los polinomios y sus respectivos coeficientes.

Ejemplo:

1r polinomio ...

Grado: 6

Coeficientes:

[1]: 7 // Coeficiente Principal
[2]: 3
[3]: 4
[4]: 1
[5]: 2
[6]: 3
[7]: 5 // Término Independiente

El primer polinomio es: 7x^6+3x^5+4x^4+1x^3+2x^2+3x+5

2do polinomio ...

Grado: 4

Coeficientes:

[1]: 5 // Coeficiente Principal
[2]: 4
[3]: 1
[4]: 2
[5]: 6 // Término Independiente

El segundo polinomio es: 5x^+4x^3+1x^2+2x+6

Luego ...

El producto de los polinomios:

   7x^6+3x^5+4x^4+1x^3+2x^2+3x+5

   y

   5x^4+4x^3+1x^2+2x+6

Es:

   35x^10+43x^9+39x^8+38x^7+66x^6+50x^5+65x^4+33x^3+23x^2+28x+30

------------------------------------------------------------------------------------------------------

Nos vemos.

PD: Te ayudaré en lo que no puedas  ;).
7  Programación / Programación C/C++ / Re: Guarda cadenas con espacios - como? en: 19 Mayo 2011, 03:44 am
Aquí te dejo tu código corregido ...

Código
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4.  
  5. void escribe(char **name, int cont){
  6.        ofstream fs("pw.txt");
  7.        for( int i = 0; i < cont; i++){
  8.            fs<<name[i]<<endl;
  9.        }
  10.        fs.close();
  11. }
  12. void lee( int cont){
  13.  
  14.        char cadena[100];
  15.  
  16.        ifstream fe("pw.txt");
  17.        for( int i = 0; i < cont; i++){
  18.            fe.getline(cadena,100);
  19.            cout<<cadena<<endl;
  20.        }
  21.        fe.close();
  22. }
  23. int main(void){
  24.        int cont=0;
  25.        char **cad;
  26.        char resp='s';
  27.        cad=new char *[100];
  28.        do{
  29.                cad[cont]=new char[100];
  30.                cout<<"Cadena?: ";
  31.                cin.getline(cad[cont],100);
  32.  
  33.                cont++;
  34.                escribe(cad, cont);
  35.                lee(cont);
  36.                cout<<"Mas [s/n]?: ";
  37.                cin>>resp;
  38.                while(getchar()!='\n'); // esto elimina la basura del buffer que hacía que se salte la lectura de la cadena.
  39.        }while(resp=='s');
  40.  
  41.        for(int i=0;i<cont;i++)
  42.                delete[]cad[i];
  43.        delete[]cad;
  44.        return 0;
  45. }

El error en tu código está en que tú asumes que *cad es el conjunto de todos los cad[n], pero no es así, *cad es igual - únicamente - a cad[0], ya que *cad sólo apunta a la dirección del 1r elemento de ese vector de cadenas.
8  Programación / Programación C/C++ / Re: capturar varios numero en: 18 Mayo 2011, 04:07 am
Mmm... si dices que aún no has llegado a arreglos, entonces simplemente deberias hacer esas "otras cosas" mientras vas leyendo, ya que si no hasz llegado a arreglos peor aún sería mencionarte listas enlazadas, archivos (extremo).

Código
  1. int i, var, n;
  2.  
  3. cin >> n;
  4.  
  5. for( i = 0; i < n; i++){
  6.  
  7.   cin >> var;
  8.  
  9.   // INICIO - Operaciones con var.
  10.  
  11.     ...
  12.  
  13.   // FIN - Operaciones con var.
  14. }
  15.  
9  Programación / Programación C/C++ / Re: El dichoso error de fgets. en: 18 Mayo 2011, 04:01 am
 -- Mensaje Borrado --
10  Programación / Programación C/C++ / Re: capturar varios numero en: 17 Mayo 2011, 07:36 am
Mmm... 1ro dime porque no quieres con arreglos ;).
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines