Advertisement
Guest User

Bomba de agua

a guest
Jan 18th, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.30 KB | None | 0 0
  1. // BombitaDeAgua.cpp : This file contains the 'main' function. Program execution begins and ends there.
  2. //
  3.  
  4. #include "pch.h"
  5. #include <iostream>
  6.  
  7. // ************** LIBRERIA Ó BIBLIOTECA PARA LEER Y ESCRIBIR EN ARCHIVOS DE TEXTO *****************
  8.  
  9. #include<fstream>
  10.  
  11. // ******** LIBRERIA Ó BIBLIOTECA DE USO SIMPLE DE CADENA DE CARACTERES (ELIMINA DIFICULTADES DE LOS CHAR) *********
  12.  
  13. #include<string>
  14.  
  15. //******** LIBRERIA Ó BIBLIOTECA DE USO MEJORADO DE LA PANTALLA Y TIEMPO DE ESPERAS EN SU REFRESCAMIENTO *********
  16.  
  17. #include "windows.h"
  18. using namespace std;
  19.  
  20. int main()
  21. {
  22.  
  23.     string bomba = "APAGADA";
  24.     string pantalla = "ON";
  25.     double presion = 0;
  26.     int stop = 0;
  27.  
  28.     string valvulaDesvio = "CERRADA";
  29.  
  30. inicio:
  31.  
  32.     while (stop == 0)
  33.     {
  34.  
  35.         // ************** UBICACIÓN DEL ARCHIVO DE TEXTO *****************
  36.         ifstream datos("C:\\Users\\arman\\Downloads\\Prueba.txt");
  37.         string nivel;
  38.         string valvula;
  39.         string modobomba;
  40.         string nivelAlto;
  41.  
  42.  
  43.         // ************** LEER LAS VARIABLES DEL ARCHIVO DE TEXTO *****************
  44.         datos >> nivel >> valvula >> modobomba >> nivelAlto;
  45.  
  46.         if (pantalla == "ON")
  47.         {
  48.             system("cls");
  49.  
  50.             if (nivel == "OFF" && nivelAlto == "ON") // CONDICION QUE VERIFICA SI EL USUARIO INGRESO MAL LOS DATOS
  51.             {
  52.                 cout << " ERROR EN LOS DATOS INGRESADOS" << endl;
  53.                 cout << "- Por favor verifique los datos ingresados en los Switch de nivel" << endl;
  54.                 cout << "- El Switch de alto nivel NO puede estar activado mientras el Switch de bajo nivel este apagado" << endl;
  55.                 pantalla = "ON";
  56.             }
  57.             else
  58.             {
  59.                 cout << "La presion = " << presion;
  60.                 cout << "  -  Tu bomba esta= " << bomba << endl;
  61.                 cout << "  -  El Switch de nivel= " << nivel;
  62.                 cout << "  -  El Switch de nivel alto= " << nivelAlto << endl;
  63.                 cout << "  -  La valvula esta= " << valvula;
  64.                 cout << "  -  La valvula de desvio esta= " << valvulaDesvio << endl;
  65.                 cout << "  -  **** MODO AUTOMATICO ***";
  66.             }
  67.  
  68.             pantalla = "OFF";
  69.  
  70.             // **** TIEMPO DE ESPERA DE UN 1/4 DE SEGUNDO PARA QUE DE TIEMPO DE VER LA PANTALLA *****
  71.  
  72.             Sleep(250);
  73.  
  74.  
  75.         }
  76.  
  77.         if (presion <= 40 && bomba == "ENCENDIDA" && (valvula == "CERRADA" && valvulaDesvio == "CERRADA")) // MODIFICADO IF (valvula == "CERRADA" && valvulaDesvio == "CERRADA")
  78.         {
  79.             presion = presion + 3;
  80.             pantalla = "ON";
  81.         }
  82.  
  83.         if (presion <= 40 && bomba == "ENCENDIDA" && (valvula == "ABIERTA" || valvulaDesvio == "ABIERTA")) // MODIFICADO IF (valvula == "ABIERTA" || valvulaDesvio == "ABIERTA")
  84.         {
  85.             presion = presion + 1;
  86.             pantalla = "ON";
  87.  
  88.             if (presion > 33)
  89.             {
  90.                 presion = presion - 2;
  91.             }
  92.         }
  93.  
  94.         if (presion > 0 && bomba == "APAGADA" && (valvula == "ABIERTA" || valvulaDesvio == "ABIERTA")) // MODIFICADO IF (valvula == "ABIERTA" || valvulaDesvio == "ABIERTA")
  95.         {
  96.             presion = presion - 2;
  97.             pantalla = "ON";
  98.         }
  99.  
  100.  
  101.         if (nivel == "ON" && presion < 20 && bomba == "APAGADA")
  102.         {
  103.             bomba = "ENCENDIDA";
  104.             pantalla = "ON";
  105.  
  106.         }
  107.  
  108.         if (nivel == "ON" && presion >= 40 && bomba == "ENCENDIDA")
  109.         {
  110.             bomba = "APAGADA";
  111.             pantalla = "ON";
  112.         }
  113.  
  114.         // ************** COMIENZO DE LA PARTE AGREGADA *****************
  115.  
  116.         if (presion >= 40 && valvulaDesvio == "ABIERTA")
  117.         {
  118.             presion = presion - 2;
  119.             pantalla = "ON";
  120.  
  121.         }
  122.  
  123.         if (nivelAlto == "ON")
  124.         {
  125.             bomba = "ENCENDIDA";
  126.             valvulaDesvio = "ABIERTA";
  127.             pantalla = "ON";
  128.         }      
  129.  
  130.         if(nivelAlto == "OFF")
  131.         {
  132.             valvulaDesvio = "CERRADA";
  133.             pantalla = "ON";
  134.         }
  135.  
  136.         // ************** FINAL DE LA PARTE AGREGADA *****************
  137.  
  138.  
  139.         if (nivel == "OFF" && bomba == "ENCENDIDA")
  140.         {
  141.             bomba = "APAGADA";
  142.             valvulaDesvio = "CERRADA";
  143.             pantalla = "ON";
  144.  
  145.         }
  146.  
  147.  
  148.  
  149.         if (modobomba == "LOCAL")
  150.         {
  151.             stop = 1;
  152.         }
  153.  
  154.  
  155.     }
  156.  
  157.  
  158.     system("cls");
  159.     cout << "**** LA BOMBA SE ENCUENTRA EN MODO MANUAL (EL PROGRAMA NO LO CONTROLA) ***" << endl;
  160.  
  161.     while (stop == 1)
  162.     {
  163.         // ************** UBICACIÓN DEL ARCHIVO DE TEXTO *****************
  164.         ifstream datos("C:\\Users\\arman\\Downloads\\Prueba.txt");
  165.         string nivel;
  166.         string valvula;
  167.         string modobomba;
  168.         string nivelAlto;
  169.  
  170.         // ************** LEER LAS VARIABLES DEL ARCHIVO DE TEXTO *****************
  171.         datos >> nivel >> valvula >> modobomba >> nivelAlto;
  172.         if (modobomba == "REMOTO")
  173.         {
  174.             stop = 0;
  175.             pantalla = "ON";
  176.             goto inicio;
  177.         }
  178.  
  179.     }
  180.  
  181.  
  182.  
  183.     return 0;
  184.  
  185. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement