Advertisement
Guest User

Agenda telefonica

a guest
Dec 1st, 2015
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.46 KB | None | 0 0
  1. //HEADER.H
  2. #define N 100
  3. typedef char stringa[N];
  4. typedef struct{
  5. stringa nome;
  6. stringa numero;
  7. } persona;
  8. typedef persona tabella[N];
  9. void letturatabella(tabella,persona,int&);
  10. int verifica(tabella,int,persona);
  11. void stampa_agenda(tabella,int);
  12. void stampa_record(persona);
  13. int ricerca_contatto(tabella,int,stringa);
  14.  
  15. //BODY.CPP
  16. #include <iostream>
  17. #include "libreria.h"
  18. #include <string.h>
  19. using namespace std;
  20. int verifica(tabella t1,int r,persona p1){
  21. for(int i=0;i<r;i++){
  22. if(strcmp(t1[i].nome,p1.nome)==0)
  23. return -1;
  24. }
  25. return 1;
  26. }
  27. void letturatabella(tabella t1,persona p1,int& r){
  28. if(verifica(t1,r,p1)==-1)
  29. cout<<"Contatto gia' inserito.\n";
  30. else{
  31. t1[r]=p1;
  32. r++;
  33. cout<<" -> Contatto salvato\n";
  34. }
  35. }
  36. void stampa_agenda(tabella t1,int r){
  37. for(int i=0;i<r;i++){
  38. cout<<" Contatto "<<i+1<<endl;
  39. stampa_record(t1[i]);
  40. }
  41. }
  42. void stampa_record(persona p1){
  43. cout<<" Nome: "<<p1.nome<<endl;
  44. cout<<" Numero: "<<p1.numero;
  45. cout<<endl;
  46. }
  47. int ricerca_contatto(tabella t1,int r,stringa nome){
  48. int pos=-1,i=0;
  49. bool trovato=false;
  50. while(!trovato&&i<r){
  51. if(strcmp(t1[i].nome,nome)==0){
  52. trovato=true;
  53. pos=i;
  54. }
  55. i++;
  56. }
  57. return pos;
  58. }
  59.  
  60. //MAIN.CPP
  61. #include <iostream> //Agenda telefonica che contenga Nome e Numero
  62. #include "libreria.h"
  63. #include <string.h>
  64. #include <stdlib.h>
  65. using namespace std;
  66. int main(int argc, char** argv) {
  67. tabella t2,t;
  68. persona p1;
  69. stringa nome;
  70. int r=0,scelta;
  71. bool esci=false;
  72. cout<<"--------AGENDA-------\n";
  73. while(!esci){
  74. cout<<"\nScegliere l'operazione da eseguire:\n";
  75. cout<<" 1- Inserimento nuovo contatto;\n";
  76. cout<<" 2- Stampa agenda;\n";
  77. cout<<" 3- Ricera contatto;\n";
  78. cout<<" 4- Fine programma;\n";
  79. cin>>scelta;
  80. switch(scelta){
  81. case 1:{
  82. cout<<"Inserire nome contatto: ";
  83. cin>>p1.nome;
  84. cout<<"Inserire numero contatto: ";
  85. cin>>p1.numero;
  86. letturatabella(t2,p1,r);
  87. break;
  88. }
  89. case 2:{
  90. stampa_agenda(t2,r);
  91. break;
  92. }
  93. case 3:{
  94. cout<<"Quale nome vuoi cercare? ";
  95. cin>>nome;
  96. int pos=ricerca_contatto(t2,r,nome);
  97. if(pos==-1)
  98. cout<<"Il nome cercato non e' presente nell'agenda\n";
  99. else
  100. stampa_record(t2[pos]);
  101. break;
  102. }
  103. case 4:{
  104. esci=true;
  105. cout<<"Fine Programma.\n";
  106. break;
  107. }
  108. default:
  109. cout<<"Fine Programma.\n";
  110. }
  111. }
  112. return 0;
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement