Skillnad ska ej göras på stora och små bokstäver åäö
Hejsan!
Går en kurs i programmering C och jag är totalt nybörjare så jag skulle behöva lite hjälp.
Just nu gör jag ett program som ska avgöra om ett ord är en palindrom eller inte.
Det jag har problem med är att jag inte får ÅÄÖ till små åäö.
Tex apa, Apa, apA, åhå fungerar men inte om man skriver in Åhå.
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
char avsluta;
unsigned char palindrom[BUFSIZ];
int main(void)
{
char a[100], b[100];
int i;
/* avsluta programmet med q*/
for(;avsluta !='q';){
printf("Detta program avg\224r om ordet \204r ett palindrom eller inte.\n\n\n");
/* hämta in ord */
printf("Skriv in ditt ord: ");
scanf("%s", &a);
/* Stora ÅÄÖ till små åäö*/
for(i=0;i<strlen(palindrom);i++){
if(palindrom[i]=='Å')
palindrom[i]='å';
if(palindrom[i]=='Ä')
palindrom[i]='ä';
if(palindrom[i]=='Ö')
palindrom[i]='ö';
}
strlwr(a); /* gör alla bokstäver som små */
strcpy(b,a); /* kopierar sträng b med a */
strrev(b); /* omvänder sträng b */
if( strcmp(a,b) == 0 )
printf("Ordet \204r en palindrom.\n");
else
printf("Ordet \204r inte en palindrom.\n");
printf("\n\nForts\204tt genom att trycka p\206 'Enter'\n");
printf("Avsluta med 'q'\n\n\n");
fflush (stdin);
avsluta=getche();
system("cls");
}
return 0;
}
Så om någon skulle kunna leda in mig på rätt spår och hur jag ska tänka så vore jag himla tacksam