Advertisement
Guest User

Untitled

a guest
Nov 18th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.33 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. #define PESSOAS 6
  5.  
  6. typedef struct
  7. {
  8. char nome[50];
  9. char endereco[50];
  10. char cidade[50];
  11. char telefone[50];
  12. char profissao[50];
  13. char empresa[50];
  14. } Pessoa;
  15.  
  16. void preenche_registro( Pessoa *p, char *n, char *e, char *c, char *t, char *pr, char *em );
  17. void print_pessoa( Pessoa *p );
  18. void Bolha (Pessoa *P[], int n);
  19.  
  20. int main()
  21. {
  22. int i = 0;
  23. Pessoa *tabela[PESSOAS];
  24. Pessoa pessoas[PESSOAS];
  25. preenche_registro( &pessoas[0], "Osmar Antonio", "Rua 10", "Curitiba", "9999-99999", "Engenheiro", "Constru F" );
  26. preenche_registro( &pessoas[1], "Jair de Paula", "Rua 320", "Maringá", "3333-33333", "Padeiro", "Padaria A" );
  27. preenche_registro( &pessoas[2], "Bruno Paz", "Rua 164", "Colombo", "8888-88888", "Dentista", "Clinica K" );
  28. preenche_registro( &pessoas[3], "Marilia de Jesus", "Rua 1", "Maringá", "6666-66666", "Professora", "Escola J" );
  29. preenche_registro( &pessoas[4], "Carolina Diniz", "Rua 569", "Ponta Grossa", "4444-44444", "Vendedora", "Loja M" );
  30. preenche_registro( &pessoas[5], "Ana Luz", "Rua sem número", "Curitiba", "7777-77777", "Enfermeira", "Hospital L" );
  31.  
  32. // preenche a tabela com os ponteiros.
  33. for ( i = 0; i < PESSOAS; i++ )
  34. {
  35. tabela[i] = &pessoas[i];
  36. }
  37.  
  38. // bubble;
  39. Bolha( tabela, PESSOAS );
  40.  
  41. for ( i = 0; i < PESSOAS; i++ )
  42. {
  43. print_pessoa( tabela[i] );
  44. }
  45. return 0;
  46. }
  47.  
  48. void print_pessoa( Pessoa *p )
  49. {
  50. printf( "<\n" );
  51. printf( "Nome: %s\n", p->nome );
  52. printf( "Endereco: %s\n", p->endereco );
  53. printf( "Cidade: %s\n", p->cidade );
  54. printf( "Telefone: %s\n", p->telefone );
  55. printf( "Profissao: %s\n", p->profissao );
  56. printf( "Empresa: %s\n", p->empresa );
  57. printf( ">\n" );
  58. }
  59. void preenche_registro( Pessoa * p, char *n, char *e, char *c, char *t, char *pr, char *em )
  60. {
  61. strncpy( p->nome, n, 50 );
  62. strncpy( p->endereco, e, 50 );
  63. strncpy( p->cidade, c, 50 );
  64. strncpy( p->telefone, t, 50 );
  65. strncpy( p->profissao, pr, 50 );
  66. strncpy( p->empresa, em, 50 );
  67. }
  68.  
  69. void Bolha (Pessoa *P[], int n)
  70. {
  71. int i, j;
  72. Pessoa *troca;
  73. for (i = n-1; i >= 1; i--)
  74. {
  75. for (j= 0; j < i ; j++)
  76. {
  77. if ( strcmp( P[j]->nome, P[j+1]->nome ) )
  78. {
  79. troca = P[j];
  80. P[j] = P[j+1];
  81. P[j+1] = troca;
  82. }
  83. }
  84. }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement