SHARE
TWEET

Untitled

a guest Dec 8th, 2019 93 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ejercicio 1
  2. ---------------------
  3. #include <iostream>
  4. #include <fstream>
  5. using namespace std;
  6. void fichero();
  7. int main(int argc, char *argv[]) {
  8.     fichero();
  9.     return 0;
  10. }
  11.  
  12. void fichero() {
  13.     ofstream archivo;
  14.     string nom,texto;
  15.     char rpt;
  16.     cout<<"Digite nombre del archivo: ";    
  17.     getline(cin,nom);
  18.     archivo.open(nom.c_str(),ios::out);
  19.     do {
  20.         fflush(stdin);
  21.             cout<<"Dígite un texto: ";
  22.             getline(cin,texto);
  23.             archivo<<texto<<endl;
  24.            
  25.             cout<<"\n¿Desea agregar otro texto (S/N)?: ";cin>>rpt;
  26.     } while(rpt=='s'||rpt=='S');
  27.     archivo.close();
  28. }
  29.  
  30.  
  31.  
  32. ---------------------
  33. ejercicio 2
  34. ----------------------
  35. #include <iostream>
  36. #include <fstream>
  37. using namespace std;
  38. void ingresar();
  39. void modificar();
  40. void salir();
  41. void eliminar();
  42. void buscar();
  43. void consultar();
  44. void menu();
  45. int codigo,auxcodigo;
  46. double sueldo;
  47. string nombre,apellido;
  48. bool encontrado=false;
  49. int main(int argc, char *argv[]) {
  50.     menu ();
  51.     return 0;
  52.     system("PAUSE");
  53. }
  54. void menu() {
  55.     int opc=0;
  56.     do {
  57.         cout<<"MANTENIMIENTO DE REGISTROS DE EMPLEADOS"<<endl;
  58.         cout<<"\n1.- Ingresar"<<endl;
  59.         cout<<"2.- Modificar"<<endl;
  60.         cout<<"3.- Buscar"<<endl;
  61.         cout<<"4.- Consultar"<<endl;
  62.         cout<<"5.- Eliminar"<<endl;
  63.         cout<<"6.- Salir"<<endl;
  64.         cout<<"\nIngrese opción del 1 al 6: ";cin>>opc;
  65.         switch (opc) {
  66.         case 1:ingresar();break;
  67.         case 2:modificar();break;
  68.         case 3:buscar();break;
  69.         case 4:consultar();break;
  70.         case 5:eliminar();break;
  71.         case 6:salir();break;
  72.         default: cout<<"Opción incorrecta!"<<endl;
  73.         }
  74.     }while(opc!=6);
  75.        
  76.     }
  77. void ingresar () {
  78.     ofstream escritura;
  79.     ifstream consulta;
  80.     bool repetido=false;
  81.     escritura.open ("workers.txt",ios::out|ios::app);
  82.     consulta.open ("workers.txt",ios::in);
  83.     if (escritura.is_open() && consulta.is_open()) {
  84.         cout<<"Ingrese código: ";cin>>auxcodigo;
  85.         consulta>>codigo;
  86.         while (!consulta.eof()) {
  87.             consulta>>nombre>>apellido>>sueldo;
  88.             if (auxcodigo==codigo) {
  89.                 cout<<"Ya existe un registro con este código"<<endl;
  90.                 repetido=true;break;
  91.             }
  92.             consulta>>codigo;
  93.         }
  94.         if (repetido==false) {
  95.             cout<<"Ingrese nombre: ";cin>>nombre;
  96.             cout<<"Ingrese apellido: ";cin>>apellido;
  97.             cout<<"Ingrese sueldo: ";cin>>sueldo;
  98.             escritura<<auxcodigo<<" "<<nombre<<" "<<apellido<<" "<<sueldo<<endl;
  99.             cout<<"Registro guardado con éxito"<<endl;
  100.         }
  101.     }else {
  102.         cout<<"El archivo no existe"<<endl;
  103.     }
  104.     consulta.close();
  105.     escritura.close();
  106. }
  107. void consultar () {
  108.     ifstream lectura;
  109.     lectura.open("workers.txt",ios::out|ios::in);
  110.     if (lectura.is_open()) {
  111.         cout<<"MANTENIMIENTO DE REGISTRO DE TRABAJADORES"<<endl;
  112.         cout<<"______________________________"<<endl;
  113.         lectura>>codigo;
  114.         while(!lectura.eof()) {
  115.             lectura>>nombre>>apellido>>sueldo;
  116.             cout<<"Código: "<<codigo<<endl;
  117.             cout<<"Nombre: "<<nombre<<endl;
  118.             cout<<"Apellido: "<<apellido<<endl;
  119.             cout<<"Sueldo: "<<sueldo<<endl;
  120.             cout<<"______________________________"<<endl;
  121.             lectura>>codigo;
  122.         }
  123.     } else {
  124.         cout<<"Error, el archivo no existe"<<endl;
  125.     }
  126.     lectura.close();
  127. }
  128. void eliminar () {
  129.     ofstream aux;
  130.     ifstream lectura;
  131.     int auxcodigo=0;
  132.     aux.open("auxiliar.txt",ios::out);
  133.     lectura.open("workers.txt",ios::in);
  134.     encontrado=false;
  135.         if (aux.is_open() && lectura.is_open()) {
  136.             cout<<"Ingrese código de empleado que desea eliminar: ";cin>>auxcodigo;
  137.             lectura>>codigo;
  138.             while (!lectura.eof()) {
  139.                 lectura>>nombre>>apellido>>sueldo;
  140.                 if (codigo==auxcodigo) {
  141.                     encontrado=true;
  142.                     cout<<"Registro eliminado"<<endl;
  143.                 }
  144.                 else {
  145.                     aux<<codigo<<" "<<nombre<<" "<<apellido<<" "<<sueldo<<endl;
  146.                 }
  147.                 lectura>>codigo;
  148.             }
  149.            
  150.         }
  151.         else {
  152.             cout<<"Error, el archivo no existe"<<endl;
  153.         }
  154.         if (encontrado==false) {
  155.             cout<<"No existe registro con el código: "<<auxcodigo<<endl;
  156.         }
  157.         aux.close();
  158.         lectura.close();
  159.         remove ("workers.txt");
  160.         rename ("auxiliar.txt","workers.txt");
  161. }
  162.  
  163. void buscar () {
  164.     ifstream lectura;
  165.     encontrado=false;
  166.     lectura.open("workers.txt",ios::out|ios::in);
  167.     if (lectura.is_open())  {
  168.        cout<<"Ingrese código a buscar: ";cin>>auxcodigo;
  169.        lectura>>codigo;
  170.        while (!lectura.eof()) {
  171.            lectura>>nombre>>apellido>>sueldo;
  172.            if (auxcodigo==codigo) {
  173.                cout<<"______________________________"<<endl;
  174.                cout<<"Código: "<<codigo<<endl;
  175.                cout<<"Nombre: "<<nombre<<endl;
  176.                cout<<"Apellido: "<<apellido<<endl;
  177.                cout<<"Sueldo: "<<sueldo<<endl;
  178.                cout<<"______________________________"<<endl;
  179.                encontrado=true;
  180.            }
  181.            lectura>>codigo;
  182.        }
  183.        if (encontrado==false){
  184.            cout<<"No existe registro con el código: "<<auxcodigo<<endl;
  185.        }
  186.     } else {
  187.         cout<<"Error, el archivo no existe"<<endl;
  188.     }
  189.     lectura.close();
  190. }
  191.    
  192. void modificar () {
  193.     ofstream aux;
  194.     ifstream lectura;
  195.     encontrado=false;
  196.     int auxcodigo=0;
  197.     double auxsueldo=0;
  198.     aux.open("auxiliar.txt",ios::out|ios::app);
  199.     lectura.open("workers.txt",ios::out|ios::in);
  200.     if (aux.is_open() && lectura.is_open()) {
  201.         cout<<"Ingrese código del empleado: ";cin>>auxcodigo;
  202.         lectura>>codigo;
  203.         while(!lectura.eof()) {
  204.             lectura>>nombre>>apellido>>sueldo;
  205.             if (auxcodigo==codigo) {
  206.                 cout<<"Ingrese nuevo sueldo: ";cin>>auxsueldo;
  207.                 aux<<codigo<<" "<<nombre<<" "<<apellido<<" "<<auxsueldo<<" "<<endl;
  208.                 encontrado=true;
  209.                 cout<<"Registro modificado con éxito"<<endl;
  210.             }
  211.             else {
  212.                 aux<<codigo<<" "<<nombre<<" "<<apellido<<" "<<sueldo<<endl;
  213.             }
  214.             lectura>>codigo;
  215.         }
  216.     } else cout<<"El archivo no existe"<<endl;
  217.         if (encontrado==false){
  218.             cout<<"No existe registro con el código brindado"<<endl;
  219.         }
  220.         aux.close();
  221.         lectura.close();
  222.         remove("workers.txt");
  223.         rename("auxiliar.txt","workers.txt");
  224. }
  225.  
  226. void salir() {
  227.     system ("Pause");
  228. }
  229.  
  230.  
  231. --------------------------------------------------------
  232. ejercicio 3
  233. ---------------------
  234. #include <iostream>
  235. #include <time.h>
  236. #include <stdlib.h>
  237. using namespace std;
  238. bool descendente=false;
  239. void qsort(int primero, int ultimo, int num[]){
  240.     int i=primero, j=ultimo, aux;
  241.     int central=num[(primero+ultimo)/2];
  242.     while(i<=j){
  243.         if(descendente==true){
  244.             while(central<num[i]) i++;
  245.             while(central>num[j]) j--;
  246.         }else{
  247.             while(central>num[i]) i++;
  248.             while(central<num[j]) j--;
  249.         }
  250.         if(i<=j){
  251.             aux=num[i];
  252.             num[i]=num[j];
  253.             num[j]=aux;
  254.             i++;
  255.             j--;
  256.         }
  257.     }
  258.     if(primero<j) qsort(primero,j,num);
  259.     if(ultimo>i) qsort(i,ultimo,num);
  260. }
  261.  
  262. int binario(int n,int num[], int valor){
  263.     int mitad,izq=0,der=n-1;
  264.     while(izq<=der){
  265.         mitad=(izq+der)/2;
  266.         if(valor>num[mitad]) izq=mitad+1;
  267.         else if(valor<num[mitad]) der=mitad-1;
  268.         else return mitad;
  269.     }
  270.     return -1;
  271. }
  272.  
  273. int main(int argc, char *argv[]) {
  274.     int cant, num[10000], valor;
  275.     srand(time(NULL));
  276.     cout<<"Ingrese cantidad de sueldos: ";cin>>cant;
  277.     cout<<"Lista de todos los sueldos"<<endl;
  278.     for(int i=0; i<cant; i++){
  279.         num[i]=1000+rand()%(9999-1000);
  280.         cout<<i<<". "<<num[i]<<endl;
  281.     }
  282.     cout<<"Sueldos mayores a 2500"<<endl;
  283.     descendente=true;
  284.     qsort(0,cant-1,num);
  285.     for(int i=0; i<cant; i++){
  286.         if(num[i]>2500){
  287.             cout<<i<<". "<<num[i]<<endl;
  288.         }
  289.     }
  290.     cout<<"Sueldos que no son multiplos de 5"<<endl;
  291.     descendente=false;
  292.     qsort(0,cant-1,num);
  293.     for(int i=0; i<cant; i++){
  294.         if(num[i]%5!=0){
  295.             cout<<i<<". "<<num[i]<<endl;
  296.         }
  297.     }
  298.     qsort(0,cant-1,num);
  299.     cout<<"Sueldos ordenados"<<endl;
  300.     for(int i=0; i<cant; i++){
  301.         cout<<i<<". "<<num[i]<<endl;
  302.     }
  303.     cout<<"Ingrese sueldo a buscar: ";cin>>valor;
  304.     int buscar=binario(cant,num,valor);
  305.     if(buscar==-1) cout<<"Número no encontrado"<<endl;
  306.     else cout<<"El número "<<valor<<" está en la posición "<<buscar<<endl;
  307.    
  308.     return 0;
  309. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top