Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Validar Nuemero Fraccionario

Estas en el tema de Validar Nuemero Fraccionario en el foro de C/C++ en Foros del Web. Hola amigos. necesito ayuda para validar un numero fraccionario ejemplo: 2.1 que no permita ingresar 2 puntos ejemplo: 2.1.1 El ejercicio reza asi: Elabore un ...
  #1 (permalink)  
Antiguo 05/03/2009, 23:21
 
Fecha de Ingreso: septiembre-2008
Mensajes: 3
Antigüedad: 15 años, 7 meses
Puntos: 0
Validar Nuemero Fraccionario

Hola amigos. necesito ayuda para validar un numero fraccionario ejemplo: 2.1 que no permita ingresar 2 puntos ejemplo: 2.1.1
El ejercicio reza asi: Elabore un programa en c que lea un numero fraccionario que lo valide no permitiendo ingresar 2 puntos. es con verctores.
les coloco el codigo que tengo ojala y me puedan ayudar

Código:
# include <stdio.h>
char numero[8],n;
int i;
main ()
{ 
   printf("\n Digite un numero fraccionario y cuando termine digite *");
   for(i=0;i<=7;i++)
   {
      switch(n)
      {
      case 1:numero[i]=n;
         break;
      case 2:numero[i]=n;
         break;
      case 3:numero[i]=n;
         break;
      case 4:numero[i]=n;
         break;
      case 5:numero[i]=n;
         break;
      case 6:numero[i]=n;
         break;
      case 7:numero[i]=n;
         break;
      case 8:numero[i]=n;
         break;
      case 9:numero[i]=n;
         break;
      case 0:numero[i]=n;
         break;
      case '.':numero[i]=n;     
         break;
      case '*':i=8;
         break;
      default:printf("\n error");
      }
   }
   for(i=0;i<=7;i++)
   {
      printf("\n %c",numero[i]);
   }
   
}
  #2 (permalink)  
Antiguo 13/04/2009, 15:39
Avatar de Claw  
Fecha de Ingreso: abril-2009
Mensajes: 299
Antigüedad: 15 años
Puntos: 9
Respuesta: Validar Nuemero Fraccionario

Yo haría ésto:

Código:
# include <stdio.h>
char numero[8],n;
int i,a;
a = 0;
main ()
{ 
   printf("\n Digite un numero fraccionario y cuando termine digite *");
   for(i=0;i<=7;i++)
   {
      switch(n)
      {
      case 1:numero[i]=n;
         break;
      case 2:numero[i]=n;
         break;
      case 3:numero[i]=n;
         break;
      case 4:numero[i]=n;
         break;
      case 5:numero[i]=n;
         break;
      case 6:numero[i]=n;
         break;
      case 7:numero[i]=n;
         break;
      case 8:numero[i]=n;
         break;
      case 9:numero[i]=n;
         break;
      case 0:numero[i]=n;
         break;
      case '.': 
         if (a == 1){
             printf("Dos puntos seguidos\n"); return;
         }
         numero[i]=n;     
         a = 1;
         break;
      case '*':i=8;
         break;
      default:printf("\n error");
      }
   }
   for(i=0;i<=7;i++)
   {
      printf("\n %c",numero[i]);
   }
   
}
La variable a servirá de bandera. La primera vez que entra vale 0, así que será el primer punto '.' La segunda vez vale 1 (a=1), y como no está permitido introducir dos puntos, imprimimos un mensaje de error y salimos.

Salu2
  #3 (permalink)  
Antiguo 14/04/2009, 01:49
Avatar de fradve  
Fecha de Ingreso: abril-2009
Mensajes: 157
Antigüedad: 15 años
Puntos: 7
Respuesta: Validar Nuemero Fraccionario

Hola que tal,

Pues si como dice Claw usar una bandera es la solución para saber si ya has ingresado un punto. Pues que te parece de esta forma, es muy similar a la tuya solo que con un while y una que otra variante, puedes modificarlo como gustes...


Código:
#include<stdio.h>
#include<conio.h>

void main()
{
  char num[8]="",n;
  int cont=0,punt=0;

  gotoxy(20,5); printf("Ingrese el n£mero presione * para terminar: ");
  do
  {
    gotoxy(64+cont,5); n=getche();
    switch(n)
    {
      case '0':
      case '1':
      case '2':
      case '3':
      case '4':
      case '5':
      case '6':
      case '7':
      case '8':
      case '9': num[cont++]=n;
		    break;
      case '.': if(punt<1)
		  {
		    num[cont++]=n;
		    punt++;
		  }
		  else
		 {
		   printf("\n\nNo se puede Ingresar mas de un punto");
		   gotoxy(64+cont,5); printf(" ");
		 }
    }
  }while(n!='*'&&cont<8);

  printf("\n\n\t\t\tEl n£mero ingresado es: %s",num);
  getch();
}
Espero que te sea de ayuda...


En programación hay mil y un formas de hacer lo mismo
  #4 (permalink)  
Antiguo 14/04/2009, 09:19
Avatar de Claw  
Fecha de Ingreso: abril-2009
Mensajes: 299
Antigüedad: 15 años
Puntos: 9
Respuesta: Validar Nuemero Fraccionario

Cita:
Iniciado por fradve Ver Mensaje
En programación hay mil y un formas de hacer lo mismo
Cierto :)

Salu2

PD: buena forma también de hacerlo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:02.