viernes, 7 de junio de 2013

Practica 7

Instituto Tecnológico de Tijuana
Ingeniería Electrónica
Programación Estructurada
Villada segovia Arturo 12211249
 

 
 


 
Problema 1-A


#include <conio.h>
#include <fstream.h>
void file_empleado()
{
ofstream f1;
ofstream dup;
char archivo_original[40];
char archdup[40];
cout<<" Introducela ruta y nombre del archivo original (ejemplo, c://Datos//empleado.dat): ";
cin.getline(archivo_original,40,'\n');
cout<<" Introducela ruta y nombre del archivo original (ejemplo, c://Datos//empleado.dat): ";
cin.getline(archdup,40,'\n');
f1.open(archivo_original,ios::app);
dup.open(archdup,ios::app);
char nombre[15],sigue,tipo;
int numemp;
float pago;
char fecha[8];
do
{
cout<<" Nombre empleado: ";
cin.ignore();
cin.getline(nombre,15,'\n');
cout<<" Categoria: ";
cin>>tipo;
cout<<" Numero empleado: ";
cin>>numemp;
cout<<" Pago por hora: ";
cin>>pago;
cout<<" Fecha ingreso mes/dia/anio: ";
cin>>fecha;
f1<<nombre<<" "<<tipo<<" "<<numemp<<" "<<pago<<" "<<fecha<<endl;
dup<<nombre<<" "<<tipo<<" "<<numemp<<" "<<pago<<" "<<fecha<<endl;
cout<<"\n\n Desea procesar otro empleado (s/n): ";
cin>>sigue;
}
while (sigue=='s'||sigue=='S');
f1.close();
}
void mostrar_archivo()
{
ifstream f2;
char nombre[15],tipo;
int numemp;
float pago;
char fecha[8];
f2.open("F://Datos//empleados.dat");
cout<<" Listado de empleados\n\n";
cout<<" Nombre Empleado Categoria No. Empleado Pago por Hora Fecha Ingreso \n\n";
f2>>nombre>>tipo>>numemp>>pago>>fecha;
do
{
cout<<nombre<<"\t\t\t"<<tipo<<"\t"<<numemp<<"\t"<<pago<<"\t\t"<<fecha<<endl;
f2>>nombre>>tipo>>numemp>>pago>>fecha;
}
while(!f2.eof());
getch();
}
int menu()
{
int opcion;
cout<<" 1) Alta empleado"<<endl;
cout<<" 2) Desplegar datos archivo empleado"<<endl;
cout<<" 3) Salida programa"<<endl;
cout<<" Seleccione opcion ==>";
cin>>opcion;
return opcion;
}
void main()
{
int opc;
do
{
clrscr();
opc=menu();
switch(opc)
{
case 1:file_empleado();
       break;
case 2:mostrar_archivo();
       break;
case 3:
       clrscr();
       cout<<"\n\n Salida del programa\n\n";
       break;
default:
cout<<" Error en opcion\n\n";
}}
while(opc!=3);
}       getch();





--------------------------------------------------------------------------------------------------------------------------


Problema 1-B-C

#include <conio.h>
#include <fstream.h>
void file_empleado(char archivo_original[40],char archdup[40])
{
ofstream f1;
ofstream dup;
f1.open(archivo_original);
dup.open(archdup);
char nombre[15],sigue,tipo;
int numemp;
float pago;
char fecha[8];
do
{
cout<<" Nombre empleado: ";
cin.ignore();
cin.getline(nombre,15,'\n');
cout<<" Categoria: ";
cin>>tipo;
cout<<" Numero empleado: ";
cin>>numemp;
cout<<" Pago por hora: ";
cin>>pago;
cout<<" Fecha mes/dia/anio: ";
cin>>fecha;
f1<<nombre<<" "<<tipo<<" "<<numemp<<" "<<pago<<" "<<fecha<<endl;
dup<<nombre<<" "<<tipo<<" "<<numemp<<" "<<pago<<" "<<fecha<<endl;
cout<<"\n\n Desea procesar otro empleado (s/n): ";
cin>>sigue;
}
while (sigue=='s'||sigue=='S');
f1.close();
}
void mostrar_archivo(char archivo_original[40])
{
ifstream f2;
char nombre[15],tipo;
int numemp;
float pago;
char fecha[8];
f2.open(archivo_original);
cout<<" Listado de empleados\n\n";
cout<<" Nombre Empleado Categoria No. Empleado Pago por Hora Fecha\n\n";
f2>>nombre>>tipo>>numemp>>pago>>fecha;
do
{
cout<<nombre<<"\t\t\t"<<tipo<<"\t"<<numemp<<"\t"<<pago<<"\t\t"<<fecha<<endl;
f2>>nombre>>tipo>>numemp>>pago>>fecha;
}
while(!f2.eof());
getch();
}
int menu()
{
int opcion;
cout<<" 1) Alta empleado"<<endl;
cout<<" 2) Desplegar datos archivo empleado"<<endl;
cout<<" 3) Salida programa"<<endl;
cout<<" Seleccione opcion ==>";
cin>>opcion;
return opcion;
}
void main()
{
int opc;
char archori[40];
char archduplicado[40];
cout<<" Introducela ruta y nombre del archivo original (ejemplo, c://Datos//empleado.dat): ";
cin.getline(archori,40,'\n');
cout<<" Introducela ruta y nombre del archivo original (ejemplo, c://Datos//empleado.dat): ";
cin.getline(archduplicado,40,'\n');
do
{
clrscr();
opc=menu();
switch(opc)
{
case 1:file_empleado(archori,archduplicado);
       break;
case 2:mostrar_archivo(archori);
       break;
case 3:
       clrscr();
       cout<<"\n\n Salida del programa\n\n";
       break;
default:
cout<<" Error en opcion\n\n";
}}
while(opc!=3);
}       getch();





--------------------------------------------------------------------------------------------------------------------------

 
Problema 2-A-B

#include <conio.h>
#include <fstream.h>
void datos_a_file()
{
ofstream p1;
p1.open("F://Datos//punos.txt");
p1<<6.3<<" "<<8.2<<" "<<18.25<<" "<<24.32<<endl;
p1<<4.0<<" "<<4.0<<" "<<10.0<<" "<<-5.0<<endl;
p1<<-2.0<<" "<<5.0<<" "<<4.0<<" "<<5.0<<endl;
p1.close();
}
void calculo()
{
ifstream p3;
p3.open("F://Datos//punos.txt");
float x1,y1,x2,y2,pendiente,pmx,pmy;
p3>>x1>>y1>>x2>>y2;
while(!p3.eof())
{
pendiente=(y2-y1)/(x2-x1);
pmx=(x1+x2)/2;
pmy=(y1+y2)/2;
cout<<"x1= "<<x1<<"\t"<<"y1= "<<y1<<endl;
cout<<"x2= "<<x2<<"\t"<<"y2= "<<y2<<endl;
cout<<"\nLa pendiente es: "<<pendiente<<endl;
cout<<"\Punto medio de x: "<<pmx<<endl;
cout<<"\Punto medio de y: "<<pmy<<endl;
p3>>x1>>y1>>x2>>y2;
cout<<endl<<endl;
}}
void main()
{
datos_a_file();
calculo();
getch();
}



--------------------------------------------------------------------------------------------------------------------------


Problema 3-A-B

#include <fstream.h>
void inicia_file()
{
ofstream p1;
p1.open("F://Datos//polar.dat");
p1<<2.0<<" "<<45.0<<endl;
p1<<6.0<<" "<<30.0<<endl;
p1<<10.0<<" "<<45.0<<endl;
p1<<4.0<<" "<<60.0<<endl;
p1<<12.0<<" "<<55.0<<endl;
p1<<8.0<<" "<<15.0<<endl;
p1.close();
}
void agrega_datos_file()
{
ifstream p1;
p1.open("F://Datos//polar.dat",ios::app);
float distancia, angulo;
char sigue;
do
{
cout<<"Distancia: ";
cin>>distancia;
cout<<"Angulo: ";
cin>>angulo;
p1>>distancia>>angulo;
cout<<"\n\nDeseas registrar otro dato? (s/n): ";
cin>>sigue;
}
while(sigue=='S'||sigue=='s');
}
void main()
{
inicia_file();
agrega_datos_file();
}


--------------------------------------------------------------------------------------------------------------------------


Problema 3-C

Ejercicio en clase 16 de mayo del 2013

Instituto Tecnológico de Tijuana
Ingeniería Electrónica
Programación Estructurada
Vilada Segovia Arturo

 

#include <iostream.h>
#include <fstream.h>
#include <stdio.h>
#include <conio.h>
void salida_datos_file()
{
ofstream salida;
salida.open("C://Datos//nombres.txt",ios::app);
int i,n;
char name[30];
cout<<" Cuantos nombres desea almacenar: ";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"\n\nNombre =? ";
gets (name);
salida<<name<<endl;
}
salida.close();
}
void entrada_datos_file()
{
ifstream entrada;
entrada.open("C://Datos//nombres.txt");
char name[30];
cout<<"\Listado de nombre\n";
entrada.getline(name,30);
cout<<name<<endl;
while(!entrada.eof())
{
entrada.getline(name,30);
cout<<name<<endl;
}
entrada.close();
}
int main ()
{
char continuar;
do
{
salida_datos_file();
cout<<"\nDeseas registrar otro nombre (s/n) ==>";
cin>>continuar;
}
while(continuar=='s'||continuar=='S');
entrada_datos_file();
getch();
}

sábado, 1 de junio de 2013

Ejercicio en clase 28 de mayo del 2013

Instituto Tecnológico de Tijuana
Ingeniería Electrónica
Programación Estructurada
Vilada Segovia Arturo



 

//Este programa toma como referencia
//  Pdf Ing. Bruno Lopez T.  Manejo de archivos
// en  Lenguaje C++
//Instituto Tecnológico de Nuevo Laredo


#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
#include <stdio.h>
#include <ctype.h>
struct producto
{
int noAlumno;
char descrip[40];
int carrera;
int semestre;
};
producto Registro;
FILE *alias;
void ALTA_SECUENCIAL();
void CONSULTA_SECUENCIAL(void);
void LISTADO_SECUENCIAL(void);
void MODIFICACION_SECUENCIAL(void);
void BAJA_LOGICA_SECUENCIAL(void);
void BAJA_FISICA_SECUENCIAL(void);
int menu();
int main()
{
 int opc;
  do
  {
  clrscr();
  opc=menu();
  switch(opc)
  {
  case 1:
      ALTA_SECUENCIAL();
        break;
  case 2:
      CONSULTA_SECUENCIAL();
         break;
  case 3:
     LISTADO_SECUENCIAL();
         break;
  case 4: MODIFICACION_SECUENCIAL();
     break;
  case 5 :  BAJA_LOGICA_SECUENCIAL();
      break;
  case 6:    BAJA_FISICA_SECUENCIAL();
      break;
  case 7: cout<<"\n\nFinal programa ";
     break;
  default: cout<<"\nError en opcion"<<endl;
  }
  }
  while(opc !=7);
  getch();
  return 0;
  }
void ALTA_SECUENCIAL()

{
int no_Alumno; // Variable local para el numero de producto
clrscr();
cout << "\n\rALTAS DE REGISTROS DE ALUMNOS";
alias=fopen("C:\\datos\\PRODUCTO.SEC","rb+"); // Intenta abrir el archivo
// en modo de lectura/escritura
if(alias==NULL)
alias=fopen("c:\\datos\\PRODUCTO.SEC","wb"); // Crea el archivo en caso de no
// existir
cout << "\n\n\n\rNo. control: "; cin >> no_Alumno;
fread(&Registro,sizeof(Registro),1,alias);
// Lee el "Registro", de tamano=sizeof(Registro) del archivo "alias"
while(!feof(alias)) // Ciclo mientras no se encuentre el final del
// archivo
{
if(Registro.noAlumno==no_Alumno)
{
cout << "\n\n\n\rRegistro duplicado !!!";
fclose(alias);
getch();
return;
}
fread(&Registro,sizeof(Registro),1,alias);
}
cout << "\n\rAlumno: "; gets(Registro.descrip);
cout << "\n\rCarrera: "; cin >> Registro.semestre;


cout << "\n\rSemestre: "; cin >> Registro.carrera;
Registro.noAlumno=no_Alumno;
fwrite(&Registro,sizeof(Registro),1,alias); // Grabar el Registro
fclose(alias); // Cierra el archivo
cout << "\n\n\n\rAlumno registrado !!!";
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
}
void CONSULTA_SECUENCIAL(void)
{
int no_prod;
clrscr();
cout << "\n\rCONSULTA DE REGISTROS DE ALUMNOS";
alias=fopen("c:\\datos\\PRODUCTO.SEC","rb"); // Intenta abrir el archivo
//PRODUCTO.SEC
// en modo de solo lectura
if(alias==NULL)
{
cout << "\n\n\n\rNo existe el archivo !!!";
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
}
cout << "\n\n\n\rNumero de control: "; cin >> no_prod;
// Lee el "Registro", de tamano=sizeof(Registro) del archivo "alias"
while(!feof(alias))
{
if(Registro.noAlumno==no_prod)
{
cout << "\n\rNo control Alumno Carrera Semestre ";
cout << "\n\r----------------------------------------------------\n\n";
cout<<Registro.noAlumno<<setw(20)<<Registro.descrip<<setw(10)<<Registro.semestre<<setw(10)<<Registro.carrera<<endl;
fclose(alias);
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
}
fread(&Registro,sizeof(Registro),1,alias);
}
cout << "\n\rNo se encuentra ese registro !!!";
fclose(alias); // Cierra el archivo
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
}
void LISTADO_SECUENCIAL(void)
{
clrscr();
cout << "\n\rLISTADO DE REGISTROS DE ALUMNOS";
alias=fopen("c:\\datos\\PRODUCTO.SEC","rb"); // Intenta abrir el archivo
//PRODUCTO.SEC
// en modo de solo lectura
if(alias==NULL)
{
cout << "\n\n\n\rNo existe el archivo !!!";
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
}
cout << "\n\rNo Control Alumno Carrera Semestre ";
cout << "\n\r-------------------------------------------------------------------\n\n";
fread(&Registro,sizeof(Registro),1,alias);
// Lee el "Registro", de tamano=sizeof(Registro) del archivo "alias"
while(!feof(alias)) // Ciclo mientras no se encuentre el final del
//archivo
{
cout<<Registro.noAlumno<<setw(20)<<Registro.descrip<<setw(10)<<Registro.semestre<<setw(10)<<Registro.carrera<<endl;
fread(&Registro,sizeof(Registro),1,alias);
}
fclose(alias); // Cierra el archivo
cout << "\n\r------------------------------------------------------------------\n\n";
cout << "\n\rFin del listado !!!";
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
}
int menu()
{
int opcion;
cout<<"\n\n1)Alta del alumno "<<endl;
cout<<"\n2)Consulta de alumno"<<endl;
cout<<"\n3)Listado de alumno"<<endl;
cout<<"\n4)Modificar datos de alumno"<<endl;
cout<<"\n5)Baja Logica de alumonos"<<endl;
cout<<"\n6)Baja Fisica de alumnos"<<endl;
cout<<"\n7)Salida Programa"<<endl;
cout<<"\n\nSelecciona opcion = ?  ";
cin>>opcion;
return opcion;
}
void MODIFICACION_SECUENCIAL(void)
{
int no_prod; // Variable local para el numero de producto que desea
//modificar
clrscr();
cout << "\n\rMODIFICACION DE REGISTROS DE ALUMNOS";
alias=fopen("c:\\datos\\PRODUCTO.SEC","rb+"); // Intenta abrir el archivo
//PRODUCTO.SEC
// en modo de lectura/escritura
if(alias==NULL) // Valida la existencia del archivo
{
cout << "\n\n\n\rNo existe el archivo !!!";
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
}
cout << "\n\n\n\rNumero de control: "; cin >> no_prod;
fread(&Registro,sizeof(Registro),1,alias);
// Lee el "Registro", de tamano=sizeof(Registro) del archivo "alias"
while(!feof(alias)) // Ciclo mientras no se encuentre el final del
//archivo
{
if(Registro.noAlumno==no_prod)
{
cout << "\n\rNo Control Alumno Carrera Semestre \n\n";
cout << "\n\r--------------------------------------------------------------\n\n";
cout<<Registro.noAlumno<<setw(20)<<Registro.descrip<<setw(10)<<Registro.semestre<<setw(10)<<Registro.carrera<<endl;
cout << "\n\n\n\rAnote los nuevos datos ...";
cout << "\n\rAlumno: "; gets(Registro.descrip);
cout << "\n\rCarrera: "; cin >> Registro.semestre;
cout << "\n\rSemestre: "; cin >> Registro.carrera;
// Es necesario reposicionar el apuntador del archivo al principio
//del
// registro que desea modificar, ya que al leer un registro, el
// apuntador se posiciona en el registro siguiente
// La funcion ftell(alias) devuelve la posicion donde se encuentra
// el apuntador
fseek(alias,ftell(alias)-sizeof(Registro),SEEK_SET);
fwrite(&Registro,sizeof(Registro),1,alias); // Graba el registro
// con los nuevos campos
fclose(alias); // Cierra el archivo
cout << "\n\n\n\rRegistro modificado !!!";
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
}
fread(&Registro,sizeof(Registro),1,alias);
}
cout << "\n\rNo se encuentra ese registro !!!";
fclose(alias); // Cierra el archivo
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
}
void BAJA_LOGICA_SECUENCIAL(void)
{
int no_prod; // Variable local para el nombre del alumno
//eliminar
char op; //Variable local
clrscr();
cout << "\n\rBAJAS LOGICAS DE REGISTROS DE ALUMNOS";
alias=fopen("c:\\datos\\PRODUCTO.SEC","rb+"); // Intenta abrir el archivo
//PRODUCTO.SEC
// en modo de lectura/escritura
if(alias==NULL) // Valida la existencia del archivo
{
cout << "\n\n\n\rNo existe el archivo !!!";
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
}
cout << "\n\n\n\rNumero de control: "; cin >> no_prod;
fread(&Registro,sizeof(Registro),1,alias);
// Lee el "Registro", de tamano=sizeof(Registro) del archivo "alias"
while(!feof(alias)) // Ciclo mientras no se encuentre el final del
//archivo
{
if(Registro.noAlumno==no_prod)
{
cout << "\n\rNo Control Alumno Carrera Semestre "<<endl;
cout<< "\n\r---------------------------------------------------------------\n\n";
cout<<Registro.noAlumno<<setw(20)<<Registro.descrip<<setw(10)<<Registro.semestre<<setw(10)<<Registro.carrera<<endl;
Registro.noAlumno=0;
strcpy(Registro.descrip,"");
Registro.semestre;
Registro.carrera;
do {
cout <<"\n\n\rEsta seguro que desea borrarlo? [S/N] ---> ";
op=toupper(getche());
}while(op!='S' && op!='N');
if(op=='S')
{
// Es necesario reposicionar el apuntador del archivo al principio del
// registro que desea modificar, ya que al leer un registro, el
// apuntador se posiciona en el registro siguiente
// La funcion ftell(alias) devuelve la posicion donde se encuentra
// el apuntador
fseek(alias,ftell(alias)-sizeof(Registro),SEEK_SET);
fwrite(&Registro,sizeof(Registro),1,alias); // Graba el registro
// con los nuevos campos
cout << "\n\n\n\rRegistro eliminado !!!";
}
fclose(alias); // Cierra el archivo
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
}
fread(&Registro,sizeof(Registro),1,alias);
}
cout << "\n\rNo se encuentra ese registro !!!";
fclose(alias); // Cierra el archivo
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
}
void BAJA_FISICA_SECUENCIAL(void)
{
FILE *temporal; //Declaracion local de una variable para controlar el
// archivo temporal
clrscr();
cout << "\n\rBAJAS FISICAS DE REGISTROS DE PRODUCTOS";
alias=fopen("C:\\datos\\PRODUCTO.SEC","rb"); // Intenta abrir el archivo
//PRODUCTO.SEC
// en modo de solo lectura
if(alias==NULL) // Valida la existencia del archivo
{
cout << "\n\n\n\rNo existe el archivo !!!";
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
}
temporal=fopen("C:\\datos\\TEMPORAL.TMP","wb"); // Crea el archivo TEMPORAL.TMP
fread(&Registro,sizeof(Registro),1,alias);
// Lee el "Registro", de tamano=sizeof(Registro) del archivo "alias"
while(!feof(alias)) // Ciclo mientras no se encuentre el final del archivo
{
if(Registro.noAlumno!=0)
fwrite(&Registro,sizeof(Registro),1,temporal);
// Graba el registro valido en el archivo temporal
fread(&Registro,sizeof(Registro),1,alias);
}
fcloseall(); // Cierra todos los archivos abiertos
remove("C:\\datos\\PRODUCTO.SEC"); //Elimina el archivo original
rename("C:\\datos\\TEMPORAL.TMP","C:\\datos\\PRODUCTO.SEC");
//Renombra el archivo temporal con el nombre del archivo original
cout << "\n\n\n\rArchivo compactado !!!";
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
}


jueves, 23 de mayo de 2013

Practica unidad 6

Integrantes del equipo:
 
 
Alcantar Gonzales Carlos Armando 12212100
Flores Ruiz Aldo 12211255
Rosales Gomez Marco Aureloio 12211245
Villada Segovia Arturo 12211249
 
--------------------------------------------------------------------------------------------------------------------------

Problema 1

#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
template <class T>
void lecturadatos(T a[10][10], int n, int m);
template <class T>
void desplegardatos(T a[10][10], int n, int m);
template <class T>
void sumaarreglos(T a[10][10], T b[10][10], T c[10][10], int n, int m);
template <class T>
void multarreglos(T a[10][10], T b[10][10], T c[10][10], int n, int m);
int main ()
{
float primero[10][10], segundo[10][10], tercero[10][10], tercer[10][10];
lecturadatos(primero,4,4);
cout<<endl<<endl;
lecturadatos(segundo,4,4);
sumaarreglos(primero,segundo,tercero,4,4);
multarreglos(primero,segundo,tercer,4,4);
cout<<"Las matrices originales son \n\n ";
cout<<"La matriz primero\n ";
desplegardatos(primero,4,4);
cout<<endl<<endl;
cout<<"La matriz segundo\n ";
desplegardatos(segundo,4,4);
cout<<"\n\nLa suma de los arreglos es\n\n ";
desplegardatos(tercero,4,4);
cout<<"\n\nLa multiplicacion de los arreglos es\n\n ";
desplegardatos(tercero,4,4);
getch ();
}
template <class T>
void lecturadatos(T a[10][10], int n, int m)
{
int r,c;
for(r=0;r<n;r++)
{
for(c=0;c<m;c++)
{
cout<<"numero["<<(r+1)<<" , "<<(c+1)<<" ]: ";
cin>>a[r][c];
}
}
}
template <class T>
void desplegardatos(T a[10][10], int n, int m)
 {
 int r,c;
 for(r=0;r<n;r++)
 {
 for(c=0;c<m;c++)
 {
 cout<<a[r][c]<<"\t";
 }
 cout<<endl;
 }
 }
 template <class T>
 void sumaarreglos(T a[10][10], T b[10][10], T c[10][10], int n, int m)
 {
 int r,c1;
 for(r=0;r<n;r++)
 {
 for(c1=0;c1<m;c1++)
 {
 c[r][c1]= a[r][c1] + b[r][c1];
 }
 }
 }
 template <class T>
 void multarreglos(T a[10][10], T b[10][10], T c[10][10], int n, int m)
 {
 int r,c1;
 for(r=0;r<n;r++)
 {
 for(c1=0;c1<m;c1++)
 {
 c[r][c1]= a[r][c1]* b[r][c1];
 }
 }
 }




--------------------------------------------------------------------------------------------------------------------------


Problema 2

#include <iostream.h>
 #include <stdlib.h>
 #include <conio.h>
 #include <time.h>
 template <class T>
 void generarval(T a[10][10], int n, int m);
 template <class T>
 void desplegardatos(T a[10][10], int n, int m);
 template <class T>
 void datomayor (T a[10][10],int n,int m, T &mayor, int & posr, int & posc);
 int main ()
 {
 int valores[10][10], posRmayor=0,posCmayor=0, mayor=0;
 generarval(valores,5,5);
 cout<<"Matriz Original de 5x5\n";
 desplegardatos(valores,5,5);
 datomayor(valores,5,5,mayor,posRmayor,posCmayor);
 cout<<"\nEl dato mayor es"<<mayor<<endl;
 cout<<"Renglon: "<<(posRmayor+1)<<"columna: "<<(posCmayor+1)<<endl;
 getch ();
 }
 template <class T>
 void generarval(T a[10][10], int n, int m)
 {
 int r,c;
 srand(time(NULL));
 for(r=0;r<n;r++)
 {
 for(c=0;c<m;c++)
 {
 a[r][c]=rand()%1000 + 1;
 }
 }
 }
 template <class T>
 void desplegardatos(T a[10][10], int n, int m)
 {
 int r,c;
 for(r=0;r<n;r++)
 {
 for(c=0;c<m;c++)
 {
 cout<<a[r][c]<<"\t";
 }
 cout<<endl;
 }
 }
 template <class T>
 void datomayor (T a [10][10],int n,int m, T &mayor, int & posr, int & posc)
 {
 int r,c;
 mayor=a[0][0];
 posr=0;
 posc=0;
 for(r=0;r<n;r++)
 {
 for(c=0;c<m;c++)
 {
 if(a[r][c]>mayor)
 {
 mayor=a[r][c];
 posr=r;
 posc=c;
 }
 }
 }
 }



--------------------------------------------------------------------------------------------------------------------------


Problema 3

#include <iostream.h>
 #include <stdlib.h>
 #include <conio.h>
 #include <time.h>
 template <class T>
 void generarval(T a[10][10], int n, int m);
 template <class T>
 void desplegardatos(T a[10][10], int n, int m);
 template <class T>
 void intercambiomatriz(T a [10][10],T b[10][10],int n,int m);
 int main ()
 {
 int a[10][10],b[10][10];
 cout<<"Generando aleatoriamente los valores de la matriz A\n\n";
 generarval(a,4,4);
 intercambiomatriz(a,b,4,4);
 cout<<"\n\nMatriz A\n"<<endl;
 desplegardatos(a,4,4);
 cout<<"\n\nMatriz B\n";
 desplegardatos(b,4,4);
 getch ();
 }
 template <class T>
 void generarval(T a[10][10], int n, int m)
 {
 int r,c;
 srand(time(NULL));
 for(r=0;r<n;r++)
 {
 for(c=0;c<m;c++)
 {
 a[r][c]=rand()%100;
 }
 }
 }
 template <class T>
 void desplegardatos(T a[10][10], int n, int m)
 {
 int r,c;
 for(r=0;r<n;r++)
 {
 for(c=0;c<m;c++)
 {
 cout<<a[r][c]<<"\t";
 }
 cout<<endl;
 }
 }
 template <class T>
 void intercambiomatriz(T a [10][10],T b[10][10],int n,int m)
 {
 int r,c;
 for(r=0;r<n;r++)
 {
 for(c=0;c<m;c++)
 {
 b[c][r]=a[r][c];
 }
 }
 }



