i insert the different id , but the program out with pointer value
anyone know why ???
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#include<iostream>
#include<string>
#define MAX 6
#define size 10
using namespace std;
struct student {
string name;
int id;
string prog;
double cgpa;
};
class stinfo {
private:
student data[size];
int last;
public:
stinfo();
void add(string name, int id, string prog, double cgpa);
void printAll(int count);
void selectionSort(int count);
};
int min(int a[], int pos){
int min=99999;
int i;
int c;
for(i =pos; i<MAX;i++){
if(a[i]<min){
min=a[i];
c=i;
}
}
return c;
}
stinfo :: stinfo()
{
last = 0 ;
}
void stinfo::add(string name, int id,string prog, double cgpa)
{
if (last == size) {
return ;
}
data[last].name = name;
data[last].id = id;
data[last].prog = prog;
data[last].cgpa = cgpa;
++last;
} // all infomation are in data
void stinfo::selectionSort(int count)
{
int A[size];
int i,j, temp;
for (int p=0; p<last; p++)
{
A[p]= data[p].id;
}
for (i=0; i<MAX; i++)
{
j = min(A,i);
if(A[j]<A[i])
{
temp = A[j];
A[j] = A[i];
A[i] = temp;
}
}
for (int q=0; q<count; q++)
cout<<A[q]<<endl;
}
void stinfo::printAll(int count)
{
if (last == size){
return ;
}else{
for (int i =0; i<count; i++)
{
cout<<data[i].name<<endl
<<data[i].id<<endl
<<data[i].prog<<endl
<<data[i].cgpa<<endl;
}
}
}
int main()
{
char ans;
string name1,prog1;
int id1;
double cgpa1;
int count = 0;
stinfo st;
do{
cout <<">>>>> STUDENT INFOMATION RECORDING SYSTEM <<<<< "<<endl;
cout <<"A.) Insert NEW Student Record."<<endl
<<"B.) print all Student Record."<<endl;
cout <<"Please Choice ONE Option : ";
cin >>ans;
cout<<endl;
switch ( ans )
{
case 'a':
case 'A':
cout <<endl;
cout <<">>>>> INSERT NEW STUDENT INFORMATION <<<<<"<<endl;
cout <<"NAME : ";
cin >>name1;
cout <<"ID: ";
cin >>id1;
cout <<"PROGRAMME : ";
cin >>prog1;
cout <<"CGPA: ";
cin >>cgpa1;
st.add ( name1,id1,prog1,cgpa1 );
cout <<endl
<<"INSERT COMPLETE... "<<endl
<<endl;
count ++;
break;
case 'b':
// sort at here
st.printAll(count);
break;
case 'c':
st.selectionSort(count);
break;
default :
cout <<"Please Try Again..."<<endl
<<endl;
}
}while ( toupper(ans) !='F' ) ;
cout <<"EXIT The Program..."<<endl
<<endl;
system("pause");
return 0;
}