Advertisement
wagner-cipriano

Leitura de dados de vetor de caracteres char[] com espaçamento em C

Jun 19th, 2023 (edited)
1,238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.60 KB | Science | 0 0
  1. /*
  2. Leitura de dados de vetor de caracteres char[] com espaçamento em C
  3. Structs com vetor
  4. */
  5. #include <stdio.h>
  6. #include <locale.h>
  7. #define n 3
  8.  
  9. typedef struct {  // Cria uma STRUCT para armazenar amigos
  10.    //char *nome_completo, *endereco_completo;
  11.    char nome_completo[40], endereco_completo[40];
  12.    int idade;
  13. } Amigo;  // Define o nome do novo tipo criado: Amigo
  14.  
  15. //Prototipos
  16. Amigo cadastra_amigo();
  17. void lista_amigos(Amigo v[], int qt_reg);
  18.  
  19. int main() {
  20.   setlocale(LC_ALL, "Portuguse");
  21.   Amigo vet[n];
  22.   //Insere n amigos
  23.   for(int i=0; i<n; i++) {
  24.     vet[i] = cadastra_amigo();
  25.   }
  26.   //Imprime a lista de amigos
  27.   lista_amigos(vet, n);
  28.   return 0;
  29. }
  30.  
  31. Amigo cadastra_amigo() {
  32.    Amigo amigo;
  33.    printf("\nNovo amigo:\n");
  34.    printf("  Insira o nome completo do amigo:      ");
  35.    scanf (" %[^\n]", &amigo.nome_completo);
  36.    printf("  Insira o endereço completo do amigo:  ");
  37.    scanf (" %[^\n]", &amigo.endereco_completo);
  38.    printf("  Insira a idade do seu amigo:          ");
  39.    scanf("%d", &amigo.idade);
  40.    return amigo;
  41. }
  42.  
  43. void lista_amigos(Amigo v[], int qt_reg) {
  44.   float si=0;  //soma das idades
  45.   printf("\n\n\nLISTA DE AMIGOS: \n");
  46.   for(int i=0; i<qt_reg; i++) {
  47.     si += v[i].idade;
  48.     printf("\nAmigo %d\n  Nome:     %s\n  Endereço: %s\n  Idade:    %d\n", i, v[i].nome_completo, v[i].endereco_completo, v[i].idade);
  49.   }
  50.   printf("\nMédia de idades: %.2f", si/qt_reg);
  51. }
  52.  
  53. /*
  54. Buffer IN:
  55.  
  56. Michael Jackson
  57. Av do Contorno, 1022, Floresta
  58. 45
  59. Robervaldo Santos
  60. Rua 7 de Setembro, 99, Centro
  61. 14
  62. Camila Castelo Branco
  63. Av Ressaca, 777, Coreu
  64. 15
  65. */
  66.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement