![]() |
|
(Structures) םינבמ - C/C++ | |
![]() |
|
ישאר דומע | סינוקא ןד תאמ |
![]() |
.םייוסמ יגול רשק םייק םהיניב רשא םיהז וא םינוש םיסופיטמ םינתשמ לש הצובק אוה הנבמ :האבה הרוצב הנבמ רידגנ C תפשב struct struct_name { List of fields . . . }; תויצקנופהו ןכתייש םושמ תאזו .תכרעמה תוירפסל טרפ רבד לכ ינפל תינכותב עיפות םינבמ תרדגה .(ןכל םדוק םירדגומ תויהל םיבייח ויהש) םינבמ תורדגה תוליכמ :הנבמ תרדגהל אמגוד strcut product { int code; char name[10], department[10]; float price; }; קר יהוזו תנכתמה י"ע ןתינ הנבמל םשה .תודש 4 ול רשא product םשב שדח םינותנ סופיט ןאכ ונרדגה .גוס ותואמ םינתשמ לש תידיתע הרדגהל תינבת :(אוהש סופיט לכ תרדגהל ההז) האבה הרוצב עצבתת םינתשמ תרדגה void main() { struct product product1, product2, product3; . . . } .ל"נה תודשה תא ליכמ רשא הנבמ אוה הנתשמ לכ ,רמולכ .product סופיטמ םינתשמ 3 ונרדגה ןאכ .(.) הדוקנ רוטרפואה י"ע תעצבתמ הנבמב תודשה דחאל היינפ :ךכ תאז השענ 12.5 --ל ישילשה רצומה ריחמ תא לחתאל הצרנ ,אמגודל product3.price = 12.5; הרהבה :בותכל לכונ ,רמולכ .(סופיט ותואמ םהינש םא ,ןבומכ) רחא הנבמל דחא הנבמ לש המשה עצבל לכונ product1 = product3; .product3 הנבמה תודש יכרע תא םילבקמ product1 הנבמה תודש !וב ןושארה הדשל עיבצמ וניא אוהו ךרעמל ותרוצב המוד אל הנבמ םינבמ לש םיכרעמ .ומצע ינפב הנבמ אוה הזכ ךרעמב את לכ רשאכ םינבמ לש םיכרעמ רוציל ןתינ :םירצומ 10 לש ךרעמ רידגנ ,ל"נה הנבמה סופיט רובע ,אמגודל struct product prod[10]; .product גוסמ הנבמ אוה ,וב את לכ רשא prod ךרעמ ונרדגה .סקדניא י"ע - רחא סופיט לכל השיג ומכ עצבתת ךרעמה ךותב הנבמל השיג :הדוקפה י"ע 4-ל ךרעמב ןושארה רצומה לש דוקה תא עובקל לכונ prod[0].code = 4; .(struct product גוסמ עיבצמ) .וב ןושארה רביאל עיבצמ אוה ןכלו ךרעמ אוה prod :תרוכזת םינבמל םיעיבצמ .הנבמ סופיטמ םיעיבצמו םינתשמ רידגהל לכונ ,ןכל .םיעיבצמו םינתשמ רידגהל ןתינ םינותנ סופיט לכל :אמגוד :ןורכיזב אבה הנבמה תרדגה תמייק םא strcut student { int id; // Serial number char f_name[10], l_name[10]; // First name and last name int birth; // Birth year int grades[5]; // 5 grades of student }; :ןורכיזב םיאבה םינתשמה תא רידגנו struct student s1,s2; :אמגודל ,םינבמה דחא לא עיבצי רשא student סופיטמ עיבצמ רידגהל לכונ struct student *s_ptr = &s1; .s1 הנבמה לש תבותכב ותוא ונלחתאו student גוסמ הנבמל עיבצמ ונרדגה .םיכרד שולשב s1 הנבמה תודשל סחייתהל לכונ ,וישכע :( 1975-ל s1 הנבמב הדילה תנש הדש תא לחתאל וננוצרבש חיננ) הנושאר ךרד :הנבמ לש הדשל היינפ לש הליגרה הטישב s1.birth = 1975; הינש ךרד :(*) תיבכוכ רוטרפואהו s_ptr עיבצמה י"ע (*s_ptr).birth = 1975; תישילש ךרד :( -> ) ץח רוטרפואהו s_ptr עיבצמה י"ע s_ptr->birth = 1975; היצקנופל םינבמ תרבעה .ךרעמהמ הנבמה הנוש ךכב .ליגר הנתשמ תרזחהו תרבעהל ההז היצקנופל הנבמ גוסמ הנתשמ תרזחהו תרבעה !עיבצמ וניא הנבמ לש םש :(ל"נה םינבמה רובע) אמגוד s2 = func(s1); :ךכ הארית היצקנופה ,הנבמ אוה רזחומה ךרעה םא .רטמרפכ s1 הנבמה struct student func(struct student s); חלשנו דימתנ ,ןכל .קתעהה לע היצקנופה תדובעו הנבמה קתעה תריציל םורגי היצקנופל ולש החילש לכו ההובג תא שדחמ רידגנ .תישארה תינכותהמ ירוקמה הנבמה לע דובענו (םיתב 2 קר ספותה) הנבמל עיבצמ םעט ןיא ,ירוקמה הנבמה לע םידבוע ונא םא) הנבמ אלו רטמרפכ הנבמל עיבצמ לבקתש ידכ func היצקנופה :(void-כ רדגות היצקנופה ןכלו ךרע ריזחהל void func(struct student *s); :אמגוד void input(struct student *s) { int i; printf("Enter student ID : "); scanf("%d", &s->id); printf("Enter student first name : "); gets(s->f_name); printf("Enter student last name : "); gets(s->l_name); for (i=0; i<5; i++) { printf("Enter grade number %d : ", i+1); scanf("%d", &s->grades[i]); } } void output(struct student *s) { int i; printf("Student ID : %d\n", s->id); printf("First name : %s\n", s->f_name); printf("Last name : %s\n", s->l_name); printf("Grades: "); for (i=0; i<5; i++) printf("%d ", s->grades[i]); printf("\n"); } void main() { struct student s; input(&s); output(&s); } .הנבמל עיבצמה תא תלבקמ רשא input היצקנופה י"ע תעצבתמ הנבמה ךותל םינותנ תטילק היהש המ ,םינותנה תא וכותל תטלוקו קתעה תחתופ התיה היצקנופה ,הנבמה תא םיחלוש ונייה םא) .(יוניש אלל s תא ריאשמ .הנבמל עיבצמ ןכ םג תלבקמ רשא output היצקנופה י"ע תעצבתמ וטלקנש םינותנה תספדה אל רשא הספדה תעצבתמ הפש ינפמ עיבצמה תא חולשל םיבייח ונייה אל ,וז היצקנופ לש הרקמב ןורכז יללוז םיקתעהל םורגל אל ידכב הנבמל עיבצמ חלשנו דימתנ ךא .הנבמה ינותנ לע העיפשמ .היצקנופה י"ע םירצונה |