Advertisement
Guest User

Untitled

a guest
Jul 7th, 2015
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.32 KB | None | 0 0
  1. /*
  2. * ArrayDiRecord.c
  3. *
  4. * Created on: 03/giu/2015
  5. * Author: Paolo Nobile
  6. */
  7.  
  8. #include <stdio.h>
  9. #include <stdlib.h>
  10.  
  11. int main()
  12. {
  13. //creazione della struttura persona che conterrà i dati di ogni individuo.
  14. typedef struct{
  15. char nome[30];
  16. char cognome[30];
  17. int eta;
  18. }dati;
  19.  
  20. //questo capisci da solo che fa.
  21. int num_per;
  22. printf("Quante persone inserire?");
  23. scanf("%d", &num_per);
  24.  
  25. //dichiarazione dell'array di record con num_per elementi indicati dall'utente.
  26. dati persona[num_per];
  27.  
  28. int i;
  29.  
  30. //acquisizione dei dati per ogni persona.
  31. for ( i = 0; i < num_per; i++){
  32. printf("Inserisci il nome della %d persona\n", i+1);
  33. scanf("%s", persona[i].nome);
  34. printf("Inserisci il cognome della %d persona\n", i+1);
  35. scanf("%s", persona[i].cognome);
  36. printf("Inserisci l'eta' della %d persona\n", i+1);
  37. scanf("%d", &persona[i].eta);
  38. }
  39.  
  40. //ricerca sequenziale.
  41. char cognome_cercato[30];
  42. int flag = 0, counter = 0;
  43. printf("Inserisci il cognome da cercare");
  44. scanf("%s", cognome_cercato);
  45.  
  46. for ( i = 0; i < num_per; i++){
  47. if (strcmp(persona[i].cognome, cognome_cercato)){
  48. flag = 1;
  49. counter = counter++;
  50. }
  51. }
  52.  
  53. if (flag = 1){
  54. printf("Il cognome cercato è stato trovato %d volte", counter);
  55. }
  56. else
  57. {
  58. printf("Il cognome cercato non è stato trovato.");
  59. }
  60.  
  61.  
  62. //ordinamento, occhio che è facile.
  63. int j, temp;
  64. for ( i = 1; i < num_per; i++){
  65. for ( j = 0; j < num_per; j++){
  66. if (persona[j].eta > persona[j+1].eta){
  67. temp = persona[j].eta;
  68. persona[j].eta = persona[j+1].eta;
  69. persona[j+1].eta = temp;
  70. }
  71. }
  72. }
  73.  
  74. //stampa
  75. printf("La tabella ordinata e': \n");
  76. for ( i = 0; i < num_per; i++){
  77. printf("\n%s ", persona[i].nome);
  78. printf("%s ", persona[i].cognome);
  79. printf("%d\n", persona[i].eta);
  80. }
  81.  
  82.  
  83. system("pause");
  84. return 0;
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement