Crazy stuff can happen :S

Ok the program is done but when it runs and u start give what it asks

Example:

How many athletes; 2 (we give 2)

***Give Athletes Data:

Lastname: Messi

First Jump: 5.6

etc....

Instead of the above it asks for:

How many athletes; 2 (we give 2)

***Give Athletes Data:

Lastname: First Jump: 5.6

etc....

IT SKIPS the first lastname but it asks u for the second properly

What the heck is that ^^

Code:

`#include <cstdlib> `

#include <iostream>

using namespace std;

struct athlete

{

char lastname[40];

float p1,p2,p3,p4;

};

void show_athletes(athlete A[], int MAX_ATHLETES);

int main(int argc, char *argv[]){

int MAX_ATHLETES;

cout << "How many Athletes; ";

cin >> MAX_ATHLETES;

athlete* A = new athlete[MAX_ATHLETES];

int i;

for(i=0;i<MAX_ATHLETES;i++){

printf("\n*** Give Athletes Data: \n");

printf("Lastname: ");

gets(A[i].lastname);

do{

printf("First Jump: ");

scanf("%f",&A[i].p1);getchar();

}while(A[i].p1<0);

do{

printf("Second Jump: ");

scanf("%f",&A[i].p2);getchar();

}while(A[i].p2<0);

do{

printf("Third Jump: ");

scanf("%f",&A[i].p3);getchar();

}while(A[i].p3<0);

do{

printf("Fourth Jump: ");

scanf("%f",&A[i].p4);getchar();

}while(A[i].p4<0);

}

printf("Press Enter to Show Athletes with Jumps longer than 7.50");

getchar();

show_athletes(A,MAX_ATHLETES);

system("PAUSE");

return EXIT_SUCCESS;

}

void show_athletes(athlete A[],int MAX_ATHLETES){

int i;

for(i=0;i<MAX_ATHLETES; i++){

if (A[i].p1>7.5 || A[i].p2>7.5 || A[i].p3>7.5 || A[i].p4>7.5) {

printf("The Athlete:%40s Jumped Longer than 7.50\n",A[i].lastname);

printf("Ta almata tou einai:\n%f\n%f\n%f\n%f\n",A[i].p1,A[i].p2,A[i].p3,A[i].p4); }

}

}