Advertisement
Guest User

Untitled

a guest
Oct 15th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.26 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int ler_idade()
  5. {
  6. int i;
  7. cout << "\ndigite a idade: ";
  8. cin >> i;
  9. return i;
  10. }
  11.  
  12. char ler_sexo()
  13. {
  14. char s;
  15. cout << "\ndigite o sexo (s/m): ";
  16. cin >> s;
  17. return s;
  18. }
  19.  
  20. string ler_nome()
  21. {
  22. string n;
  23. cout << "\ndigite o nome: ";
  24. getline(cin, n);
  25. return n;
  26. }
  27.  
  28. double ler_salario()
  29. {
  30. double s;
  31. cout << "\ndigite o salario: ";
  32. cin >> s;
  33. return s;
  34. }
  35.  
  36. typedef struct pessoa {
  37. string nome;
  38. int idade;
  39. char sexo;
  40. double salario;
  41. } pessoa;
  42.  
  43. pessoa pessoas[3];
  44. int index = -1;
  45.  
  46. void armazenarlinhastruct()
  47. {
  48. if (++index > 2)
  49. {
  50. cout << "tabela cheia\n";
  51. return;
  52. }
  53. cout << "Pessoa " << index << ":\n";
  54. pessoas[index].nome = ler_nome();
  55. pessoas[index].idade = ler_idade();
  56. pessoas[index].sexo = ler_sexo();
  57. pessoas[index].salario = ler_salario();
  58. }
  59.  
  60. void mostrardadosstruct()
  61. {
  62. for(auto& i : pessoas){
  63. pessoa* p = &i;
  64. printf("Pessoa: %s (%s), %d anos - salario: %lf\n",
  65. p->nome.c_str(),
  66. (p->sexo == 'm' ? "Masculino" : "Feminino"),
  67. p->idade, p->salario);
  68. }
  69. }
  70.  
  71. int main()
  72. {
  73. int op;
  74. loop:
  75. cout << "1 - ler linha, 2 - mostrar, 3 - sair\n";
  76. cin >> op;
  77. cin.ignore();
  78. switch (op)
  79. {
  80. case 1:
  81. armazenarlinhastruct();
  82. break;
  83. case 2:
  84. mostrardadosstruct();
  85. break;
  86. case 3:
  87. exit(0);
  88. }
  89. goto loop;
  90. return 0;
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement