ayuda con validacion de un programa
Publicado por Andres (3 intervenciones) el 12/02/2008 04:08:43
hola, tengo que hacer un programa que pruebe que tan buenas son las funciones aleatrias de C para, esto el ususrio tiene que escribir desde la linea de comandos todo lo que se debe de introducir es decir: Aleatroio(nombre de programa) -opcion semillas veces maximo.
ahurita estoy trtabado en las validaciones porke son muchos ifs, queria ver si es posible simplificar esto de alguna manera
otra csoa las opciones pueden ser -o, -d, -D y -h y -o puede llevar un nombre de la salida y puede ir en combinacion kon las otras funciones. aka les dejo lo ke tengo de codigo
#include <stdio.h>
#include<string.h>
#include <stdlib.h>
int main (int argc, char *argv[])
{
char *re;
int semilla, valor, maximo;
if(argc==4||argc==5) //se checa para ver si hay 4 o 5 argumentos en el programa.
{
if(strncmp(argv[1],"-o",2)==0)//checamos si el argumento 2 es -o
{
if(strcmp(argv[1],"-oD")==0)
{
printf("Sirve1 ");
}
else if (strcmp(argv[1],"-od")==0)
{
printf("Sirve2 ");
}
else if (strcmp(argv[1],"-oh")==0)
{
printf("Sirve3 ");
}
else
{
if(re=strstr(argv[1],".dat"))//checamos que en el argumento 2 este bien escrito
{
printf("%s",re);
if(strlen(re)==4)//checamos si re (cadena donde se guardo lo que va despues de .dat), tiene longitud de 4
{
printf("o.o");
}
else if(strlen(re)==5)//checamos si re (cadena donde se guardo lo que va despues de .dat), tiene longitud de 5
{
if(strcmp(re,".datd")==0)
{
//Funcion d
}
else if(strcmp(re,".datD")==0)
{
//Funcion D
}
else if(strcmp(re,".dath")==0)
{
//Funcion h
}
else
{
printf("Error Funcion no Valida Modo de escritura: aleatorio -o[nombre.dat](d,D,H[no obligatorio]) semilla valor maximo");
}
}
}
}
}
}
}
muchas gracias
ahurita estoy trtabado en las validaciones porke son muchos ifs, queria ver si es posible simplificar esto de alguna manera
otra csoa las opciones pueden ser -o, -d, -D y -h y -o puede llevar un nombre de la salida y puede ir en combinacion kon las otras funciones. aka les dejo lo ke tengo de codigo
#include <stdio.h>
#include<string.h>
#include <stdlib.h>
int main (int argc, char *argv[])
{
char *re;
int semilla, valor, maximo;
if(argc==4||argc==5) //se checa para ver si hay 4 o 5 argumentos en el programa.
{
if(strncmp(argv[1],"-o",2)==0)//checamos si el argumento 2 es -o
{
if(strcmp(argv[1],"-oD")==0)
{
printf("Sirve1 ");
}
else if (strcmp(argv[1],"-od")==0)
{
printf("Sirve2 ");
}
else if (strcmp(argv[1],"-oh")==0)
{
printf("Sirve3 ");
}
else
{
if(re=strstr(argv[1],".dat"))//checamos que en el argumento 2 este bien escrito
{
printf("%s",re);
if(strlen(re)==4)//checamos si re (cadena donde se guardo lo que va despues de .dat), tiene longitud de 4
{
printf("o.o");
}
else if(strlen(re)==5)//checamos si re (cadena donde se guardo lo que va despues de .dat), tiene longitud de 5
{
if(strcmp(re,".datd")==0)
{
//Funcion d
}
else if(strcmp(re,".datD")==0)
{
//Funcion D
}
else if(strcmp(re,".dath")==0)
{
//Funcion h
}
else
{
printf("Error Funcion no Valida Modo de escritura: aleatorio -o[nombre.dat](d,D,H[no obligatorio]) semilla valor maximo");
}
}
}
}
}
}
}
muchas gracias
Valora esta pregunta


0