
Comparador de cadenas
C/Visual C
Publicado el 14 de Enero del 2003 por Sebastian (12 códigos)
8.021 visualizaciones desde el 14 de Enero del 2003
Código que compara dos cadenas.
#include<stdio.h>
#include<conio.h>
#define MAX 256
void ingresar(char *, char *);
int strcmp(char *, char *);
int temp(char *, char*);
void main(void)
{
char cadena1[MAX], cadena2[MAX];
clrscr();
printf ("\t\t\t*****************\n");
printf ("\t\t\t* EJERCICIO 1 *\n");
printf ("\t\t\t*****************\n");
printf ("\t\t - PANTALLA PRINCIPAL -\n\n");
ingresar(cadena1, cadena2);
if(strcmp(cadena2,cadena1)>0)
printf("LA CADENA DESTINO ES MAYOR QUE LA CADENA ORIGEN\n");
else if(!strcmp(cadena2,cadena1))
printf("LAS CADENAS SON IGUALES\n");
else
printf("LA CADENA DESTINO ES MENOR QUE LA CADENA ORIGEN\n");
printf("\n\n\n\n\n\n\n\n\n\n\nVERSION 1.0\nCOPYRIGHT 2002-2010\n");
printf("PROGRAMA DESARROLLADO POR SEBASTIAN NIEVA \n");
printf("OPRIMA UNA TECLA PARA TERMINAR........");
getch();
}
void ingresar(char *s1, char *s2)
{
printf("\nINGRESE LA PRIMER CADENA\n");
gets(s1);
printf("\nINGRESE LA SEGUNDA CADENA\n");
gets(s2);
}
int strcmp(char *a, char *b)
{
int i=0;
while(*(a+i)!=NULL || *(b+i)!=NULL)
{
if(*(a+i)!=*(b+i))
return temp(a, b);
i++;
}
return 0;
}
int temp(char *a, char *b)
{
while(*a!=NULL && *b!=NULL)
{
if(!(*a-*b))
{
a++;
b++;
}
else
return *a-*b;
}
if(*a==NULL)
return -(*b); //la primer cadena es mas chica
else
return *a; //la primer cadena es mayor
}
Comentarios sobre la versión: Versión 1 (0)
No hay comentarios