Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- typedef struct rec {
- int recordnumber;
- char firstname[20];
- char lastname[20];
- int age;
- char gender;
- } record;
- void SortArr(record* rec, int numrecsread)
- {
- int sortchoice;
- int i2, j2, temp, ret;
- record *r1, *r2;
- record trec;
- printf("Press 1 to sort by record number or press 2 to sort by last name.n");
- scanf("%d", &sortchoice);
- if (sortchoice == 1)
- {
- printf("You have chosen to sort record numbers in ascending order...n");
- for (i2 = 1; i2 < numrecsread; i2++)
- {
- for (j2 = 0; j2 < numrecsread - 1; j2++)
- {
- if (rec[j2].recordnumber > rec[i2].recordnumber)
- {
- Swap(&rec[i2], &rec[j2]);
- }
- }
- }
- }
- else if (sortchoice == 2)
- {
- printf("You have chosen to sort last names alphabetically...n");
- for (i2 = 1; i2 < numrecsread; i2++)
- {
- for (j2 = 0; j2 < numrecsread - 1; j2++)
- {
- ret = strcmp(rec[j2].lastname, rec[j2 + 1].lastname); //this has to be called multiple times to fully sort
- if (ret > 0)
- {
- Swap(&rec[i2], &rec[j2]);
- }
- }
- }
- }
- else if (sortchoice < 1 || sortchoice > 2)
- {
- printf("Invalid input.n");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement