Write My Paper Button

WhatsApp Widget

#include #include #include #include #define max 1000 #define

#include

#include

#include

#include

#define max 1000

#define min 1

#define num_asteroids 10

#define max_distance 750

#define pos_dimensions 3

struct User

{

char name[20];

int pin;

};

int numberOfUsers(char* filename);

void readIdent(struct User *users,char* filename);

int verifyUser(struct User *users, int no_of_users);

void readAsteroidsData(char* asteroids,int attributes, int positions[][3]);

void writeAsteroidsTxt(int no_of_asteroids);

int getRandomNumber();

double calculateDistance(int x, int y, int z);

double calculateTime(double distance);

void writeToDistanceFile(char* asteroids,int no_of_asteroids, int attributes, int positions[][attributes]);

void readDistanceData(char* asteroids, int attributes, int distances[][attributes]);

void displayBarChart(char* asteroids,int no_of_asteroids, int attributes,int distances[][attributes]);

void sortArray(char* asteroids,int no_of_asteroids, int attributes,int distances[][attributes]);

void printArray(char* asteroids,int no_of_asteroids, int attributes,int distances[][attributes]);

int main()

{

//Common Variables

int no_of_users = numberOfUsers(“ident.txt”);

//int position_dimensions=3;

//Declare Arrays

char asteroids[num_asteroids];

struct User users[no_of_users];

int positions[num_asteroids][pos_dimensions];

time_t t;

srand ( (unsigned) time (&t));

//Verify User

readIdent(users,”ident.txt”);

if(verifyUser(users,no_of_users)==1)

{

printf(“nSuccessfully verifiednn”);

writeAsteroidsTxt(num_asteroids);

printf(“Asteriods positions written to filen”);

readAsteroidsData(asteroids,pos_dimensions,positions);

printf(“Asteriods positions read from filenn”);

//We now have the asteroids in a multidimensional array

//Calculate Distance and send

writeToDistanceFile(asteroids,num_asteroids,pos_dimensions,positions);

printf(“nAsteriods Distance from Spaceship written to filen”);

char aste[num_asteroids];

int distances[num_asteroids][pos_dimensions+1];

readDistanceData(aste,(pos_dimensions+1),distances);

printf(“Asteriods Distance from Spaceship read from filenn”);

printf(“Display Bar Chart of Distancesn”);

displayBarChart(aste,num_asteroids,pos_dimensions+1,distances);

sortArray(aste,num_asteroids,pos_dimensions+1,distances);

printf(“Asteroid Ranking from the closest to the furthest is as follows: n”);

printArray(aste,num_asteroids,pos_dimensions+1,distances);

printf(“Displaying Bar Chart After Sortingn”);

displayBarChart(aste,num_asteroids,pos_dimensions+1,distances);

}

else

{

printf(“Access Deniedn”);

}

return 0;

}

void printArray(char* asteroids,int no_of_asteroids, int attributes,int distances[][attributes])

{

for(int i=0;i<no_of_asteroids;i++)

{

printf(“%c %d %d %d %dn”,asteroids[i],distances[i][0],distances[i][1],distances[i][2],distances[i][3]);

}

}

//read ident.txt

void readIdent(struct User *users,char* filename)

{

FILE * fp;

fp = fopen(filename, “r”);

if (fp == NULL)

exit(EXIT_FAILURE);

int i = 0;

char id[20] ;

while(fscanf(fp,”%s”,users[i].name)==1)

{

fscanf(fp,”%s”,id);

users[i].pin =atoi(id);

i++;

}

fclose(fp);

}

//verify user

int verifyUser(struct User *users, int no_of_users)

{

//Verify the user input

//If valid , return 1

//Take input from the user

char nameInput[20] ;

printf(“Please enter your name:n”);

scanf(“%s”, nameInput);

int pinInput;

printf(“Please enter your pin:n”);

scanf(“%d”, &pinInput);

int found =0;

int attempts =0;

while(found==0 && attempts < 2)

{

for (int i = 0; i < no_of_users; i++)

{

if(strcmp(users[i].name, nameInput) == 0 && users[i].pin ==pinInput)

{

found=1;

}

}

if(found==0 && attempts < 2)

{

attempts++;

printf(“nInvalid!, Please Re-enter your details! n”);

printf(“You have %d attempts remaining!n”,3-attempts);

printf(“Please enter your username: “);

scanf(“%s”, nameInput);

printf(“Please enter your pin: “);

scanf(“%d”, &pinInput);

}

}

return found;

}

//count users in the file

int numberOfUsers(char* filename)

{

FILE *fp;

fp = fopen(filename, “r”);

if (fp == NULL)

{

exit(EXIT_FAILURE);

}

int i = 0;

char username[20],id[20] ;

while(fscanf(fp,”%s”,username)==1)

{

fscanf(fp,”%s”,id);

// users[i].id =atoi(id);

i++;

}

fclose(fp);

return i;

}

//generate asteroid positions

void writeAsteroidsTxt(int no_of_asteroids)

{

int i;

int num1 , num2 , num3;

FILE *fptr;

// opening file in writing mode

fptr = fopen(“asteroids.txt”, “w”);

char asteroids[10] =”ABCDEFGHIJ”;

// exiting program

if (fptr == NULL)

{

printf(“Error!”);

exit(1);

}

for ( i = 0; i < no_of_asteroids; ++i)

{

num1= getRandomNumber();

num2 =getRandomNumber();

num3 = getRandomNumber();

fprintf(fptr, “%c %d %d %dn”, asteroids[i],num1,num2,num3);

}

fclose(fptr);

}

int getRandomNumber()

{

int number;

number = (rand() % (max – min + 1)) + min;

return number;

}

//read asteroids

void readAsteroidsData(char* asteroids, int attributes, int positions[][attributes])

{

FILE * fp;

fp = fopen(“asteroids.txt”, “r”);

if (fp == NULL)

exit(EXIT_FAILURE);

int i = 0;

int attr =0;

char token[20];

while (fscanf(fp,”%s”,token)==1)

{

asteroids[i] =token[0];

while( attr<attributes)

{

fscanf(fp,”%s”,token);

positions[i][attr++] =atof(token);

}

attr=0;

i++;

}

fclose(fp);

//return positions;

}

//Calculate distance

double calculateDistance(int x, int y, int z)

{

int sum_of_squares;

double distance =0;

sum_of_squares = (x*x)+(y*y)+(z*z);

distance = sqrt(sum_of_squares);

return distance;

}

void writeToDistanceFile(char* asteroids,int no_of_asteroids, int attributes, int positions[][attributes])

{

int i;

int x, y, z;

double distance;

double time;

FILE *fptr;

// opening file in writing mode

fptr = fopen(“distance.txt”, “w”);

// exiting program

if (fptr == NULL)

{

printf(“Error!”);

exit(1);

}

for ( i = 0; i < no_of_asteroids; ++i)

{

x =positions[i][0];

y =positions[i][1];

z =positions[i][2];

distance= calculateDistance(x,y,z);

fprintf(fptr, “%c %d %d %d %.2fn”, asteroids[i],x,y,z,distance);

if(distance < max_distance)

{

printf(“WARNING WARNING WARNING n”);

printf(“Near asteroid %c at %d %d %d: %.2f KM Away!n”,asteroids[i],x,y,z,distance);

time = calculateTime(distance);

printf(“Time to impact %.2f secondsn”,time);

}

}

fclose(fptr);

}

double calculateTime(double distance)

{

double time = distance/25;

return time;

}

void readDistanceData(char* asteroids, int attributes, int distances[][attributes])

{

FILE * fp;

fp = fopen(“distance.txt”, “r”);

if (fp == NULL)

exit(EXIT_FAILURE);

int i = 0;

int attr =0;

char token[20];

while (fscanf(fp,”%s”,token)==1)

{

asteroids[i] =token[0];

while( attr<attributes)

{

fscanf(fp,”%s”,token);

distances[i][attr++] =atof(token);

}

attr=0;

i++;

}

fclose(fp);

}

//sort array

void sortArray(char* asteroids,int no_of_asteroids, int attributes,int distances[][attributes])

{

//read data to array

int temp[attributes];

char c ;

int i;

int j;

for( i=0; i<no_of_asteroids; i++)

{

for( j =i+1; j< no_of_asteroids; j++)

{

if(distances[i][3] > distances[j][3])

{

//swap items

//

temp[0] =distances[i][0];

temp[1] =distances[i][1];

temp[2] =distances[i][2];

temp[3] =distances[i][3];

//

distances[i][0] =distances[j][0];

distances[i][1] =distances[j][1];

distances[i][2] =distances[j][2];

distances[i][3] =distances[j][3];

//

distances[j][0] =temp[0];

distances[j][1] =temp[1];

distances[j][2] =temp[2];

distances[j][3] =temp[3];

c = asteroids[i];

asteroids[i] =asteroids[j];

asteroids[j]=c;

}

}

}

printf(“Finished sortingn”);

}

//display bar for distance

void displayBarChart(char* asteroids,int no_of_asteroids, int attributes,int distances[][attributes])

{

int asterisks ;

int j ;

for(int i=0; i<no_of_asteroids; i++)

{

asterisks = distances[i][3]/50;

printf(“%c |”,asteroids[i]);

for( j =0; j<asterisks; j++)

{

printf(“*”);

}

printf(“n”);

}

printf(” |n |n |n 0—-|—-|—-|—-|—-|————————-n”);

}

The post #include #include #include #include #define max 1000 #define appeared first on PapersSpot.

Don`t copy text!
WeCreativez WhatsApp Support
Our customer support team is here to answer your questions. Ask us anything!
???? Hi, how can I help?