בעיית פוינטרים ב C++ ?! עזרה בבקשה! - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

בעיית פוינטרים ב C++ ?! עזרה בבקשה!


dtechno

Recommended Posts

שלום לכולם.

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

void Change_Details(Person *prn)
{
prn->Private_Details();
}

עבור Student, הכל עובד כשורה. אך, כאשר אני מפעיל את אותה פונקציה עבור Teacher, אני מקבל במקום

Name: Mor

UserName: morcs

Password: 1122

את התוצאה הבאה:

Name: SERSPROFILE=C:\Documents and Settings\All Users

UserName: Documents and Settings\All Users

Password: ettings\All Users

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

הנה קטע קוד הנחוץ:

void Teacher_Menu(Person ***pPersonArr)
{
int flag=Check_Passwords(*pPersonArr);
if (flag!=-1)
{
char selection;
do
{
Print_Teacher_Menu();
cin>>selection;
switch (selection)
{
case '1':
Change_Details(*(pPersonArr[flag]));
break;
case '2':
Show_Students_List(*(pPersonArr[flag]), *pPersonArr);
break;
case '3':
Change_Grades(*pPersonArr);
break;
case ESC:
break;
default:
Error_Messages(1);
}
}
while(selection!=ESC);
}
else
Error_Messages(2);
}

התייחסו בעיקר לפונקציה Change_Details ולמה שהיא מקבלת - האם האובייקט ששלחתי נכון?

אותה שורה מופיעה בדיוק בתפריט ה Student, ואצלו כאמור, הכל עובד כשורה.

אם דרושים לכם עוד קטעי קוד, אשמח להעלותם.

בתודה מראש על כל עזרה שהיא, קובי.

קישור לתוכן
שתף באתרים אחרים

כמה שאלות (כי אני לא בטוח שהבנת מה אתה מנסה לעשות).

בתור מה אתה משתמש ב- pPersonArr - בתור מצביע למערך של מצביעים? או בתור מערך למערכים של מצביעים?

המשתנה flag אמור להיות אינדקס למערך?

הפונקציה Change_Details מצפה לקבל מערך או מצביע?

זה אמור להיות חלק מתוכנית אמיתית או שזה איזה תרגיל שבו אתה אמור לראות כוכבים?

קישור לתוכן
שתף באתרים אחרים

אני הוא פותח הנושא, פשוט הייתי אצל חבר.

ולתגובות:

שניצל:

אין גלישת .

בומרנג:

- pPersonArr הינו מצביע למערך של מצביעים. מכיוון שאני רוצה לשנות את המערך בפונקציה, שלחתי פוינטר ל pPersonArr.

- flag הינו אינדקס למערך.

- Change_Details מצפה לקבל מצביע.

בתודה מראש על התייחסותכם וכל כל עזרה שתבוא, קובי.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...