I have a function in one of my programs that picks a random state from a list. It then puts this random state in a structure array. However the name selected from the list does not match the name that winds up in my array structure. The following is not snipped from my code, since I'm using multifiles, so I just retyped it all in one program so it could be copied and pasted to your compiler if you wish to try it. The results of this program are the same as mine though. Basically, I'd expect the output of the last two printf() functions to come out the same for each loop.
#include<time.h>
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
// data list of states
[B]char[/B] datalist[10][20]=
{
"complete",
"considering",
"active",
"disabled",
"obsolete",
"halted",
"expanded",
"rerouted",
"initialized",
"reworked"
};
// structures
[B]struct[/B] data_set
{
[B]char[/B] status[20];
[B]int[/B] priority;
[B]int[/B] complexity;
};
[B]int[/B] main()
{
// declarations
[B]struct[/B] data_set set1[5];
[B]int[/B] random_number;
// implementation
srand(time(NULL)); // for random picking from data list
[B]for[/B]([B]int[/B] i=0;i<5;i++)
{
// get a random state from a list of 10
random_number=rand()%10;
printf("Random Number: %d\n",random_number);
printf("Random Name picked from list: %s\n",datalist[random_number]);
strcpy(set1[i].status,&datalist[random_number][20]);
printf("Random Name stored in set1: %s\n",set1[i].status);
}
getch();
}