פסקל ו CASE

שירן10

New member
פסקל ו CASE

איך אני מכניסה תנאי למשפט case גדול או קטן כלומר במקרה של X גדול מ -אפס
 

Xboy123

New member
אני יכול להבין מה זה case אבל לא

הבנתי בדיוק את השאלה שלך. מה זאת אומרת להכניס תנאי למשפט case? case זה בעצמו סוג של כתיבת תנאי מורכב יותר... תסבירי שוב את השאלה שלך ואעזור לך בלי בעיה..
 

Xboy123

New member
אופס!התכוונתי: אני יכול -להסביר- אך

נראה לי ששאלת איך אפשר להשתמש בתנאים כמו במצב שזה גדול מזה, או זה קטן מזה, וגם אני לא יודע...
 

שירן10

New member
מצטערת...

case A of 0: writeln (' ')..... <0 writeln (' ')..... >0 writeln (' ').....​
הבעיה היא שאת הקייס הראשון אני מצליחה אבל עם השאר יש לי בעיה
 

mooznach

New member
לא ככה.

עד כמה שאני רואה אפשר לבדוק רק 2 מצבים בעזרת case. גדול מ... וקטן או שווה ל... או קטן מ... וגדול או שווה ל...
#include <stdio.h> int main() { int x = 10; int z = x > 10; switch(z) { case 1: printf("bigger\n"); break; case 0: printf("smaller or equal\n"); break; } return 0; }​
לא שאני מבין למה להשתמש בcase...
 

zagzagzag

New member
בפסקל:

פתרון דומה, אבל עדיף להשתמש ב-If במקרה הזה -
var result: boolean; begin result = A > 0; case result of TRUE: ..... FALSE: .....​
(לא בטוח בקשר לתחביר, לא נגעתי בשפה הרבה זמן)
 

mooznach

New member
הנה שיפור, מי שזוכר פסקל שיתרגם :)

#include <stdio.h> int main() { int x = 10; int y = 11; int z = (x >= y) + (x == y); switch(z) { case 2: printf("equal\n"); break; case 1: printf("bigger\n"); break; case 0: printf("smaller\n"); break; } return 0; }​
 

zagzagzag

New member
הסיבה: אי אפשר ../images/Emo13.gif

במשפט Case בפסקל, הערכים שאותם רוצים להשוות צריכים להיות מאותו טיפוס ("סוג") של המשתנה או הערך בכותרת של המשפט. הפתרון הוא להשתמש ב-If.
 
למעלה