--------------------------------------------------------------------------------------------------------------------------


Problema 4

# include <iostream.h>
# include <stdlib.h>
# include <time.h>
# include <conio.h>
template <class T>
void leerdatos (T a [10][10],int n,int m);
template <class T>
void generarval(T a [10][10],int n,int m);
template <class T>
void desplegardatos (T a [10][10],int n,int m);
template <class T>
T diagonalp(T a[10][10],int n,int m);
template <class T>
T diagonalinversa (T a [10][10],int n,int m);
template <class T>
void intercambiomatriz (T a [10][10],T b[10][10],int n,int m);
int main()
{
int a[10][10],b[10][10];
cout<<"generando aleatoriamente los datos de la matriz A\n\n";
generarval(a,5,5);
//intercambiomatriz(a,b,5,5);
cout<<"nmatriz A\n";
desplegardatos(a,5,5);
cout<<"\n\nla suma de la diagonal principal:"<<diagonalp(a,5,5)<<endl;
cout<<"\n\nla suma de la diagonal inversa: "<<diagonalinversa(a,5,5)<<endl;
getch();
}
template <class T>
void leerdatos(T a[10][10],int n,int m)
{
int r,c;
for (r=0;r<n;r++)
{
for (c=0;c<m;c++)
{
cout<<"dato["<<(r+1)<<","<<(c+1)<<"]:";
cin>>a[r][c];
}
}
}
template <class T>
void generarval (T a[10][10],int n,int m)
{
int r,c;
 srand(time(NULL));
for (r=0;r<n;r++)
{
for (c=0;c<m;c++)
{
a[r][c]=rand()%10;
}
}
}
template <class T>
void desplegardatos (T a[10][10],int n,int m)
{
int r,c;
for (r=0;r<n;r++)
{
for (c=0;c<m;c++)
{
cout<<a[r][c]<<"\t";
}
cout<<endl;
}
}
template <class T>
T diagonalp(T a[10][10],int n,int m)
{int i;
T suma=0;
for(i=0;i<n;i++)
{
suma=suma+a[i][i];
}
return suma;
}
template <class T>
T diagonalinversa(T a[10][10],int n,int m)
{
int i,j=m-1;
T suma=0;
for (i=0;i<n;i++)
{
suma=suma+a[i][j];
j--;
}
return suma;
}
template <class T>
void intercambiomatriz(T a[10][10],T b[10][10],int n,int m)
{
int r,c;
for (r=0;r<n;r++)
{
for (c=0;c<m;c++)
{
b[c][r]=a[r][c];
}
}
}



--------------------------------------------------------------------------------------------------------------------------


Problema 5

#include <iostream.h>
 #include <conio.h>
 void leerdatos(float a[3][4]);
 void mostrardatos(float a[3][4]);
 void imprimirrangov(float a[3][4], int&cm60,int &c60m70, int &c70m80, int &c80m90, int &c90);
 int main()
 {
 float voltajes[3][4];
 int c1=0,c2=0,c3=0,c4=0,c5=0;
 leerdatos(voltajes);
 cout<<" Matriz devoltajes\n\n";
 mostrardatos(voltajes);
 imprimirrangov(voltajes,c1,c2,c3,c4,c5);
 cout<<" Cantidaddevoltajes\n\n";
 cout<<" Menores a 60: "<<c1<<endl;
 cout<<" Mayores o iguales a 60 pero menor a 70: "<<c2<<endl;
 cout<<" Mayores o iguales a 70 pero menor a 80: "<<c3<<endl;
 cout<<" Mayores o iguales a 80 pero menor a 90: "<<c4<<endl;
 cout<<" Mayores o iguales a 90: "<<c5<<endl;
 getch();
 }
 void leerdatos(float a[3][4])
 {
 int r,c;
 cout<<" Introduicce los sigientes datos\n\n";
 for(r=0;r<3;r++)
  {
  for(c=0;c<4;c++)
   {
   cout<<" Voltaje [ "<<(r+1)<<" , "<<(c+1)<<" ]: ";
   cin>>a[r][c];
}}}
void mostrardatos(float a[3][4])
{
int r,c;
for(r=0;r<3;r++)
 {
 for(c=0;c<4;c++)
  {
  cout<<a[r][c]<<"\t";
  }
  cout<<endl;
}}
void imprimirrangov(float a[3][4], int&cm60,int &c60m70, int &c70m80, int &c80m90, int&c90)
{
int r,c;
cm60=c60m70=c70m80=c80m90=c90=0;
for(r=0;r<3;r++)
  {
  for(c=0;c<4;c++)
   {
   if(a[r][c]<60)
   {cm60++;
   }
   else
   {
   if(a[r][c]<70)
   {c60m70++;
   }
   else
   {
   if(a[r][c]<80)
   {c70m80++;
   }
   else
   {
   if(a[r][c]<90)
   {c80m90++;
   }
   else
   {
   c90++;
   }}}}}}}



--------------------------------------------------------------------------------------------------------------------------


Problema 6

#include <iostream.h>
#include <conio.h>
void leerdatos(int a[7][6],char nombresp[6][20]);
void mostrardatos(int a[7][6],char nombresp[6][20]);
void totalesp(int a [7][6]);
int main()
{int prod[7][6];
char nplantas[6][20];
leerdatos(prod,nplantas);
totalesp(prod);
cout<<"\n\n Reporte semanal deproductividad\n\n";
cout<<" Planta   Dia 1   Dia 2   dia 3   Dia 4   Dia 5   Totales\n\n";
mostrardatos(prod,nplantas);
getch();
}
void leerdatos(int a[7][6],char nombresp[6][20])
{
int r,c;
for(r=0;r<6;r++)
 {
 cin.ignore();
 cout<<"Nombre de la planta "<<(r+1)<<": ";
 cin.getline(nombresp[r],20,'\n');
 for(c=0;c<5;c++)
  {
  cout<<" Produccion dia "<<(c+1)<<": ";
  cin>> a[r][c];
}}}
void mostrardatos(int a[7][6],char nombresp[6][20])
{
int r,c;
for(r=0;r<7;r++)
 {
 cout<<nombresp[r]<<"\t";
 for(c=0;c<6;c++)
  {
  cout<<a[r][c]<<"\t";
  }
  cout<<endl;
}}
void totalesp(int a [7][6])
{
int r,c, suma=0;
for(r=0;r<6;r++)
 {
 suma=0;
 for(c=0;c<5;c++)
  {
  suma=suma+a[r][c];
  }
  a[r][5]=suma;
  }
  for(c=0;c<5;c++)
 {
 suma=0;
 for(r=0;r<6;r++)
  {
  suma=suma+a[r][c];
  }
  a[6][c]=suma;
  }
  for(r=0;r<6;r++)
  {
  suma=suma+a[r][5];
  }
  a[6][5]=suma;
  }


miércoles, 22 de mayo de 2013

Ejercicios en clase 21 de mayo del 2013

Instituto Tecnológico de Tijuana
Ingeniería Electrónica
Programación Estructurada
Villada Segovia Arturo 12211249
 
 
 

--------------------------------------------------------------------------------------------------------------------------


Problema 1

#include <conio.h>
#include <fstream.h>
#include <string.h>
void salida_datos_file()
{
ofstream salida;
salida.open("F://Datos//lineas.txt",ios::app);
char linea[80];
cout<<"\nIntroduzca las lineas de texto\n\n";
cin.getline(linea,80,'\n');
do
{
salida<<linea<<endl;
cin.getline(linea,80,'\n');
}
while(strcmp(linea,"\n")>0);
salida.close();
cout<<" Lineas alacenadas en archivo\n\n";
}
void desplegar_lineas_archivo()
{
ifstream entrada;
entrada.open("F://Datos//lineas.txt");
char linea[80];
cout<<"\nListado de lineas en el archivo lineas.txt\n\n";
do
{
entrada.getline(linea,80,'\n');
cout<<linea<<endl;
}
while(!entrada.eof());
}
int main()
{
salida_datos_file();
desplegar_lineas_archivo();
getch();
}




--------------------------------------------------------------------------------------------------------------------------


Problema 2

#include <conio.h>
#include <fstream.h>
#include <stdio.h>
#include <string.h>
void salida_datos_file()
{
ofstream salida;
salida.open("F://Datos//lineas.txt");
char linea[80];
cout<<"\nIntroduzca las lineas de texto\n\n";
gets(linea);
do
{
salida<<linea<<endl;
gets(linea);
}
while(strcmp(linea,"\n")>0);
salida.close();
cout<<" Lineas alacenadas en archivo\n\n";
}
void desplegar_lineas_archivo()
{
ifstream entrada;
entrada.open("F://Datos//lineas.txt");
char linea[80];
cout<<"\nListado de lineas en el archivo lineas.txt\n\n";
do
{
entrada.getline(linea,80,'\n');
cout<<linea<<endl;
}
while(!entrada.eof());
}
int main()
{
salida_datos_file();
desplegar_lineas_archivo();
getch();
}




--------------------------------------------------------------------------------------------------------------------------


Problema 3

#include <conio.h>
#include <fstream.h>
void file_empleado()
{
ofstream f1;
f1.open("F://Datos//empleados.dat",ios::app);
char nombre[15],sigue,tipo;
int numemp;
float pago;
char fecha[8];
do
{
cout<<" Nombre empleado: ";
cin.ignore();
cin.getline(nombre,15,'\n');
cout<<" Categoria: ";
cin>>tipo;
cout<<" Numero empleado: ";
cin>>numemp;
cout<<" Pago por hora: ";
cin>>pago;
cout<<" Fecha ingreso mes/dia/anio: ";
cin>>fecha;
f1<<nombre<<" "<<tipo<<" "<<numemp<<" "<<pago<<" "<<fecha<<endl;
cout<<"\n\n Desea procesar otro empleado (s/n): ";
cin>>sigue;
}
while (sigue=='s'||sigue=='S');
f1.close();
}
void mostrar_archivo()
{
ifstream f2;
char nombre[15],tipo;
int numemp;
float pago;
char fecha[8];
f2.open("F://Datos//empleados.dat");
cout<<" Listado de empleados\n\n";
cout<<" Nombre Empleado Categoria No. Empleado Pago por Hora Fecha Ingreso \n\n";
f2>>nombre>>tipo>>numemp>>pago>>fecha;
do
{
cout<<nombre<<"\t\t\t"<<tipo<<"\t"<<numemp<<"\t"<<pago<<"\t\t"<<fecha<<endl;
f2>>nombre>>tipo>>numemp>>pago>>fecha;
}
while(!f2.eof());
getch();
}
int menu()
{
int opcion;
cout<<" 1) Alta empleado"<<endl;
cout<<" 2) Desplegar datos archivo empleado"<<endl;
cout<<" 3) Salida programa"<<endl;
cout<<" Seleccione opcion ==>";
cin>>opcion;
return opcion;
}
void main()
{
int opc;
do
{
clrscr();
opc=menu();
switch(opc)
{
case 1:file_empleado();
       break;
case 2:mostrar_archivo();
       break;
case 3:
       clrscr();
       cout<<"\n\n Salida del programa\n\n";
       getch();
       break;
default:
cout<<" Error en opcion\n\n";
}}
while(opc!=3);
}


jueves, 16 de mayo de 2013

Ejercicios en clase 16 de mayo del 2013

Instituto Tecnològico de Tijuana
Villada Segovia Arturo

#include <iostream.h>
#include <conio.h>
#include <fstream.h>
#include <stdio.h>
void salida_datos_file( )
{
ofstream salida;
salida.open("E://Datos//nombres.txt",ios::app);
int i,n;
char name[30];
cout<<" Cuantos nombres desea agregar: ";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"\n\n Nombre: ";
gets(name);
salida<<name<<endl;
}salida.close();
}
void entrada_datos_file()
{
ifstream entrada;
entrada.open("E://Datos//Nombres.txt");
char name [30];
cout<<"\n listado de nombres\n";
entrada.getline(name,30);
cout<<name<<endl;

while(!entrada.eof())
{entrada .getline(name,30);
cout<<name<<endl;
}
entrada.close();
}
int main()
{
char continuar;
do
 {
salida_datos_file();
cout<<"\n\n Deseas rregistrar otro nombre? (s/n): ";
cin>>continuar;
}
while(continuar=='s'||continuar=='S');
entrada_datos_file();
getch ();
}



martes, 14 de mayo de 2013

Ejercicio en clase 2 de mayo del 2013


Villada Segovia Arturo

Practica 5, 2 de mayo

 
#include <iostream.h>
#include <stdlib.h>
 #include <conio.h>
 #include <string.h>
 template <class T>
 void limpiararreglo(T a[11][11], char name[11][30]);
 template <class T>
 void lecturadatos(T a[11][11],char name[11][30], int n, int m);
 template <class T>
 void desplegardatos(T a[11][11],char name[11][30], int n, int m);
 template <class T>
 T sumavalores(T a[11][11],int n, int m);
 template <class T>
 void sumaderenglones(T a[11][11],int n, int m);
 template <class T>
 void sumadecolumnas(T a[11][11],int n, int m);
 int main ()
 {
 int tabla[11][11];
 char nombres[11][30];
 int noR,noC;
 cout<<"introduce el numero de alumnos (<=10) = ";
 cin>>noR;
 cout<<"introduce el numero de calificaciones (<=10) =";
 cin>>noC;
 limpiararreglo(tabla,nombres);
 lecturadatos(tabla,nombres,noR,noC);
 sumaderenglones(tabla,noR,noC);
 sumadecolumnas(tabla,noR,noC);
 cout<<"promedio de la materia programacion "<<endl<<endl;
 desplegardatos(tabla,nombres,noR+1,noC+1);
 getch ();
 }
 template <class T>
 void limpiararreglo(T a[11][11],char name[11][30])
 { int r,c;
 for(r=0;r<11;r++)
 {
 strcpy(name[r],"   ");
 for(c=0;c<11;c++)
 {
 a[r][c]=0;
 }
 }
 }
template <class T>
void lecturadatos(T a[11][11],char name[11][30],int n, int m)
{
 int r,c;
for(r=0;r<n;r++)
{
 cout<<"nombre alumno "<<(r+1)<<" : ";
 cin.ignore();
 cin.getline(name[r],30,'\n');
 for(c=0;c<m;c++)
 {
  cout<<"calificacion ["<<(c+1)<<" ]: ";
  cin>>a[r][c];
 }
 cout<<endl<<endl;
 }
}
template <class T>
 void desplegardatos(T a[11][11],char name[11][30],int n,int m)
 {
  int r,c;
  for(r=0;r<n;r++)
  {
  cout<<name[r]<<"\t";
  for(c=0;c<m;c++)
  {
  cout<<a[r][c]<<"\t";
  }
  cout<<endl;
  }
  }
  template<class T>
  T sumavalores(T a[11][11],int n,int m)
  {
  int r,c;
  T suma=0;
  for(r=0;r<n;r++)
  {
  for(c=0;c<m;c++)
  {
   suma=suma+a[r][c];
  }
  }
  return suma;
  }
  template <class T>
  void sumaderenglones(T a[11][11],int n,int m)
  {
  int r,c;
  T suma=0;
  for(r=0;r<n;r++)
  {
  suma=0;
  for(c=0;c<m;c++)
  {
  suma=suma+a[r][c];
  }
  a[r][m]=suma/m;
  }
 }
  template <class T>
  void sumadecolumnas(T a[11][11],int n,int m)
  {
  int r,c;
  T suma=0;
  for(c=0;c<=m;c++)
  {
  suma=0;
  for(r=0;r<n;r++)
  {
  suma=suma+a[r][c];
  }
   a[n][c]=suma/n;
  }
  }