שלום!!

vaska57

New member
שלום!!

אני צריך להגיש לבית ספר תרגילי פונקציות. המשימה הייתה לכתוב פונקציה הבודקת אם התו הוא בתחום הא"ב האנגלי והעברי אז הפונקציה תחזיר את הערך 1 שהוא אמת אחרת יחזיר 0 שזה שקר. כתבתי את הפוקציה אך זה כל פעם כתוב שזה שקר גם אם אני מכניס נתון אמת. הינה הפונקציה שכתבתי: #include<stdio.h> #include<conio.h> #define true 1 #define false 0 int isletter(char a) { if(a==65-90 || a==97-122 || a==128-154) return (true); else return (false); } int main() { clrscr(); int q; char tav; printf("please enter a char:\n"); scanf("%c",&tav); q=isletter(tav); printf("%d",q); return(0); } בבקשה תעזרו לי למצוא את הבעיה למה זה כל פעם מחזיר 0 שזה שקר תודה מראש!!
 

Metheny

Member
...

מה זה 65-90 ? למה מינוס? זה צריך להיות
if ( (( a >=65 ) && ( a<=90 )) || ( a >= 97 ) ...... )​
 

enriquex

New member
אין כזה ביטוי ב C

65-97 זה לא אומר מ 65 עד 97 אם לזה התכוונת
 
למעלה