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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: 1 ... 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 [124] 125 126 127 128 129 130 131 132
1231  Programación / Programación C/C++ / Re: ayuda en C en: 21 Octubre 2012, 14:01 pm
Al ejecutarlo, introduzco la opcion 1 y me calcula la longitud del circulo, pero al introducir la opción 2 o 3 no aparece nada mas.
A mí me funciono sin problemas las tres opciones.
No obstante, tienes que cambiar algunas variables de int a float y algo los "mensajes" de "Introducir":
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define PI  3.141592
  4. int main()
  5. {
  6.   int opcion;
  7.   float r,longitud,superficie,volumen;
  8.   printf("1.Longitud del ciculo \n");
  9.   printf("2.Superficie del circulo \n");
  10.   printf("3.Volumen esfera \n");
  11.    do
  12.   {
  13.   printf("Introduce una opcion \n");
  14.  
  15.   scanf("%d",&opcion);
  16.   }while(opcion<1||opcion>3);
  17.  
  18.   if(opcion==1)
  19.   {
  20.      printf("Introduce el radio del circulo \n");
  21.      scanf("%g",&r);
  22.      longitud=2*PI*r;
  23.      printf("Longitud= %g",longitud);
  24.         }
  25.   else
  26.      if(opcion==2)
  27.         {
  28.         printf("Introduce el radio del circulo \n");
  29.         scanf("%g",&r);
  30.         superficie=PI*r*r;
  31.         printf("Superficie = %g",superficie);
  32.        }
  33.      else
  34.      {
  35.      printf("\n Introduce el radio de la esfera \n");
  36.      scanf("%g",&r);
  37.      volumen=4/3*PI*r*r*r;
  38.      printf("Volumen =  %g",volumen);
  39.    }
  40.   return 0;
  41. }
1232  Programación / Programación C/C++ / Re: ¿Cómo determinar que sólo acepte 8 dígitos? en: 21 Octubre 2012, 13:42 pm
Tengo un problema al momento de programar para que sólo acepte 8 dígitos en un código de barras, tengo entendido que es con un strlen(.. pero me marca un error.

Lo que tiene que hacer este programa es que ingrese un código de barras y lo guarde pero sólo tiene que aceptar 8 dígitos, ni más ni menos, y tampoco letras.

Tengo este código pero me marca error:

Estas usando una función para char propiamente, y tu variable "Datos[c].CodigoBarras" es un numero entero. Lo que podrías hacer es calcular previamente los dígitos de dicho número y luego aplicar la condición a la variable contador si es 8 o no..
Para contar los dígitos de "VDatos[c].CodigoBarras" te valdría el siguiente código, cambiando "n" por "Datos[c].CodigoBarras":

Código
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5.    int n,contador=0;
  6.    cin>>n;
  7.    while(n>0){
  8.        contador++;
  9.        n=n/10;}
  10.    cout<<contador<<endl;
  11.    return 0;
  12. }
  13.  
1233  Programación / Programación C/C++ / Re: mostrar por pantalla los residuos de un número en: 21 Octubre 2012, 13:25 pm
La culpa de que sólo te salga un valor la tiene la setencia "n=n%10;". El código funcionando, y sin la variable contador que está de más , es:
Código
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5.    int n;
  6.    cin>>n;
  7.    while(n>0){
  8.        cout<<n%10<<endl;
  9.        n=n/10;}
  10.    return 0;
  11. }
1234  Programación / Programación C/C++ / Re: crear un programa que haga triangulos y cuadrados con caracteres de relleno en: 20 Octubre 2012, 22:21 pm
Sólo te queda implementar el repetir otra figura:
Código
  1. #include<stdio.h>
  2. int main(void){
  3.    /*variables*/
  4.    int numero,i,j,k;
  5.    int fila,columna,espacio,blanco;
  6.    char caracter;
  7.    char sino;
  8.  
  9.   /*entorno*/
  10.    printf("Introduce numero de filas (1-15):");
  11.    scanf("%d",&numero);
  12.    printf("numero de espacios:");
  13.    scanf("%d",&espacio);
  14.    printf("caracter de relleno:");
  15.    fflush (stdin);
  16.    scanf("%c",&caracter);
  17.    if(caracter>='0' && caracter<='9'){
  18.  
  19.      for (fila=1; fila<=numero; fila++)
  20.            {
  21.                for (blanco=1; blanco<=numero-fila+espacio; blanco++)
  22.                    printf(" ");
  23.                for (columna=1; columna<=2*fila-1; columna++)
  24.                    printf("%c",caracter);
  25.                printf("\n");
  26.            }
  27.   }
  28.      else
  29.  
  30.        for (i=1;i<=numero;i++)
  31.  
  32.            {
  33.                for (k=1; k<=espacio; k++)
  34.                    printf(" ");
  35.                    {
  36.                        for (j=1;j<=numero;j++)
  37.                            printf("%c",caracter);
  38.                        printf("\n");
  39.                    }
  40.            }
  41.        return 0;
  42. }
  43.  
1235  Programación / Programación C/C++ / Re: Warning al compilar un encriptador en: 14 Octubre 2012, 18:23 pm
Este code lo hize solo pa practicar con malloc ; definitivamente
quedaria mas bonito usando arrays estaticos
Ya me parecía a mí. Pero creo que puedes prescindir de "char caract;":
Código
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4. int main()
  5. {
  6. char *frase=(char*)malloc(sizeof(char)*64);
  7. char *nuevo=(char*)malloc(sizeof(char)*64);
  8. char *start= nuevo;
  9. printf("Original: ");
  10. gets(frase);
  11.    printf(" Cifrado: ");
  12. for (;*frase!= '\0';)
  13.        {
  14.            if (*frase==32 )
  15.                *nuevo++= *frase++;
  16.            else
  17.                *nuevo++= 219- *frase++;
  18.        }
  19.    *nuevo++='\0';
  20.    printf(" Cifrado: %s \n", start);
  21. return 0;
  22. }
Un saludo!
1236  Programación / Programación C/C++ / Re: Error en ejercicio de clase en: 14 Octubre 2012, 16:39 pm
He respetado en lo posible el "formato" de tu código, ya que yo lo hubiera hecho diferente. Pero bueno, tienes corregido lo de valores negativos y que el usuario no pueda entrar valores que no sean entre 1 y 3. Además no me gusta perder siempre, con lo que le he puesto una variante a la máquina:quita fichas de forma aleatoria, así puedo ganar yo. Puedes desactivar esa opción eliminando el rand y activando la otra opción:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.    int main(){
  5.    int fquitahombre=0,fquitamaquina=0,ftotales=0;
  6.    char c;
  7.    srand(time(0));
  8.    printf("Bienvenido al juego de las fichas.\n");
  9.    printf("Este juego consiste en ir retirando fichas, de un total de 17, el que retire la ultima ficha pierde.\n");
  10.    printf("En cada turno puedes retirar 1,2 o 3 fichas.\n");
  11.    printf("Empieza el juego:\n");
  12.    ftotales=17;
  13.    while(ftotales>0){
  14.        printf("Retira las fichas que desees entre 1 y 3:");
  15.        scanf("%d",&fquitahombre);
  16.        while(fquitahombre > 3  || fquitahombre < 0){
  17.        printf("Te dije entre 1 y 3:");
  18.        scanf("%d",&fquitahombre);
  19.        }
  20.        ftotales=ftotales-fquitahombre;
  21.        if (ftotales<=0)
  22.            {
  23.                printf("Quedan 0 fichas\n");
  24.                printf("Has retirado la ultima ficha, por lo tanto, has perdido.");
  25.                break;
  26.            }
  27.        /*fquitamaquina=4-fquitahombre;*/ /*<==tu opcion para perder siempre*/
  28.        fquitamaquina=1+rand() % 3 ; /*mi opcion aleatorio, para poder ganar*/
  29.        ftotales=ftotales-fquitamaquina;
  30.        if (ftotales<=0)
  31.            {
  32.                printf("Quedan 0 fichas\n");
  33.                printf("Has ganado.");
  34.                break;
  35.            }
  36.        printf("La maquina quita %.0d\n",fquitamaquina);
  37.        printf("Quedan %0.d fichas\n",ftotales);
  38.    }
  39.    c=getchar();
  40.    c=getchar();
  41.    return 0;
  42. }
  43.  
1237  Programación / Programación C/C++ / Re: Warning al compilar un encriptador en: 14 Octubre 2012, 14:12 pm
Usando arrays estáticos te queda más "light":
Código
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. int main()
  4. {
  5. int i;
  6. char frase[64],nuevo[64];
  7.        printf("Original: ");
  8. gets(frase);
  9.        for ( i=0;frase [i]!='\0';i++)
  10.             nuevo[i]=219-frase [i];
  11.        nuevo[i]='\0';
  12.        printf(" Cifrado: %s", nuevo);
  13. return 0;
  14. }
1238  Programación / Programación C/C++ / Re: RETOS C++ en: 13 Octubre 2012, 15:45 pm
Para el diccionario por fuerza bruta. Genero una clave de forma aleatoria y la descubro letra a letra:
Código
  1. #include <iostream>
  2. #include <ctime>
  3. #include <cstdlib>
  4. #define TAMAYO 4
  5. char busca_codigo (char c);
  6. using namespace std;
  7. int main()
  8. {
  9.    srand(time(NULL));
  10.    string codigo;
  11.    for (int j=0;j<TAMAYO;j++)
  12.        codigo [j]=rand()%(122-96) + 97;
  13.    for (int j=0;j<TAMAYO;j++)
  14.        cout <<codigo [j];
  15.    cout << endl;
  16.    for (int j=0;j<TAMAYO;j++)
  17.        busca_codigo (codigo [j]);
  18.    return 0;
  19. }
  20. char busca_codigo (char c)
  21. {
  22.    for (int i = 97; i <= 122; i++)
  23.        {
  24.            if(c==char (i))
  25.                {
  26.                    cout<< char (i);
  27.                    break;
  28.                }
  29.        }
  30. }
  31.  
1239  Programación / Programación C/C++ / Re: RETOS C++ en: 12 Octubre 2012, 21:48 pm
Solucion al cuatro:

Código
  1. #include <iostream>
  2. #include <cstring>
  3. #include <cstdio>
  4. using namespace std;
  5. int main ()
  6. {
  7.    int i=1,n;
  8.    char texto1[40],texto2[40];
  9.    cout<<"Cuantas palabras desea ingresar: ";
  10.    cin >> n ;
  11.    getchar ();
  12.    cout<<"\nIntroduce la  " << i << " palabra: ";
  13.    gets(texto1);
  14.    while (i<n)
  15.    {
  16.        cout<<"\nIntroduce la  " << i+1 << " palabra: ";
  17.        gets(texto2);
  18.        if (strcmp(texto1, texto2)<0)
  19.            {
  20.                i++;continue;
  21.            }
  22.        else
  23.            strcpy (texto1,texto2);
  24.        i++;
  25.    }
  26.     cout << "\nLa palabra menor es: " << texto1 << endl;
  27.     return 0;
  28. }
  29.  
1240  Programación / Programación C/C++ / Re: como ago un programa en c++ que imprima numeros de una cantidad a otra? en: 12 Octubre 2012, 14:08 pm
Con la misma presuncion que yoxter, pero para variar con un FOR:
Código
  1. #iclude <iostream>
  2. using namespace std;
  3. int main(int argc, char *argv[]) {
  4.  
  5. int i,principio,fin,escala;
  6.    cout << "ingrese el numero de comienso: " ; cin >> principio;
  7. cout << "ingre el numero limite: " ; cin >> fin;
  8. cout << "ingrese el numero de subida: " ; cin >> escala;
  9.    for (i=principio+escala;i<=fin;i+=escala)
  10.        cout << i << endl;
  11. return 0;
  12. }
  13.  
Páginas: 1 ... 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 [124] 125 126 127 128 129 130 131 132
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines