Advertisement
Five_NT

[C++] Afisare, Stergere, Inserare

May 15th, 2014
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.30 KB | None | 0 0
  1. #include <iostream>
  2. #include <string.h>
  3.  
  4. using namespace std;
  5.  
  6. struct nod {
  7.     char oras[51];
  8.     int temp;
  9.     nod *urm, *ant;
  10. } *p, *u, *prim;
  11. int ok;
  12. void create()
  13. {
  14.     p = new nod;
  15.     prim = p;
  16.     cout << "Oras: "; cin >> p -> oras;
  17.     cout << "Temp: "; cin >> p -> temp;
  18.     p -> ant = NULL;
  19.     cout << '\n';
  20.     while(strcmp(p -> oras, "sterge") != 0) {
  21.         u = new nod;
  22.         cout << "Oras: "; cin >> u -> oras;
  23.         cout << "Temp: "; cin >> u -> temp;
  24.         cout<<'\n';
  25.         p -> urm = u;
  26.         u -> ant = p;
  27.         p = u;
  28.     }
  29.     u -> urm = NULL;
  30. }
  31.  
  32. void afis()
  33. {
  34.     p = prim;
  35.     while ( p -> urm != NULL ) {
  36.         if( strncmp(p -> oras, "a", 1) == 0 || strncmp(p -> oras, "A", 1) == 0)
  37.         {
  38.  
  39.             cout << "   |  " <<p -> oras << "               " << p -> temp << " grade   |" << '\n';
  40.         }
  41.  
  42.         p = p -> urm;
  43.     }
  44. }
  45.  
  46. void afiss()
  47. {
  48.     p = prim;
  49.     while ( p -> urm != NULL ) {
  50.         cout << "   |  " <<p -> oras << "               " << p -> temp << " grade   |" << '\n';
  51.         p = p -> urm;
  52.     }
  53. }
  54.  
  55. void sterge()
  56. {
  57.     //int nr;
  58.     char orr[30];
  59.     cout<<"Stergeti orasul: ";
  60.     cin >> orr;
  61.     p = prim;
  62.     nod *q;
  63.     if(strcmp(p -> oras, orr) == 0) {
  64.         q = p;
  65.         p = p -> urm;
  66.         prim = p;
  67.         delete(q);
  68.         p -> ant = NULL;
  69.     }
  70.     else {
  71.         while( p -> urm != NULL)
  72.             if ( strcmp(p -> oras, orr) != 0)
  73.                 p = p -> urm;
  74.         q = p;
  75.         p -> ant -> urm = p -> urm;
  76.         p -> urm -> ant = p -> ant;
  77.         delete(q);
  78.     }
  79. }
  80.  
  81. void inserare()
  82. {
  83.     int nr;
  84.     nod *q;
  85.     q = new nod;
  86.     p = prim;
  87.     cout << "Oras nou: "; cin >> q -> oras;
  88.     cout << "Temperatura: "; cin >> q -> temp;
  89.     cout << "Dati informatia nodului dupa care se face inserarea: "; cin >> nr;
  90.     while( p -> temp != nr ) {
  91.         p = p -> urm;
  92.         q -> urm = p -> urm;
  93.         p -> urm -> ant = q;
  94.         p -> urm = q;
  95.         q -> ant = p;
  96.     }
  97. }
  98.  
  99. int main()
  100. {
  101.     create();
  102.     inserare();
  103.     for(int i=0; i<5; i++) cout<<'\n';
  104.     cout << "   |   Oras        |   " << "Temperatura  |" << '\n';
  105.     cout << "   ---------------------------------" << '\n';
  106.     afiss();
  107.     for(int i=0; i<5; i++) cout<<'\n';
  108.     return 0;
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement