Your SlideShare is downloading. ×
  • Like
Unidad16 Codigof1
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Unidad16 Codigof1

  • 1,194 views
Published

 

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,194
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
28
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. EJEMPLO 16.1. #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int n, suma = 0, c = 0; while(cin >> n) { suma+= n; c++; } cout << quot; la media parcial es: quot; << (float)suma/c << endl; cin.clear(); while(cin >> n) { suma+= n; c++; } cout << quot; la media total es quot; << (float) suma/c << endl; system(quot;PAUSEquot;); return EXIT_SUCCESS; } resultado de ejecución: EJEMPLO 16.2 #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { cout << quot; Mazarambroz se encuentra a quot; << 100; cout << quot; km de Toledo. Tiene quot; << 1500 << quot; habitantes quot;<< endl; system(quot;PAUSEquot;); return EXIT_SUCCESS; } resultado de ejecución EJEMPLO 16.3. #include <cstdlib> #include <iostream> 1
  • 2. #include <iomanip.h> using namespace std; int main(int argc, char *argv[]) { const int n =15; float dato = 123.4567; cout << n << endl; // salida en base diez cout << oct << n << endl; // salida en base ocho cout << hex<< n << endl; // salida en base 16 cout <<setw(8) << quot; holaquot; << endl; // anchura de campo 8 cout << setw(10); // anchura 10 cout.fill('#'); // rellena con # cout << 34 << endl; // escribe 34 en base 16 anchura 10 y relleno cout<< setprecision(5) << dato << endl; // precision 5 3 antes del //punto y 2 después system(quot;PAUSEquot;); return EXIT_SUCCESS; } resultado de ejecución EJEMPLO 16.4 . #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { char c; cout << quot;comienza entrada de cadenanquot;; while( cin.get(c)) cout << c; cout << endl; system(quot;PAUSEquot;); return EXIT_SUCCESS; } Resultado de ejecución: EJEMPLO 16.5 #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { 2
  • 3. char cadena[20]; cout << quot; introduza cadena de carateresnquot;; cin.get(cadena, 20); cout << cadena<< endl; system(quot;PAUSEquot;); return EXIT_SUCCESS; } Resultado de ejecución: EJEMPLO 16.6 #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { char cadena[20]; int valor; cout << quot; introduzca cadena nquot;; cin.getline(cadena, 20); cout << quot; cadena leida :quot;<< cadena << endl; cout << quot; introduzca dato numerico:nquot;; cin >> valor; cout << quot; valor leido: quot; << valor << endl; cin.getline(cadena, 2); cout << quot; introduzca nueva cadena nquot;; cin.getline(cadena, 20); cout << quot; nueva cadena leida: quot;<< cadena << endl; system(quot;PAUSEquot;); return EXIT_SUCCESS; } Resultado de ejecución: EJEMPLO 16.7 #include <cstdlib> #include <iostream> #include <fstream> using namespace std; int main(int argc, char *argv[]) { 3
  • 4. ofstream fichero; ifstream fichero1; char c; fichero.open(quot;datos.cppquot;, ios::out); cout << quot; escriba fichero de texto: control+z para terminarnquot;; while( cin.get(c)) fichero.put(c); fichero.close(); cout << quot; lectura y escritura del fichero anteriornquot;; fichero1.open(quot;datos.cppquot;, ios::in); while(fichero1.get(c)) cout.put(c); fichero1.close(); system(quot;PAUSEquot;); return EXIT_SUCCESS; } EJEMPLO 16.7 #include <cstdlib> #include <iostream> #include <fstream> using namespace std; int main(int argc, char *argv[]) { ifstream f; // fichero de entrada ofstream g; // fichero de salida char cadena[81]; // cadena de 81 bytes para leer de un fichero y //escribir en el otro // Abrir el fichero de f de lectura y binario f.open(quot;datos.datquot;, ios::binary); if(!f.good()) { cout <<quot;El fichero quot; << quot;datos.dat quot; << quot; no existe nquot;; exit (1); } // Crear o sobreescribir el fichero g en binario g.open(quot;res.datquot;, ios::binary); if(!g.good()) { cout <<quot;El fichero quot; << quot;res.dat quot; << quot; no se puede crearnquot;; f.close(); exit (1); } do { f.read(cadena, 81); // lectura de f g.write(cadena, f.gcount()); // escritura de los bytes leídos 4
  • 5. } while(f.gcount() > 0); // repetir hasta que no se leen datos f.close(); g.close(); system(quot;PAUSEquot;); return EXIT_SUCCESS; } EJERCICIO 16.1 #include <cstdlib> #include <iostream> #include <fstream> using namespace std; int main(int argc, char *argv[]) { fstream f; char nombre[14]; // tiene que haber espacio para el nombre cout << quot; escriba el nombre del fichero: quot;; cin.getline(nombre,14); f.open(nombre, ios::in); if (!f.good()) { cout << quot;error en apertura de fichero lecturaquot;; f.open(nombre, ios::out); .. } .. system(quot;PAUSEquot;); return EXIT_SUCCESS; } EJERCICIO 16.2 #include <cstdlib> #include <iostream> #include <fstream> using namespace std; int main(int argc, char *argv[]) { fstream f; int num, neg=0, pos=0; f.open(quot;NUMEROS.TXTquot;, ios::in); if (!f.good()) cout << quot;error en apertura de fichero lecturaquot;; else { while (!f.eof ()) { f >> num; cout << num << endl; // visualización del fichero if (num < 0) neg++; else pos ++; } 5
  • 6. cout <<quot;El número de enteros no negativos es quot; << neg; cout <<quot;El número de enteros posirivos es quot; << pos; f.close (); } system(quot;PAUSEquot;); return EXIT_SUCCESS; } EJERCICIO 16.3 #include <cstdlib> #include <iostream> #include <fstream> using namespace std; int main(int argc, char *argv[]) { fstream fichero; char c; // apertura del fichero en modo binario para escribir fichero.open(quot;ejemplo1.cppquot;, ios::out | ios::binary); cout << quot; escriba fichero de texo: control+z para terminarnquot;; //lectura de los datos del fichero del input y creación del binario while( cin.get(c)) fichero.put(c) ; fichero.close(); cout << quot; lectura y escritura del fichero anteriornquot;; fichero.open(quot;ejemplo1.cppquot;, ios::in | ios::binary); while(fichero.get(c)) cout.put(c); fichero.close(); system(quot;PAUSEquot;); return EXIT_SUCCESS; } EJERCICIO 16.4 #include <cstdlib> #include <iostream> #include <fstream> using namespace std; int main(int argc, char *argv[]) { ifstream fichero; ofstream ficherob; char c; fichero.open(quot;salas.datquot;, ios::in) ; if (!fichero.good()) { cout << quot;error en apertura de fichero lecturaquot;; exit(1); } ficherob.open(quot;salas.binquot;, ios::out | ios::binary); if (!fichero.good()) 6
  • 7. { cout << quot;error en apertura de fichero escrituraquot;; exit(1); } while( cin.get(c)) ficherob.put(c); fichero.close(); ficherob.close(); system(quot;PAUSEquot;); return EXIT_SUCCESS; } PROBLEMA 16.1 #include <cstdlib> #include <iostream> #include <fstream> using namespace std; int main(int argc, char *argv[]) { ifstream f; char cadena_a_buscar[20], nombrefichero[14], linea[81]; char *cad; int veces = 0, i = 0; if (argc != 3) { printf (quot;Uso: programa máscara archivo.nquot;); exit (1); } strcpy (cadena_a_buscar, argv[1]); strcpy (nombrefichero, argv[2]); f.open(nombrefichero, ios::in); if (!f.good()) { cout << quot;error en apertura de fichero lecturaquot;; exit(1); } while (!f.eof()) { f.getline( linea, 80); i++; cad = strstr (linea, cadena_a_buscar); if (cad) { printf (quot;La cadena_a_buscar aparece en la línea %d nquot;, i); veces++; } } printf (quot;La máscara aparece %d veces en el fichero. nquot;, veces); f.close(); system(quot;PAUSEquot;); return EXIT_SUCCESS; } EJERCICIO 16.2 #include <cstdlib> 7
  • 8. #include <iostream> #include <fstream> //12.13 using namespace std; struct entrenamiento { char fecha[11]; /* dd/mm/aaaaa */ char hora[9]; /* hh:mm:ss */ int minutos; } rege; struct pulsom { char hora[9]; /* hh:mm:ss */ int pulsaciones; } regp; int main(int argc, char *argv[]) { fstream f; char limpia[3]; f.open(quot;ENTRENAM.DATquot;, ios::out | ios:: binary); if (!f.good()) { cout <<quot;Error de apertura quot;; exit(1); } // lectura de los datos del registro de fecha entrenamiento cout <<quot; Fecha entrenamiento : quot;; cin.getline(rege.fecha,11); cout<< quot; Hora entrenamiento : quot;; cin.getline(rege.hora,9); cout << quot;Duracion en minutos del entrenamiento : quot;; cin >> rege.minutos; cin.getline(limpia,3); // hay que limpiar el buffer de entrada f.write(reinterpret_cast<char *> (&rege), sizeof (rege)); // lectura de los distintos datos del pulsómetro cout <<quot;n--- Datos pulsometro ---quot;; for (int m = 0; m < rege.minutos * 60 /15; m++) { cout <<quot; Hora : quot;; cin.getline(regp.hora, 9); cout << quot;Pulsaciones : quot;; cin >> regp.pulsaciones; cin.getline(limpia,3); f.write ( reinterpret_cast<char *>(&regp), sizeof (regp)); } f.close(); cout << quot; fichero leidonquot;; f.open(quot;ENTRENAM.DATquot;, ios::in | ios:: binary); // lectura de los datos del registro de fecha entrenamiento de f f.read(reinterpret_cast<char *> (&rege), sizeof (rege)); cout <<quot; Fecha entrenamiento : quot;<< rege.fecha << endl; cout<< quot; Hora entrenamiento : quot; << rege.hora <<endl; cout << quot; Duracion en minutos del entrenamiento : quot;; cout << rege.minutos<< endl << endl; //lectura de los distintos datos del pulsímetro de f 8
  • 9. for (int m = 0; m < rege.minutos * 60 /15; m++) { f.read ( reinterpret_cast<char *>(&regp), sizeof (regp)); cout <<quot; Hora : quot; << regp.hora << endl; cout << quot;Pulsaciones : quot; << regp.pulsaciones << endl; } system(quot;PAUSEquot;); return EXIT_SUCCESS; } Resultados de ejecución del programa 9