Advertisement
Guest User

Untitled

a guest
Nov 18th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.39 KB | None | 0 0
  1. #include <stdio.h>
  2. #define DIM_NUMERO 13
  3. #define DIM_NOME 15
  4. #define DIM_COGNOME 15
  5. #define DIM 10
  6.  
  7. /*10. Definire una struttura che consente di gestire un elemento di una rubrica telefonica; i
  8. campi da utilizzare sono a vostra discrezione, l’unico vincolo è la presenza del nome e del
  9. numero di telefono, ambedue memorizzati come stringhe. Gestire quindi un array di elementi,
  10. prevedendo la possibilità di inserire, modificare, visualizzare, ricercare e cancellare elementi
  11. dalla rubrica stessa.*/
  12.  
  13. typedef struct{
  14. char numero[DIM_NUMERO+1];
  15. char nome[DIM_NOME+1];
  16. char cognome[DIM_COGNOME+1];
  17. }Rubrica;
  18.  
  19. void inserimento(Rubrica v[], int n);
  20. void modifica(Rubrica v[],int n);
  21. void visualizza(Rubrica v[],int n);
  22. void stampaRubrica(Rubrica v[],int d);
  23. void cancella(Rubrica v[],int n);
  24.  
  25. int main() {
  26. Rubrica google[DIM] = {};
  27. int scelta;
  28. char sceltaUtente;
  29.  
  30. do{
  31. sceltaUtente = 0;
  32. scelta = 0;
  33. printf("\n'i' per inserire un contatto, 'm' per modificare un contatto, 'v' per visualizzare un contatto");
  34. printf("\n 's' per stampare tutta la rubrica, 'c' per cancellare un contatto");
  35. printf("\nInserisci la tua scelta:");
  36. scanf("%c", &sceltaUtente);
  37. getchar();
  38.  
  39. switch(sceltaUtente){
  40. case 's':
  41. stampaRubrica(google, DIM);
  42. break;
  43. case 'i':
  44. printf("\nInserisci la posizione in cui vuoi inserire:");
  45. scanf("%d", &scelta);
  46. inserimento(google, scelta);
  47. break;
  48. case 'm':
  49. printf("\nInserisci la posizione che vuoi modificare:");
  50. scanf("%d", &scelta);
  51. modifica(google, scelta);
  52. break;
  53. case 'v':
  54. printf("\nInserisci la posizione che vuoi visualizzare:");
  55. scanf("%d", &scelta);
  56. visualizza(google, scelta);
  57. break;
  58. case 'c':
  59. printf("\nInserisci la posizione che vuoi cancellare:");
  60. scanf("%d", &scelta);
  61. break;
  62. default:
  63. printf("\nScelta non valida.");
  64. }
  65.  
  66. }while(DIM_NUMERO < DIM_COGNOME);
  67.  
  68.  
  69. return 0;
  70. }
  71.  
  72. void inserimento(Rubrica v[], int n){
  73. printf("\nInserisci il numero:");
  74. scanf("%s", v[n-1].numero);
  75. getchar();
  76. printf("\nInserisci il nome:");
  77. scanf("%[^\n]s", v[n-1].nome);
  78. getchar();
  79. printf("\nInserisci il cognome:");
  80. scanf("%[^\n]s", v[n-1].cognome);
  81. getchar();
  82. }
  83.  
  84. void modifica(Rubrica v[], int n){
  85. char sceltaModifica;
  86.  
  87. printf("\n 'N' per modificare il numero, 'n' per modificare il nome, 'c' per il cognome, 't' per modificare tutto.");
  88. printf("\nScegli cosa modificare:");
  89. scanf("%c", &sceltaModifica);
  90. getchar();
  91.  
  92. if(sceltaModifica == 'N'){
  93. printf("\nInserisci il numero:");
  94. scanf("%s", v[n-1].numero);
  95. getchar();
  96. }
  97. else
  98. if(sceltaModifica == 'n'){
  99. printf("\nInserisci il nome:");
  100. scanf("%[^\n]s", v[n-1].nome);
  101. getchar();
  102. }
  103. else
  104. if(sceltaModifica == 'c'){
  105. printf("\nInserisci il cognome:");
  106. scanf("%[^\n]s", v[n-1].cognome);
  107. getchar();
  108. }
  109. else
  110. if(sceltaModifica == 't'){
  111. printf("\nInserisci il numero:");
  112. scanf("%s", v[n-1].numero);
  113. getchar();
  114. printf("\nInserisci il nome:");
  115. scanf("%[^\n]s", v[n-1].nome);
  116. getchar();
  117. printf("\nInserisci il cognome:");
  118. scanf("%[^\n]s", v[n-1].cognome);
  119. getchar();
  120. }
  121. else
  122. printf("\nErrore");
  123. }
  124.  
  125. void visualizza(Rubrica v[], int n){
  126. printf("\nNumero: %s", v[n-1].numero);
  127. printf("\nNome: %s", v[n-1].nome);
  128. printf("\nCognome: %s", v[n-1].cognome);
  129. }
  130.  
  131. void stampaRubrica(Rubrica v[],int d){
  132. int i;
  133.  
  134. for(i=0; i < d; i++){
  135. printf("\n #%d Nome: %s", i, v[i].nome);
  136. printf("\n #%d Cognome: %s", i, v[i].cognome);
  137. printf("\n #%d Numero: %s", i, v[i].numero);
  138. printf("\n");
  139. }
  140. }
  141.  
  142. void cancella(Rubrica v[], int n){
  143.  
  144. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement