Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
UNIVERSIDAD DE GUADALAJARA CENTRO DE CIENCIAS EXACTAS E INGENIERIAS ESTRUCTURA DE DATOS I MAESTRO: ALFREDO GUTIERREZ HERNANDEZ INTEGRANTES: DURAN MANZANO MARIO 215416114 INGENIERIA INFORMATICA Actividad de Aprendizaje 01. Tipos de Dato primitivos y Tipos de Dato Estructurados Resumen del trabajo. Para iniciar con el proyecto, me fue un poco complicado conocer los objetos ya que mis clases anteriores solo llegaron a conocer los registros (estructuras), así que no me fue tan mal ya que tenía conocimientos previos. Por otra parte, también me confundí en la creación de las librerías, pero entendí bien cuando iba dando mi propio nombre a las clases y mandaba a llamar a las funciones y a los otros cpp que trabajan en conjunto con el cpp main, asi que me gusto la práctica, solo espero después no entren apuntadores, porque soy muy malo con ellos. En otro ámbito, me fue un poco complejo y tedioso acomodar la tabla, ya que no conocía los setw(), pero fue solo prueba y error, así que en todo caso, funciono bien, tampoco conocía lo de las librerías <climits> y las de <cfloat> para los tamaños de los tipos de dato, tuve que multiplicarlos por bits, ya que no aparecían bien los datos, y todo funciono bien al final, por parte del aleatorio, ya sabía usarlo, me gusto mucho la practica ya que no fue compleja y en todo caso, aprendí como funcionan bien las clases. En la parte de las matrices, no me fue difícil hacerlas, ya que solo se requerían dos for, uno para filas y otro para columnas, así que por ese lado fue sencillo. Main.cpp #include <iostream> #include "table.h" #include "matri.h" using namespace std; int main() { char opc; setlocale(LC_ALL,"spanish"); Table objet; Matri objet2; do{ system("cls"); cout<<"Menu\na) Tamaño y rangos de tipo de dato primitivo\nb) Ejemplo de uso de Tipo de dato estructurado\nc) Salir\n"; cout<<"Ingresa una opcion\n>> "; cin>>opc; if(opc=='C') opc='c'; switch(opc){ case 'a': objet.showTable(); break; case 'b':{ int can; cout<<"Ingresa el numero de filas y columnas\n>> "; cin>>can; while(can<3 || can>10){ cout<<"La matriz debe ser de entre 3 a 10 numeros\nIngresa de nuevo\n>> "; cin>>can; } objet2.cantidad(can); objet2.llenar(); objet2.mostrar(); } break; case 'c': cout<<"Gracias por visitar el programa\n\n\n"; break; default: cout<<"Ingresaste una opcion incorecta\n\n"; } }while(opc!='c'); system("cls"); system("pause"); return 0; } Matri.cpp #include "matri.h" using namespace std; void Matri::cantidad(int num){ x=num; } void Matri::llenar(){ srand(time(NULL)); for(int a=0; a<x ; a++) for(int b=0 ; b<x ; b++){ ma1[a][b]= -99 + ( rand() % 200 ); ma2[a][b]= -99 + ( rand() % 200 ); mul[a][b]=ma2[a][b]*ma1[a][b]; su[a][b]=ma2[a][b]+ma1[a][b]; } } void Matri::mostrar(){ cout<<"Matriz 1"<<endl<<endl<<setw(7); for(int a=0 ; a<x ; a++){ for(int b=0 ; b<x ; b++) cout<<ma1[a][b]<<setw(7); cout<<endl; } cout<<"\n\n\nMatriz 2\n"<<endl<<endl<<setw(7); for(int a=0 ; a<x ; a++){ for(int b=0 ; b<x ; b++) cout<<ma2[a][b]<<setw(7); cout<<endl; } cout<<"\n\n\nMatriz sumada"<<endl<<endl<<setw(7); for(int a=0 ; a<x ; a++){ for(int b=0 ; b<x ; b++) cout<<su[a][b]<<setw(7); cout<<endl; } cout<<"\n\n\nMatriz multiplicada"<<endl<<endl<<setw(10); for(int a=0 ; a<x ; a++){ for(int b=0 ; b<x ; b++) cout<<mul[a][b]<<setw(10); cout<<endl; } cout<<endl<<endl; system("pause"); } Matri.h #ifndef MATRI_H_INCLUDED #define MATRI_H_INCLUDED #include <iostream> #include <iomanip> #include <cfloat> #include <climits> #include <cstdlib> #include <time.h> class Matri{ private: float ma1[10][10], ma2[10][10], su[10][10], mul[10][10]; int x; public: void cantidad(int); void llenar(); void mostrar(); }; #endif // MATRI_H_INCLUDED Table.cpp #include "table.h" using namespace std; void Table::showTable(){ system("cls"); cout<<"Tabla\n\n\n"; cout<<"Caracter con signo"<<setw(11)<<sizeof( signed char) * CHAR_BIT<<setw(17)<<SCHAR_MIN<<setw(24)<<SCHAR_MAX<<endl<<endl; cout<<"Caracter sin signo"<<setw(11)<<sizeof( unsigned char ) * CHAR_BIT <<setw(15)<<"0"<<setw(26)<<UCHAR_MAX<<endl<<endl; cout<<"Entero corto con signo"<<setw(8)<<sizeof( unsigned short ) * CHAR_BIT <<setw(18)<<SHRT_MIN<<setw(24)<<SHRT_MAX<<endl<<endl; cout<<"Entero corto sin signo"<<setw(8)<<sizeof( signed short ) * CHAR_BIT <<setw(14)<<"0"<<setw(28)<<USHRT_MAX<<endl<<endl; cout<<"Entero largo con signo"<<setw(8)<<sizeof( unsigned long ) * CHAR_BIT<<setw(23)<<LONG_MIN<<setw(24)<<LONG_MAX<<endl<<endl; cout<<"Entero largo sin signo"<<setw(8)<<sizeof( signed long) * CHAR_BIT <<setw(14)<<"0"<<setw(33)<<ULONG_MAX<<endl<<endl; cout<<"Real de precision simple"<<setw(6)<<sizeof( float ) *CHAR_BIT <<setw(25)<<FLT_MIN<<setw(24)<<FLT_MAX<<endl<<endl; cout<<"Real de doble precision"<<setw(7)<<sizeof( double )* CHAR_BIT <<setw(25)<<DBL_MIN<<setw(24)<<DBL_MAX<<endl<<endl<<endl<<endl; system("pause"); } table.h #ifndef TABLE_H_INCLUDED #define TABLE_H_INCLUDED #include <iostream> #include <iomanip> #include <cfloat> #include <climits> #include <stdlib.h> class Table { private: public: void showTable(); }; #endif // TABLE_H_INCLUDED IMPRESIONES DE PANTALLA
Compartir