Programación en C: Manipulación de Cadenas de Texto y Ordenamiento de Estructuras
Clasificado en Informática
Escrito el en
español con un tamaño de 3,62 KB
Manipulación de Cadenas de Texto en C
Función para calcular la longitud de una cadena
int largo(char* string) {
int i = 0;
while (string[i] != '\0')
i++;
return i;
}
Función para copiar una cadena
char* copiar(char* nombre, char* nombrecop) {
int i, j;
j = largo(nombre);
for (i = 0; i < j; i++)
nombrecop[i] = nombre[i];
return nombrecop;
}
Función para comparar dos cadenas
int comparar(char* a, char* b) {
int i, flag1 = 0, lenght1, lenght2;
lenght1 = largo(string);
lenght2 = largo(string1);
if (lenght1 < lenght2)
lenght1 = lenght2;
for (i = 0; i < lenght1; i++) {
if (string[i] > string1[i]) {
flag1++;
break;
}
if (string[i] < string1[i]) {
flag1--;
break;
}
}
return flag1;
}
Función para convertir a mayúsculas
char* mayus(char* string) {
int i;
while (string[i] != '\0') {
if (string[i] > 96 && string[i] < 123)
string[i] -= 32;
i++;
}
return string;
}
Programa principal
main() {
char nombrecpy[80], nombre[80], nombre2[80];
int i, lenght;
printf("Ingrese el nombre: ");
fflush(stdin);
gets(nombre);
printf("Ingrese otro nombre: ");
gets(nombre2);
copiar(nombre, nombrecpy);
printf("%s \n", nombrecpy);
lenght = largo(nombre);
printf("%d \n", lenght);
if (comparar(nombre, nombre2) == 0)
printf("Son iguales \n");
else
printf("Son diferentes \n");
mayus(nombre);
printf("%s", nombre);
getchar();
}
Estructuras y Ordenamiento de Datos
Definición de la estructura
struct datos {
char nombre[80];
int edad;
};
Programa principal: ordenamiento por nombre
main() {
int i, j, k, tempnum, edadins;
char temp[80], nombreins[80];
struct datos vector[10], aux;
for (i = 0; i < 5; i++) {
printf("Ingrese un nombre: ");
fflush(stdin);
gets(vector[i].nombre);
printf("Ingrese la edad: ");
scanf("%d", &vector[i].edad);
}
for (j = 0; j < 4; j++) { // ¿Y si quiero que se muestre ordenado por edad?
for (k = j + 1; k < 5; k++) {
if (strcmp(vector[j].nombre, vector[k].nombre) > 0) {
aux = vector[j];
vector[j] = vector[k];
vector[k] = aux;
}
}
}
for (i = 0; i < 5; i++)
printf("%s-%d\n", vector[i].nombre, vector[i].edad);
getchar();
getchar();
}