Está en la página 1de 20

MODULARIZACION

#include<conio.h>
#include<stdio.h>
#define MAX 10

void Inicia(int *pA);


void Menu(int *pA, int &N);
void Lectura(int *pA, int &N);
void Mostrar(int *pA, int N);
void Liberar(int *pA);

void main()
{
int *pA=new int[MAX],N=0;
Inicia(pA);
Menu(pA,N);
}

void Inicia(int *pA)


{
//Inicializando arreglo dinamico
for(int i=0;i<MAX;i++)
pA[i]=0;
}

void Menu(int *pA,int &N)

{//Menu de opciones
int Resp;
do
{
clrscr();
printf("\n\n\t\t\MENU DE OPCIONES\n\n");
printf("\n\t1.-Leer Datos\n");
printf("\n\t2.-Mostrar\n");
printf("\n\t3.-Salir\n");
do{
printf("\n\n\t\t\Que operacion desea realizar?\n");
printf("\n\n\t\t\tOpcion:");
scanf("%d", &Resp);
}while(!(Resp>0 && Resp<=3));
switch(Resp)
{
case 1:Lectura(pA,N);
break;
case 2:Mostrar(pA,N);
break;
case 3:Liberar(pA);
break;
}
}while(Resp !=3);
}
void Lectura(int *pA, int &N)

