מבנים ופונקציות
שיעור 5 מתוך 8 בקורס מבנים ב-C/C++ של Coddy.
לאחר יצירת מבנה בקובץ C/C++, אפשר להשתמש במבנה הזה כארגומנט של פונקציה או כסוג הערך המוחזר.
לדוגמה, נניח ש־Person הוא מבנה:
void greet(Person p) {
cout << "Hello, " << p.name << endl;
}ב־C, צריך להוסיף את מילת המפתח struct לפניו:
void greet(struct Person p) {
printf("Hello, %s\n", p.name);
}אתגר
קלניתן לך חלק מהקוד שיוצר מבנה Point, מאתחל שתי נקודות ומחשב את המרחק ביניהן.
המשימה שלך היא ליצור פונקציה בשם calcDistance שמקבלת שני מבני Point כארגומנטים, מחשבת את המרחק ומחזירה אותו (מסוג int).
בהינתן שתי הנקודות p1 ו-p2, המרחק ביניהן הוא:
(p2.x - p1.x) * (p2.x - p1.x) + (p2.y - p1.y) * (p2.y - p1.y)אין צורך לשנות כלל את הפונקציה main!
נסו בעצמכם
#include <stdio.h>
struct Point {
int x;
int y;
};
// ממשו את calcDistance כאן
int main() {
char tmp[50];
int p1x, p1y, p2x, p2y;
scanf("%s %d %d", &tmp, &p1x, &p1y);
scanf("%s %d %d", &tmp, &p2x, &p2y);
struct Point p1 = {p1x, p1y};
struct Point p2 = {p2x, p2y};
int distance = calcDistance(p1, p2);
printf("Distance between p1 and p2: %d", distance);
return 0;
};
כל השיעורים ביחידה מבנים ב-C/C++
תרגלו בעצמכם: קומפיילר C אונליין