Saludos, soy nuevo en este foro. Resulta que tengo un problema. Estoy programando en el lenguaje C++, con el IDE Anjuta corriendo bajo linux mint. Resulta que con dicho codigo tengo un problema. Cuando comparo dos string, usando strcmp (st1, st2) me deberia dar 0 cuando el primer apellido es GONZALEZ, pero resulta que depurando el problema me tira 10. Si alguien me puede ayudar y dar una solucion le agradeceria. Saludos
Código:
#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
int main()
{
int comparacion;
char sApellido1[21], sApellido2[21];
cout<<"Ingrese el primer apellido [En mayusculas, max. 20 caracteres.]: ";
fgets(sApellido1,21,stdin);
cout<<"Ingrese el segundo apellido [En mayusculas, max. 20 caracteres.]: ";
fgets(sApellido2,21,stdin);
comparacion=strcmp(sApellido1,"GONZALEZ");
if(comparacion==0)
cout<<"ATENCIÓN: El primer alumno se llama GONZÁLEZ\n";
if(!(strcasecmp(sApellido1,sApellido2)))
cout<<"ATENCIÓN: Ambos apellidos son iguales.";
else
{
if((strcasecmp(sApellido1,sApellido2))<0)
cout<<sApellido1<<sApellido2;
else
cout<<sApellido2<<sApellido1;
}
return 0;
}