Admin2 12 Report post Posted July 21, 2008 #include<iostream>#include<string>using namespace std;class Marks{ private: char name[100], grade; float gpa; public: char *set_name() { cout<<"Enter name : "; cin.getline(name,99); return name; } float set_gpa() { cout<<"Enter CGPA : "; cin>>gpa; return gpa; } char set_grade() { if(gpa>=3.00 && gpa<=4.00) grade = 'A'; else if(gpa>=2.00 && gpa<=2.99) grade = 'B'; else if(gpa>=0.00 && gpa<=1.99) grade = 'F'; }};void main(){ Marks student; student.set_name(); student.set_gpa(); student.set_grade(); cout<<"Name : "<<name<<endl; //error C2065: 'name' : undeclared identifier cout<<"GPA : "<<gpa<<endl; //error C2065: 'gpa': undeclared identifier cout<<"Grade : "<<grade<<endl; //error C2065: 'grade': undeclared identifier }ada 3 errors (error ada tulis dekat comment bahagian code). macam mana kita nak print output dia tu? Quote Share this post Link to post Share on other sites
Paralys3r 0 Report post Posted July 23, 2008 name, gpa dan grade berada dalam skop kelas Marks.. awak takleh akses dari luar just by their names.. lebih2 lagi private nonstatic members. besanya awak nyer class patut ader setter n getter function. dalam contoh di atas awak dah ader setters (set_XXX). getter function digunakan untuk akses private members, e.g (sebahagian dari class Marks) :float get_gpa() {return gpa;}dan sebagainya.. dan untuk lebih lengkap lagi, bolehlah juga buat function print_XXX (or aper2 laa), untuk print nilai private members ni. Quote Share this post Link to post Share on other sites
nurul_h5 0 Report post Posted July 28, 2008 name, gpa dan grade berada dalam skop kelas Marks.. awak takleh akses dari luar just by their names.. lebih2 lagi private nonstatic members. besanya awak nyer class patut ader setter n getter function. dalam contoh di atas awak dah ader setters (set_XXX). getter function digunakan untuk akses private members, e.g (sebahagian dari class Marks) :float get_gpa() {return gpa;}dan sebagainya.. dan untuk lebih lengkap lagi, bolehlah juga buat function print_XXX (or aper2 laa), untuk print nilai private members ni.using namespace std; //bukan utk c je ke???patutnya c++ xleh guna kan?? boleh x taipkan sintak yang betul.....aku x dpt trace error la Quote Share this post Link to post Share on other sites
Paralys3r 0 Report post Posted July 28, 2008 tebalik la dik. using is a C+ only keyword. Quote Share this post Link to post Share on other sites
otai_g 3 Report post Posted August 13, 2008 nah ni aku ada betulkan.tp x la sebagus mana programming skills aku nih.#include<iostream> #include <string.h> using namespace std; class Marks { private: char name[100]; char grade; float gpa; public: void set_name(); void set_gpa(); void set_grade(); void display(); }; void Marks::set_name() { cout<<"Enter name : "; cin.getline(name,99); } void Marks::set_gpa() { cout<<"Enter CGPA : "; cin>>gpa; } void Marks::set_grade() { if (gpa>=3.00 && gpa<=4.00) grade = 'A'; if (gpa>=2.00 && gpa<=2.99) grade = 'B'; if (gpa>=0.00 && gpa<=1.99) grade = 'F'; } void Marks::display() { cout<<"Nama : "<<name<<endl; cout<<"CGPA : "<<gpa<<endl; cout<<"Grade : "<<grade<<endl; } void main() { Marks student; student.set_name(); student.set_gpa(); student.set_grade(); student.display(); } Quote Share this post Link to post Share on other sites
Admin2 12 Report post Posted August 13, 2008 elo hehe thanx sbb bg code ni. tapi memng return dia tak keluar. aku dah dapat jawapan dia dah. mm kalau nak tgk jawapan dia camni (from my lecturer):#include<iostream.h> #include<string.h> class Marks { private: char name[30], grade; float gpa; public: char *set_name() { cout<<"Enter name : "; cin.getline(name, 30); return name; } float set_gpa() { cout<<"Enter CGPA : "; cin>>gpa; return gpa; } char set_grade() { if ((gpa >= 3.00)&&(gpa <= 4.00)) grade = 'A'; else if ((gpa >= 2.00)&&(gpa < 3.00)) grade = 'B'; else grade = 'F'; return grade; } }; void main() { char name[30], grade; float gpa; Marks M; cout<<"==================================="<<endl; cout<<" ENTER INFORMATION "<<endl; cout<<"==================================="<<endl; strcpy(name, M.set_name()); gpa = M.set_gpa(); grade = M.set_grade(); cout<<"==================================="<<endl; cout<<" RESULT SLIP "<<endl; cout<<"==================================="<<endl; cout<<"Name : "<<name<<endl; cout<<"GPA : "<<gpa<<endl; cout<<"Grade : "<<grade<<endl; }thanx ok. nanti ada soalan apa2 nanti aku try la tanya lagi k:D Quote Share this post Link to post Share on other sites