when you cout your name, you actually couting only index 30 of the array. it should be like this:
Code:
cout<<"\n NAME: "<<NAME;
our problem is when you enter an int before a string it doesnt clear the buffer so implement a small ClearBuffer() function like this:
Code:
#include <iostream.h>
#include <stdlib.h>
void ClearBuffer()
{
char Dummy[30];
getline (cin, Dummy);
}
void PRINT(int INT, float FLOAT, double DOUBLE, char MI, char NAME[30])
{cout<<"\n Please enter a value for int: "; cin>>INT;
cout<<" Please enter a value for float: "; cin>>FLOAT;
cout<<" Please enter a value for double: "; cin>>DOUBLE;
cout<<" Please enter a value for mi: "; cin>>MI;
ClearBuffer();
cout<<" Please enter a value for Name: "; cin.getline(NAME,30);
cout<<"\n\n INT: "<<INT;
cout<<"\n FLOAT: "<<FLOAT;
cout<<"\n DOUBLE: "<<DOUBLE;
cout<<"\n MI: " <<MI;
cout<<"\n NAME: "<<NAME[30]; }
main()
{ int INT; float FLOAT; double DOUBLE; char MI, NAME[30];
PRINT(INT, FLOAT, DOUBLE, MI, NAME);
system("PAUSE");
return 0;
}