{
clrscr();
printf("\n\t\t\t***LECTURA DE DATOS***\n\n");
do{
printf("\n\tIngrese el numero de elementos:");
scanf("%d",&N);
}while(!(N>0 && N<=MAX));

for(int i=0; i<N;i++)


do
{
printf("\nElemento pA[%d]:",i+1);
scanf("%d",&pA[i]);
}while(!(pA[i]>0));

void Mostrar (int *pA,int N)


{
clrscr();
printf("\n\t\t\t***Mostrar el arreglo***\n\n");
if(N>0)
{
for(int i=0;i<N;i++)
printf("\nElemento pA[%d]:%d",i+1,pA[i]);

else
printf("No hay datos");
getch();
}

void Liberar(int *pA)


{
clrscr();
printf("\n\t\t\t***Salir del Programa***\n");
delete[] pA;
getch();
}

MATRIZ SIMPLE

#include<conio.h>
#include<stdio.h>
#define MAX 10

void Inicia(int *pA);


void Menu(int *pA, int &N);
void Lectura(int *pA, int &N);
void Mostrar(int *pA, int N);

void Liberar(int *pA);

void main()
{
int *pA=new int[MAX],N=0;
Inicia(pA);
Menu(pA,N);
}

void Inicia(int *pA)


{
//Inicializando arreglo dinamico
for(int i=0;i<MAX;i++)
pA[i]=0;
}

void Menu(int *pA,int &N)


{//Menu de opciones
int Resp;
do
{
clrscr();
printf("\n\n\t\t\MENU DE OPCIONES\n\n");
printf("\n\t1.-Leer Datos\n");
printf("\n\t2.-Mostrar\n");
printf("\n\t3.-Salir\n");

do{
printf("\n\n\t\t\Que operacion desea realizar?\n");
printf("\n\n\t\t\tOpcion:");
scanf("%d", &Resp);
}while(!(Resp>0 && Resp<=3));
switch(Resp)
{
case 1:Lectura(pA,N);
break;
case 2:Mostrar(pA,N);
break;
case 3:Liberar(pA);
break;
}
}while(Resp !=3);
}
void Lectura(int *pA, int &N)
{
clrscr();
printf("\n\t\t\t***LECTURA DE DATOS***\n\n");
do{
printf("\n\tIngrese el numero de elementos:");
scanf("%d",&N);
}while(!(N>0 && N<=MAX));

for(int i=0; i<N;i++)

do
{
printf("\nElemento pA[%d]:",i+1);
scanf("%d",&pA[i]);
}while(!(pA[i]>0));

void Mostrar (int *pA,int N)


{
clrscr();
printf("\n\t\t\t***Mostrar el arreglo***\n\n");
if(N>0)
{
for(int i=0;i<N;i++)
printf("\nElemento pA[%d]:%d",i+1,pA[i]);

else
printf("No hay datos");
getch();
}

void Liberar(int *pA)


{

clrscr();
printf("\n\t\t\t***Salir del Programa***\n");
delete[] pA;
getch();
}

SUBIENDO DE NIVEL NUMEROS COMPLEJOS


#include<iostream.h>
#include<math.h>
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>

class Complejo
{
private:

double A;
double B;

public:
Complejo();
Complejo(double X, double Y);
double getReal(){return A;};

double getImag(){return B;};

Complejo operator + (Complejo);


Complejo operator - (Complejo);
Complejo operator * (Complejo);
Complejo operator / (Complejo);
void Presenta();

~Complejo(){};
};

Complejo::Complejo()
{
A=0;
B=0;
}

Complejo::Complejo(double X,double Y)
{
A=X;
B=Y;
}

void Complejo::Presenta()
{
cout<<"\n\t\t--- LECTURA DE DATOS --- "<<endl<<endl;

cout<<" NUMERO REAL: "<<A<<endl;


cout<<" NUMERO IMAGINARIO: "<<B<<endl;
cout<< " (REAL + IMAGINARIO)= "<<A<<"+"<<B<<"i"<<endl;
}

Complejo Complejo::operator+(Complejo C)
{
Complejo b(A+C.A,B+C.B);
return b;
}

Complejo Complejo::operator-(Complejo C)
{
Complejo b(A-C.A,B-C.B);
return b;
}

Complejo Complejo::operator*(Complejo C)
{
Complejo b(A*C.A,B*C.B);
return b;
}

Complejo Complejo::operator/(Complejo C)
{
Complejo b(A/C.A,B/C.B);

return b;
}

void main()
{

Complejo Conj,D1(7,9),D2(2,4);
clrscr();
Conj=D1;
cout<<"\n\n\t -- NUMEROS ORIGINALES USADOS --"<<endl;
Conj.Presenta();
Conj=D2;
cout<<"\n\n\t -- NUMEROS ORIGINALES USADOS --"<<endl;
Conj.Presenta();

Conj=D1+D2;
cout<<"\n\n\n\n\n\t------------------------------------------ "<<endl;
cout<<" \t-- NUMEROS COMPLEJOS :: PROCESO DE SUMA -- "<<endl;
cout<<" \t------------------------------------------ "<<endl;
Conj.Presenta();

Conj=D1-D2;
cout<<"\n\n\t------------------------------------------- "<<endl;
cout<<" \t-- NUMEROS COMPLEJOS :: PROCESO DE RESTA -- "<<endl;
cout<<" \t------------------------------------------- "<<endl;
Conj.Presenta();

Conj=D1*D2;
cout<<"\n\n\t---------------------------------------------------- "<<endl;
cout<<" \t-- NUMEROS COMPLEJOS :: PROCESO DE MULTIPLICACION -- "<<endl;
cout<<" \t---------------------------------------------------- "<<endl;
Conj.Presenta();

Conj=D1/D2;
cout<<"\n\n\t---------------------------------------------- "<<endl;
cout<<" \t-- NUMEROS COMPLEJOS :: PROCESO DE DIVISION -- "<<endl;
cout<<" \t---------------------------------------------- "<<endl;
Conj.Presenta();
getch();
}
EJERCICIO DE ROGER CLASES
#include <conio.h>
#include <string.h>
#include <iostream.h>
#include <ctype.h>
#include <stdio.h>
#define DELTA 2
#define MAXNO 5
#define LIM 40
#define MAXCOD 11

class Alumno
{
private:
char codigo[MAXCOD];
char nombre[LIM];
int edad;
int Notas[MAXNO];
float prom;

public:
Alumno();
void LeeAlumno();
void MostrarAlumno();

};

class Salon
{
private:
Alumno *Data;
int n;
int Max;

public:
Salon();
~Salon();

void proceso();
int menu();
void LeeSalon();
void Insertar(Alumno &A);
void Crece();
void MostrarSalon();

};

char continuar(char *msj)


{
char rpta;
do{
cout<<"\n\t"<<msj;
flushall();
cin>>rpta;
rpta=toupper(rpta);
}while(!(rpta=='S' || rpta=='N'));
return rpta;
}

Alumno::Alumno()
{
codigo[0]=NULL;
nombre[0]=NULL;
edad=0;

for(int i=0;i<MAXNO;i++)
Notas[i]=0;
prom=0.0;
}

void Alumno::LeeAlumno()
{
int Suma=0;
cout<<"\n\nINGRESE CODIGO: ";
cin>>codigo;
cout<<"\nINGRESE NOMBRE: ";
gets(nombre);
do{
cout<<"\nINGRESE EDAD: ";
cin>>edad;
}while(!(edad>16 && edad<=40));
for(int i=0;i<MAXNO;i++)
{
do{
cout<<"\n\tNOTA "<<i+1<<": ";
cin>>Notas[i];
}while(!(Notas[i]>=0 && Notas[i]<=20));
Suma+=Notas[i];
}
prom=(float)Suma/MAXNO;
}

void Alumno::MostrarAlumno()
{ clrscr();

cout<<"\t\t--------------------------------"<<endl;
cout<<"\t\t--- MOSTRAR DATOS DEL ALUMNO ---"<<endl;
cout<<"\t\t--------------------------------"<<endl<<endl;

cout<<"\nCodigo: "<<codigo<<endl;
cout<<"Nombre: "<<nombre<<endl;
cout<<"Edad: "<<edad<<endl;
for(int i=0;i<MAXNO;i++)
cout<<"\tNota"<<i+1<<":"<<Notas[i]<<endl;
cout<<"Promedio:"<<prom<<endl;
getch();
}

Salon::Salon()
{
Data=NULL;
n=0;
Max=0;
}

Salon::~Salon()
{

delete Data;
n=0;
Max=0;
}

void Salon::LeeSalon()
{
do{
Alumno A;
clrscr();
cout<<"\t\t-------------------------"<<endl;
cout<<"\t\t--- LECTURA DE DATOS ---"<<endl;
cout<<"\t\t-------------------------"<<endl<<endl;
A.LeeAlumno();
Insertar(A);
}while(continuar("DESEAS CONTINUAR(S/N):")=='S');
}

void Salon::Insertar(Alumno &A)


{
if(n==Max)
Crece();
Data[n]=A;
n++;
}

void Salon::Crece()
{
Alumno * Temp;
Temp=new Alumno[Max+DELTA];
for(int i=0;i<n;i++)
Temp[i]=Data[i];
delete Data;
Data=Temp;
Max+=DELTA;
}

void Salon::MostrarSalon()
{
if(n>0)
{
for(int i=0;i<n;i++)
Data[i].MostrarAlumno();
}
else
cout<<"\n No hay alumnos";

int Salon::menu()
{

int opc;
clrscr();
cout<<"\t\t--------------"<<endl;
cout<<"\t\t--- MENU ---"<<endl;
cout<<"\t\t--------------"<<endl<<endl;
cout<<"\t[1].REGISTRAR ALUMNOS "<<endl;
cout<<"\t[2].MOSTRAR ALUMNOS "<<endl;
cout<<"\t[3].SALIR "<<endl<<endl;

do{
cout<<"ELIJIR OPCION: ";
cin>>opc;
}while(!(opc>=1 && opc<=3));
return opc;
}

void Salon::proceso()
{
int resp;
do{
resp=menu();
switch(resp)
{
case 1: LeeSalon(); break;
case 2: MostrarSalon(); break;
}

}while(resp!=3);

void main()
{
Salon S;
clrscr();
S.proceso();
}