Advertisement
Guest User

Untitled

a guest
Mar 1st, 2015
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.11 KB | None | 0 0
  1. #include <cstdlib>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. struct nodo{
  7. int numero;
  8. struct nodo *next;
  9. };
  10.  
  11. class lista{
  12. struct nodo *testa;
  13.  
  14. public:
  15. lista(){
  16. testa=NULL;
  17. }
  18.  
  19. int listaVuota(){
  20. int trova=0;
  21. if(testa==NULL)trova=1;
  22. return(trova);
  23. }
  24.  
  25. void push(){
  26. struct nodo *P,*P1,*P2;
  27. P=new(nodo);
  28. cout<<"Inserisci informazione nel campo numero: "<<endl;
  29. cin>>P->numero;
  30. P->next=NULL;
  31. if(listaVuota()==1)testa=P;
  32. else{
  33. if(testa->numero>=P->numero){
  34. P1=testa;
  35. testa=P;
  36. testa->next=P1;
  37. }
  38. else{
  39. P1=testa;
  40. while((P1!=NULL)&&(P->numero>=P1->numero)){
  41. P2=P1;
  42. P1=P1->next;
  43. }
  44. P->next=P1;
  45. P2->next=P;
  46. }
  47. }
  48. return;
  49. }
  50.  
  51. void stampa(){
  52. struct nodo *P;
  53. if(listaVuota()==1)cout<<"Lista vuota."<<endl;
  54. else{
  55. P=testa;
  56. while(P!=NULL){
  57. cout<<P->numero<<endl;
  58. P=P->next;
  59. }
  60. }
  61. return;
  62. }
  63.  
  64. void svuotaLista(){
  65. struct nodo *P,*temp;
  66. if(listaVuota()==1)cout<<"Lista vuota."<<endl;
  67. else{
  68. do{
  69. cout<<"Numero eliminato."<<testa->numero<<endl;
  70. temp=testa;
  71. testa=testa->next;
  72. delete(temp);
  73. }
  74. while(testa!=NULL);
  75. }
  76. return;
  77. }
  78.  
  79. void mediaLista(){
  80. struct nodo *P;
  81. int I,cont=0,somma=0;
  82. float media;
  83. if(listaVuota()==1)cout<<"Lista vuota."<<endl;
  84. else{
  85. for(I=0;I<cont;I++){
  86. cont=cont+1;
  87. somma=somma+P->numero;
  88. }
  89. media=(float)somma/cont;
  90. cout<<"La media e': "<<media<<endl;
  91. }
  92. return;
  93. }
  94. };
  95.  
  96. int main(int argc, char *argv[]){
  97. int scelta;
  98. struct nodo nod;
  99. lista list;
  100. do{
  101. cout<<"\n1.Lista Vuota;"<<endl;
  102. cout<<"2.Inserimento;"<<endl;
  103. cout<<"3.Stampa"<<endl;
  104. cout<<"4.Svuota Lista;"<<endl;
  105. cout<<"5.Media Lista;"<<endl;
  106. cout<<"Fai una scelta: ";
  107. cin>>scelta;
  108. switch(scelta){
  109. case 1: list.listaVuota();
  110. break;
  111. case 2: list.push();
  112. break;
  113. case 3: list.stampa();
  114. break;
  115. case 4: list.svuotaLista();
  116. break;
  117. case 5: list.mediaLista();
  118. break;
  119. }
  120. }
  121. while(scelta!=0);
  122. system("PAUSE");
  123. return EXIT_SUCCESS;
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement