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

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: 1 2 [3]
21  Programación / Programación C/C++ / Re: ¿Cómo evitar pasar a una siguiente opción cuando no hayan ingresado datos? en: 2 Noviembre 2012, 09:16 am
Por ejemplo este código:

Código:
cout<<"Ingresa tu nombre";
gets(nombre);
cout<<"Ingresa tus apellidos";
gets(apellidos);

Lo que yo digo es que cada vez que pase por un gets no se pase a la siguiente opción cuando no se ha ingresado nada y se presiona la tecla enter, osea, que no quede el espacio vacío.
22  Programación / Programación C/C++ / ¿Cómo evitar pasar a una siguiente opción cuando no hayan ingresado datos? en: 2 Noviembre 2012, 06:31 am
Tengo un programa en el cual se van ingresando datos como por ejemplo nombre, apellidos, fecha de nacimiento, etc, pero tengo un problema, necesito que cuando no se hayan ingresado datos no se pase a la siguiente opción cuando se presione la tecla "enter", ya que esto me sucede con los tipo char y me deja el espacio vacío al momento de mostrar los datos ingresado. Espero y me haya explicado bien y alguien me pueda ayudar.
23  Programación / Programación C/C++ / Re: ¿Cómo determinar que sólo acepte 8 dígitos? en: 2 Noviembre 2012, 06:23 am
Si gracias a todos por sus respuestas, ya solucioné ese problema, sólo que tengo otro, aparte de aceptar sólo 8 dígitos, necesito que sólo sean números y no letras, ¿saben como le puedo hacer con eso?.
24  Programación / Programación C/C++ / Re: ¿Cómo determinar que sólo acepte 8 dígitos? en: 23 Octubre 2012, 03:38 am
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:
#include<iostream>
using namespace std;

int main() {
    int n,contador=0;
    cin>>n;
    while(n>0){
        contador++;
        n=n/10;}
    cout<<contador<<endl;
    return 0;
}


Muchas gracias leosansan, me funcionó perfecto ya que si convertía el int a char me traería problemas con otras cosas en mi código y sin convertirlo de int a otro tipo me pareció perfecto, sólo una pregunta, ¿para qué se usa el n=n/10;? Todo lo entendí pero eso no muy bien, necesito comprenderlo bien ya que soy algo nuevo en el c++.
25  Programación / Programación C/C++ / Re: ¿Cómo determinar que sólo acepte 8 dígitos? en: 21 Octubre 2012, 07:08 am
Lo que hice fue cambiar la variable "CodigoBarras" de int a char y me funcionó ya que no contaba con que strlen() no funciona con enteros.

Ya con eso sí me acepta que sean ocho dígitos, ni más ni menos, pero acepta puros números y puras letras o mixto, y ese es otro problema que olvidé mencionar, el código de barras sólo tiene que aceptar números y no letras.

Espero que me haya explicado, y perdonen tantas preguntas mías, soy algo nuevo en esto del c++.
26  Programación / Programación C/C++ / Re: ¿Cómo determinar que sólo acepte 8 dígitos? en: 21 Octubre 2012, 01:44 am
El código es una estructura pero lleva muchas más cosas como agregar registro, editar, borrar, etc, y el problema me aparece nadamás en esa parte, por lo que omití lo demás que no influye en el código.

Código:
include <iostream>

int c=0;

struct dato {
int CodigoBarras;
} Datos[10];

void main (){

cout<<"\t\tIngresa el Codigo de Barras\n";
flushall();
cin>>Datos[c-1].CodigoBarras;

if (strlen(Datos[c].CodigoBarras)==8) // Aquí necesito ayuda
{
cout<<"Correcto.";
}
else
{
cout<<"Incorrecto. Sólo se permiten 8 dígitos.";
}
}
27  Programación / Programación C/C++ / Re: ¿Cómo determinar que sólo acepte 8 dígitos? en: 20 Octubre 2012, 22:47 pm
No sé C ni C++ , pero viendo la sintaxis asumo que esta es la solución.

Código:
if (strlen(Datos[c].CodigoBarras)==8) /* no es "=" es  "=="  ya que es comparacion  y ahi lo estabas asignando*/
         {
            cout<<"Correcto.";
         }
         else
         {
            cout<<"Incorrecto. Sólo se permiten 8 dígitos.";
         }

Puedo estar equivocado, porque algunas sintaxis son diferentes en otros lenguajes, avisame si estoy mal, saludos.


Agregué eso que me dijiste y me sigue apareciendo equivocado, el error me lo marca en la palabra "Datos" y dice: "un argumento de tipo 'int' no es compatible con un parámetro de tipo 'const char'".
28  Programación / Programación C/C++ / ¿Cómo determinar que sólo acepte 8 dígitos? en: 20 Octubre 2012, 22:31 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:

Código:
if (strlen(Datos[c].CodigoBarras)=8) // Aquí necesito ayuda
{
cout<<"Correcto.";
}
else
{
cout<<"Incorrecto. Sólo se permiten 8 dígitos.";
}

Espero me puedan ayudar.
Páginas: 1 2 [3]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines