EJERCICIO DE HERENCIA DE LOS TRANSPORTES
Realizar un programa que imprima los datos de un coche, un tren y un avión con la clase vehículo utilizando herencia
#include <stdio.h>
#include <conio.h>
#include <iostream>
using namespace std;
class vehiculo{
public:
int dep, vel;
public:
void acelerar(){
cout << "Acelerar"<<endl;}
void frenar(){
cout << "Frenar"<<endl<<endl;}
};
class coche : public vehiculo{
private:
int puertas;
public:
coche(int dep1, int vel1, int puertas1){
dep=dep1;
vel=vel1;
puertas=puertas1;
}
void imprimir(){
cout<<"Deposito ="<<dep<<endl;
cout<<"Velocidad ="<<vel<<endl;
cout<<"Puertas ="<<puertas<<endl;
}
};
class tren : public vehiculo{
private:
int vagones;
public:
tren(int dep1, int vel1, int vagones1){
dep=dep1;
vel=vel1;
vagones=vagones1;
}
void imprimir(){
cout<<"Deposito ="<<dep<<endl;
cout<<"Velocidad ="<<vel<<endl;
cout<<"Vagones ="<<vagones<<endl;
}
};
class avion : public vehiculo{
private:
int puertas;
public:
void despegar(){
cout << "Despegar"<<endl;
}
void aterrizar(){
cout << "Aterrizar"<<endl;
}
avion(int dep1, int vel1, int puertas1){
dep=dep1;
vel=vel1;
puertas=puertas1;
}
void imprimir(){
cout<<"Deposito ="<<dep<<endl;
cout<<"Velocidad ="<<vel<<endl;
cout<<"Puertas ="<<puertas<<endl;
}
};
main()
{
coche a1(80,180,2);
tren a2(100,90,7);
avion a3(100,190,1);
cout << "Coche" << endl;
a1.imprimir();
a1.acelerar();
a1.frenar();
cout << "Tren" << endl;
a2.imprimir();
a2.acelerar();
a2.frenar();
cout << "Avion" << endl;
a3.imprimir();
a3.acelerar();
a3.frenar();
a3.despegar();
a3.aterrizar();
getch();
}
miércoles, 31 de enero de 2018
CLASE 8: EJERCICIO
EJERCICIO DATOS DE UN COCHE
Realizar un programa que solicite al usuario los datos de coche (adaptar método) si el modelo del auto es anterior al 2000.
Va velocidad seran 20 * dibujados,velocidad maxima sera 120km/h, aceleracion desconocida.
Si el modelo del auto es mayor al 2000 si velocidad sera 50 *, velocidad máxima 300 km/h, aceleración 10km/s.
Realize un programa qu ingrese los datos, salga la especificacion, y que salga el programa con 0
#include <conio.h>
#include <iostream>
using namespace std;
class coche
{
private:
string matricula;
string marca;
int modelo;
int numerodepuertas;
public:
coche(string matricula1, string marca1, int modelo1, int numerodepuertas1)
{
matricula=matricula1;
marca=marca1;
modelo=modelo1;
numerodepuertas=numerodepuertas1;
}
void verdatos()
{
cout<<"Matricula:\n"<<matricula<<"\n";
cout<<"Marca:\n"<<marca<<"\n";
cout<<"Modelo:\n"<<modelo<<"\n";
cout<<"Numero de puertas:\n"<<numerodepuertas<<"\n";
}
void velocidad(int numast)
{
cout<<"Velocidad"<<endl;
for(int i=0;i<numast;i++)
{
cout<<"*";
}
}
void velocidadmaxima(int velocmax)
{
cout<<"\n";
cout<<"Velocidad maxima"<<"\n"<<velocmax<<"km/h"<<endl;
}
void aceleracion(string acelrn)
{
cout<<"Aceleracion"<<"\n"<<acelrn<<"km/s"<<endl;
}
};
int main(){
int n;
do{
string matricula;
string marca;
int modelo;
int numerodepuertas;
cout<<"Ingrese la matricula del vehiculo:"<<endl;
cin>>matricula;
cout<<"Ingrese la marca:"<<endl;
cin>>marca;
cout<<"Ingrese el modelo:"<<endl;
cin>>modelo;
cout<<"Ingrese el numero de puertas:"<<endl;
cin>>numerodepuertas;
coche a1(matricula,marca,modelo,numerodepuertas);
if(modelo<=2000){
a1.velocidad(20);
a1.velocidadmaxima(120);
a1.aceleracion("desconocido"); }
else{
a1.velocidad(50);
a1.velocidadmaxima(30);
a1.aceleracion("10"); }
a1.verdatos();
cout<<"Presione 0 si desea salir, o cualquier numero para volver a ingresar datos\n";
cin>>n;
}while(n!=0);
}
Realizar un programa que solicite al usuario los datos de coche (adaptar método) si el modelo del auto es anterior al 2000.
Va velocidad seran 20 * dibujados,velocidad maxima sera 120km/h, aceleracion desconocida.
Si el modelo del auto es mayor al 2000 si velocidad sera 50 *, velocidad máxima 300 km/h, aceleración 10km/s.
Realize un programa qu ingrese los datos, salga la especificacion, y que salga el programa con 0
#include <conio.h>
#include <iostream>
using namespace std;
class coche
{
private:
string matricula;
string marca;
int modelo;
int numerodepuertas;
public:
coche(string matricula1, string marca1, int modelo1, int numerodepuertas1)
{
matricula=matricula1;
marca=marca1;
modelo=modelo1;
numerodepuertas=numerodepuertas1;
}
void verdatos()
{
cout<<"Matricula:\n"<<matricula<<"\n";
cout<<"Marca:\n"<<marca<<"\n";
cout<<"Modelo:\n"<<modelo<<"\n";
cout<<"Numero de puertas:\n"<<numerodepuertas<<"\n";
}
void velocidad(int numast)
{
cout<<"Velocidad"<<endl;
for(int i=0;i<numast;i++)
{
cout<<"*";
}
}
void velocidadmaxima(int velocmax)
{
cout<<"\n";
cout<<"Velocidad maxima"<<"\n"<<velocmax<<"km/h"<<endl;
}
void aceleracion(string acelrn)
{
cout<<"Aceleracion"<<"\n"<<acelrn<<"km/s"<<endl;
}
};
int main(){
int n;
do{
string matricula;
string marca;
int modelo;
int numerodepuertas;
cout<<"Ingrese la matricula del vehiculo:"<<endl;
cin>>matricula;
cout<<"Ingrese la marca:"<<endl;
cin>>marca;
cout<<"Ingrese el modelo:"<<endl;
cin>>modelo;
cout<<"Ingrese el numero de puertas:"<<endl;
cin>>numerodepuertas;
coche a1(matricula,marca,modelo,numerodepuertas);
if(modelo<=2000){
a1.velocidad(20);
a1.velocidadmaxima(120);
a1.aceleracion("desconocido"); }
else{
a1.velocidad(50);
a1.velocidadmaxima(30);
a1.aceleracion("10"); }
a1.verdatos();
cout<<"Presione 0 si desea salir, o cualquier numero para volver a ingresar datos\n";
cin>>n;
}while(n!=0);
}
CLASE 7: HERENCIA
HERENCIA SIMPLE
Herencia Simple La herencia en C++ es un mecanismo de abstracción creado para
poder facilitar, y mejorar el diseño de las clases de un programa. Con ella se
pueden crear nuevas clases a partir de clases ya hechas, siempre y cuando
tengan un tipo de relación especial. En la herencia, las clases derivadas
“heredan” los datos y la función miembro de las clases base, pudiendo las
clases derivadas redefinir estos comportamientos (polimorfismo) y añadir
comportamientos nuevos propios de las clases derivadas. Para no romper el principio
de encapsulamiento (ocultar datos cuyo conocimiento no es necesario para el uso
de las clases), se proporciona un nuevo modo de visibilidad de los
datos/funciones: “protected”. Cualquier cosa que tenga visibilidad protected se
comportará como pública en la clase Base y en las que componen la jerarquía de
herencia, y como privada en las clases que NO sean de la jerarquía de la
herencia. Antes de utilizar la herencia, nos tenemos que hacer una pregunta, y
si tiene sentido, podemos intentar usar esta jerarquía: Si la frase
<claseB> ES-UN <claseA> tiene sentido, entonces estamos ante un
posible caso de herencia donde clase A será la clase base y clase B la
derivada.
EJEMPLO:
#include<conio.h>
#include <iostream>
using namespace std;
class Vehiculo {
public:
void avanza() {}
};
class Coche : public Vehiculo {
public:
void avanza(void)
{ cout << "Avanza coche." << endl; }
};
class Moto: public Vehiculo {
public:
void avanza(void)
{ cout << "Avanza moto." << endl; }
};
int main()
{
Moto t;
Coche c;
t.avanza();
c.avanza();
return 0;
}
using namespace std;
class Vehiculo {
public:
void avanza() {}
};
class Coche : public Vehiculo {
public:
void avanza(void)
{ cout << "Avanza coche." << endl; }
};
class Moto: public Vehiculo {
public:
void avanza(void)
{ cout << "Avanza moto." << endl; }
};
int main()
{
Moto t;
Coche c;
t.avanza();
c.avanza();
return 0;
}
HERENCIA MÚLTIPLE
La herencia múltiple es el mecanismo que permite al programador
hacer clases derivadas a partir, no de una sola clase base, sino de varias.
Para entender esto mejor, pongamos un ejemplo: Cuando ves a quien te atiende en
una tienda, como persona que es, podrás suponer que puede hablar, comer, andar,
pero, por otro lado, como empleado que es, también podrás suponer que tiene un
jefe, que puede cobrarte dinero por la compra, que puede devolverte el cambio.
La herencia múltiple presenta el conocido problema del diamante. Esté problema
surge cuando dos clases heredan de otra tercera y, además una cuarta clase
tiene cómo padre a las dos últimas. La primera clase padre es llamada A y las
clases B y C heredan de ella, a su vez la clase D tiene cómo padres a B y C. En
esta situación, si una instancia de la clase D llama a un método de la clase A,
¿lo heredará desde la clase B o desde la clase C? Cada lenguaje de programación
utiliza un algoritmo para tomar esta decisión
EJEMPLO:
#include <math.h>
#include <stdio.h>
class Circulo {
float radio;
public:
Circulo(float r) { radio = r; }
float area() { return M_PI*radio*radio; }
};
class Mesa {
float altura;
public:
Mesa(float a) { altura = a; }
float alto() { return altura; }
};
class MesaRedonda : public Mesa, public Circulo {
int color;
public:
MesaRedonda(float r, float a, int c);
int Color() { return color; }
};
MesaRedonda::MesaRedonda(float r, float a, int c) :
Circulo(r), Mesa(a)
{
color = c;
}
void main()
{
MesaRedonda mesa(15.0, 3.0, 5);
printf("\nLas propiedades de la mesa son:");
printf("\nAltura = %0.2f", mesa.alto());
printf("\nArea = %0.2f", mesa.area());
printf("\nColor = %d", mesa.Color());
}
NETGRAFIA:
http://www.itlalaguna.edu.mx/academico/carreras/sistemas/programacion2/CPP9C.pdf
lunes, 29 de enero de 2018
EJERCICIO EN CLASE
EJERCICIO DE COCHE CONSTRUCTORES
Realizar un programa con constructores que imprima los datos de un coche
#include <conio.h>
#include <iostream>
using namespace std;
class coche{
public:
string matricula;
string marca;
int modelo;
int numerop;
public:
coche(string matricula2, string marca2, int modelo2, int numero2){
matricula=matricula2;
marca=marca2;
modelo=modelo2;
numerop=numero2;
}
void velocidad(){
}
void velocidadMaxima(){
}
void aceleracion(){
}
void imprimir (){
cout<<matricula<<endl <<marca<<endl <<modelo<<endl <<numerop<<endl;
}
};
main (){
coche b1("BTH-7831","NISSAN",205,9);
b1.imprimir();
return 0;
}
Realizar un programa con constructores que imprima los datos de un coche
#include <conio.h>
#include <iostream>
using namespace std;
class coche{
public:
string matricula;
string marca;
int modelo;
int numerop;
public:
coche(string matricula2, string marca2, int modelo2, int numero2){
matricula=matricula2;
marca=marca2;
modelo=modelo2;
numerop=numero2;
}
void velocidad(){
}
void velocidadMaxima(){
}
void aceleracion(){
}
void imprimir (){
cout<<matricula<<endl <<marca<<endl <<modelo<<endl <<numerop<<endl;
}
};
main (){
coche b1("BTH-7831","NISSAN",205,9);
b1.imprimir();
return 0;
}
CLASE 6: EJERCICIO
EJERCICIO: DATOS PERSONALES
Realice una clase llamada datos personales que tenga 3 datos nombre, edad, estado civil.
Realice un programa que contenga un constructor por defecto que inicialize a los valores por defecto xxx -1, y desconocido, dos métodos(constructor e imprimir) y 3 atributos.
#include <iostream>
#include <conio.h>
using namespace std;
class DatosPersonales{
private:
string nombre, estadocivil;
int edad;
public:
DatosPersonales(){
edad = -1;
nombre = "x x x";
estadocivil = "Desconocido";
}
void GetDatos()
{
cout << nombre << endl;
cout << edad << endl;
cout << estadocivil;
}
};
main()
{
DatosPersonales p1;
p1.GetDatos();
getch();
}
Realice una clase llamada datos personales que tenga 3 datos nombre, edad, estado civil.
Realice un programa que contenga un constructor por defecto que inicialize a los valores por defecto xxx -1, y desconocido, dos métodos(constructor e imprimir) y 3 atributos.
#include <iostream>
#include <conio.h>
using namespace std;
class DatosPersonales{
private:
string nombre, estadocivil;
int edad;
public:
DatosPersonales(){
edad = -1;
nombre = "x x x";
estadocivil = "Desconocido";
}
void GetDatos()
{
cout << nombre << endl;
cout << edad << endl;
cout << estadocivil;
}
};
main()
{
DatosPersonales p1;
p1.GetDatos();
getch();
}
CLASE 5: CONSTRUCTORES
Objetivo: Investigar
sobre la sintaxis, para que sirve, que sea especifico y clara y con un ejemplo
de constructores que nos puede hacer mejorar los conocimientos y ampliar
nuestra mente y poder programar con facilidad.
Sintaxis
La sintaxis de un lenguaje
de programación es el conjunto de reglas que debemos seguir para que el
compilador sea capaz de reconocer nuestro programa como un programa C válido, la
sintaxis se entiende como el grupo de normas que marcan las secuencias
correctas de los elementos propios de un lenguaje de programación.
PARA QUE SIRVE
La Sintaxis sirve para
hablar y escribir correctamente. Aquellas personas que son capaces de dominar
los principios básicos de la Sintaxis, son aquellas que tenderán a expresarse y
a redactar con mayor corrección y propiedad.
Explicación de cómo funciona la sintaxis
Para que el compilador
reconozca nuestro programa debemos escribir al menos todas las palabras y
signos que no están en letra cursiva. Las partes en cursiva se reconocen usando
otras reglas sintácticas. Estas reglas definen o dicen como debe ser una lista
de sentencias. Una característica de la sintaxis del C es que los espacios en
blanco y retornos de carro que aparecen en las reglas sintácticas son
opcionales. printf() es lo que se
denomina una función estándar de C, es decir, una función que está incluida con
el compilador. Para poder usarla dentro de un programa hay que decir en el
mismo como es su forma: eso se hace incluyendo la línea #include
<stdio.h> al principio. Para poder trabajar o llamar a una función
estándar hay que conocer que necesita y qué hace. De la función printf hay que
saber:
Su nombre
Cada vez que se coloca
printf en un programa le estamos diciendo al compilador de C que queremos usar
esta función. Lo que se quiere
imprimir, que irá entre los paréntesis. En
general, la expresión (números o texto) que va entre los paréntesis de una
función se llaman parámetros de la función.
CONSTRUCTORES
Es la función que lleva el
mismo nombre que la clase y que es llamada cada vez que un objeto de la clase
es creado
* Tienen el mismo nombre que
la clase a la que pertenecen.
* No tienen tipo de retorno, y por lo
tanto no retornan ningún valor.
* No pueden ser heredados.
EJEMPLO DE CONSTRUCTOR
NETGRAFIA:
http://codigomaldito.blogspot.com/2005/11/inicializacin-con-constructores.html
CLASE 4: EL ENCAPSULAMIENTO
OBJETIVO: Investigar sobre el tema de que es el
encapsulamiento en c++ con un ejemplo claro que ayude a mejorar nuestros
conocimientos para poder entender mejor a una función clase.
El encapsulamiento
Es el proceso
de almacenar en una misma sección los elementos de una abstracción que
constituyen su estructura y su comportamiento; sirve para separar el interfaz
contractual de una abstracción y su implantación.
Para que la
abstracción funcione como debe, la implementación debe estar encapsulada, nunca está de más recordar que cada clase
debe tener dos partes, una interfaz y una implementación, tranquilo no te
asustes si no sabes que es una clase, ya llegaremos a ese tema, de momento
manténgase concentrado en la encapsulación.
Existen tres niveles de
acceso para el encapsulamiento, los cuales son:
Público
(Public): Todos pueden acceder a los datos o métodos de una clase que se
definen con este nivel, este es el nivel más bajo, esto es lo que tú quieres
que la parte externa vea.
Protegido
(Protected): Podemos decir que estás no son de acceso público, solamente son
accesibles dentro de su clase y por subclases.
Privado
(Private): En este nivel se puede declarar miembros accesibles sólo para la
propia clase.
EJEMPLO :
NETGRAFIA:
https://styde.net/encapsulamiento-en-la-programacion-orientada-a-objetos/
jueves, 4 de enero de 2018
EJERCICIO 2
EJERCICIO CLASE
Realizar una clase llamada vehiculo que contenga los atributos(nombre,velocidad en km/h,cantidad de pasajeros).
Debe contener los siguientes metodos (acelarar,frenar)en acelarar se debe realizar un contador del 1 al 1000 en frenar,un mensaje que diga frenar
Crear o instaciar 2 objetos uno moto(que acelere) y el otro avion(que frene)
Deber: realizar un metodo llamado datos, que solicite los datos del objeto,en el metodo acelerar o frenar, para Acelarar se pulsa 1 , frenar pulsar 0 y para salir presionar cualquier tecla; el programa debe pedir los datos si quiere perdir avion o moto.
#include <conio.h>
#include <iostream>
int i=1,x;
using namespace std;
class vehiculo{
public:
char nombre;
int velocidad;
int cantiP;
void datos(){
cout<<"Escoja vehiculo 1 moto o 2 avion\n";
cin>>nombre;
cout<<"la velocidad en km/h\n";
cin>>velocidad;
cout<<"Ingrese la cantidad de pasajeros\n";
cin>>cantiP;
}
void acelerar(){
cout<<"Para acelerar presione 1\n\n";
cin>>x;
if(x==1){
for(i=1;i<=1000;i++){
cout<<i;
cout<<"\n";
}
}
}
void frenar(){
cout<<"Desea salir presione 0\n\n";
cin>>x;
if(x==0){
cout<<"salir\n";
}
}
};
main(){
vehiculo Moto;
vehiculo Avion;
Moto.datos();
Moto.acelerar();
Avion.frenar();
getch();
}
Realizar una clase llamada vehiculo que contenga los atributos(nombre,velocidad en km/h,cantidad de pasajeros).
Debe contener los siguientes metodos (acelarar,frenar)en acelarar se debe realizar un contador del 1 al 1000 en frenar,un mensaje que diga frenar
Crear o instaciar 2 objetos uno moto(que acelere) y el otro avion(que frene)
Deber: realizar un metodo llamado datos, que solicite los datos del objeto,en el metodo acelerar o frenar, para Acelarar se pulsa 1 , frenar pulsar 0 y para salir presionar cualquier tecla; el programa debe pedir los datos si quiere perdir avion o moto.
#include <conio.h>
#include <iostream>
int i=1,x;
using namespace std;
class vehiculo{
public:
char nombre;
int velocidad;
int cantiP;
void datos(){
cout<<"Escoja vehiculo 1 moto o 2 avion\n";
cin>>nombre;
cout<<"la velocidad en km/h\n";
cin>>velocidad;
cout<<"Ingrese la cantidad de pasajeros\n";
cin>>cantiP;
}
void acelerar(){
cout<<"Para acelerar presione 1\n\n";
cin>>x;
if(x==1){
for(i=1;i<=1000;i++){
cout<<i;
cout<<"\n";
}
}
}
void frenar(){
cout<<"Desea salir presione 0\n\n";
cin>>x;
if(x==0){
cout<<"salir\n";
}
}
};
main(){
vehiculo Moto;
vehiculo Avion;
Moto.datos();
Moto.acelerar();
Avion.frenar();
getch();
}
miércoles, 3 de enero de 2018
EJERCICIO 1
EJERCICIO CLASE
Realizar un programa que al ingresar un numero del 1 al 3 salga el animal que eligió ya se perro,gato y vaca con el sonido que produce cada uno de ellos con la clase llamada "Mamífero".
#include <stdio.h>
#include <conio.h>
#include <iostream>
using namespace std;
class Mamifero{
public:
int a;
char nombreanimal [10];
char nanimal [10];
public:
void animal (){
}
};
main ()
{
Mamifero sonidoanimal;
cout <<"Ingrese un numero del 1 al 3:";
cin >>sonidoanimal.a;if (sonidoanimal.a==1)
{
cout <<" Es perro y el sonido es guau";
}
if (sonidoanimal.a==2)
{
cout <<"Es gato y el sonido es miau";
}
if (sonidoanimal.a==3)
{
cout <<"Es vaca y el sonido es muuu";
}
sonidoanimal.animal();
getch();
}
lunes, 18 de diciembre de 2017
CLASE 3
DEFINICIONES QUE SE UTILIZAN
Clase:
Es una construcción de datos que permite crear tipos personalizados propios
mediante la agrupación de variables de otros tipos, métodos y eventos.
Atributo: Son las características individuales del objeto, elemento o archivo y esto
permite diferenciarlas, se guardan en variables denominadas de instancia
Método: Conjunto
de instrucciones a las que se les asocia un nombre de modo que si se desea
ejecutarlas, sólo basta o referenciarlas a través de dicho nombre en vez de
tener que escribirlas.
Abstracción:
la abstracción forma parte de los elementos fundamentales en el modelo de
objetos que logran definir límites conceptuales respecto a quien está haciendo
dicha abstracción del objeto.
Instancia:
Es una instancia de una clase es decir una instancia es un miembro de una clase
que tiene atributos en lugar de variables.
Public:
Puede obtener acceso al tipo o miembro cualquier otro código del mismo
ensamblado o de otro ensamblado que haga referencia a éste.
Private:
Solamente el código de la misma clase o estructura puede acceder al tipo o
miembro.
Encapsulamiento: Es
el proceso de almacenar en una misma sección los elementos de una abstracción
que constituyen su estructura y su comportamiento; sirve para separar el
interfaz contractual de una abstracción y su implantación. Tiene 3 niveles de
acceso y son: Public, protected, private.
Polimorfismo: En programación orientada a objetos se
denomina polimorfismo a la capacidad que tienen los objetos de una clase de
responder al mismo mensaje o evento en función de los parámetros utilizados
durante su invocación.
Herencia: La herencia se realiza atreves de una derivación, lo
que significa que una clase se declara utilizando una clase base de la cual
hereda los datos y el comportamiento con ello se extiende su funcionalidad.
CLASE 2
PROGRAMACIÓN ORIENTADA A OBJETOS
Es un paradigma de
programación que viene a innovar la forma de obtener resultados. Los objetos
manipulan los datos de entrada para la obtención de datos de salida
específicos, donde cada objeto ofrece una funcionalidad especial.
Muchos de los objetos
pre-diseñados de los lenguajes de programación actuales permiten la agrupación
en bibliotecas o librerías, sin embargo, muchos de estos lenguajes permiten al
usuario la creación de sus propias bibliotecas.
BLOQUE 3
CLASE 1
TRABAJO EN GRUPO
LA FUNCIÓN ESTRUCTURA
bueno yo expuse sobre la función de una estructura, esta se define por lo que es un tipo de dato definido por el usuario que se debe realizar afuera de cualquier función como el main().
DECLARACIÓN
Struct : se declara con esta palabra reservada
<nombre de la estructura> : se le pone cualquier nombre de como quiera que se llame la estructura
{ :esta llave abre la estructura
<tipo de dato miembro> <nombre miembro 1> : se pone cualquier tipo de variable miembros como int, char, float, double, string etc.
} :con esta llave se cierra la estructura
main(){
} :aquí se indicó que la estructura debe
estar afuera del main en la parte de arriba, también aquí podríamos declarar
datos tipos estructura
lunes, 20 de noviembre de 2017
EJERCICIO DE FUNCION STRUCT
EJERCICIO
Realizar un programa con funcion struct alumno que ingrese su nombre su peso y edad y lo imprima
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
struct alumno{
char nombre[10];
float peso;
int edad;
}a;
main(){
char nombre[10];
int peso;
int edad;
struct alumno a;
printf("Ingrese su nombre:\n");
scanf("%s",&a.nombre);
printf("Ingrese su peso :\n");
scanf("%f",&a.peso);
printf("Ingrese su edad:\n");
scanf("%d",&a.edad);
printf("Su nombre es:%s\n",a.nombre);
printf("Su peso es:%f\n",a.peso);
printf("Su edad es:%d\n",a.edad);
getch();
return 0;
}
EJERCICIO STRUCT VECTOR
EJERCICIO CLASE
Realizar un programa en la que se utilice la funcion struct
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
struct vector {
double x;
double y;
};
struct vector sumar (struct vector v1, struct vector v2) {
struct vector vres;
vres.x = v1.x + v2.x;
vres.y = v1.y + v2.y;
return vres;
}
int main (){
struct vector va;
struct vector vb;
struct vector vc;
va.x=0.5;
va.y=1;
vb.x=1;
vb.y=0.5;
vc = sumar (va,vb);
printf ("res: \n%.2f,\n%.2f,\n%.2f", vc.x, vc.y);
getch ();
}
Realizar un programa en la que se utilice la funcion struct
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
struct vector {
double x;
double y;
};
struct vector sumar (struct vector v1, struct vector v2) {
struct vector vres;
vres.x = v1.x + v2.x;vres.y = v1.y + v2.y;
return vres;
}
int main (){
struct vector va;
struct vector vb;
struct vector vc;
va.x=0.5;
va.y=1;
vb.x=1;
vb.y=0.5;
vc = sumar (va,vb);
printf ("res: \n%.2f,\n%.2f,\n%.2f", vc.x, vc.y);
getch ();
}
ESTRUCTURAS
ESTRUCTURA
Tipos de datos definidos por el usuario
-Al momento de hacer un programa, el usuario puede definir sus propios tipos de datos
-Mayor claridad
-Aumenta el significado semítico del código
-Simplificar declaración de variables
Tipos de datos definidos por el usuario
Typedef
- Define un nuevo nombre para un tipo de dato
-El nombre original sigue siendo valido
typedef <tipo> <nuevo nombre >;
typedef int positivo;
Ejemplo
typedef int positivo;
typedef int negativo;
int main(){
positivo a,b;
negativo c,d;
a=1;
b=2;
c=-a;
d=-b;
printf("%d %d %d %d %d %d %d %d",a,b,c,d);
}
Estructuras
1. Una estructura puede verse como una colección de variables que se referencia bajo un nombre en común
2. Cada una de estas variables se denominan "miembros" de la estructura. Otras denominaciones son: Campo-Elemento -Atributo
Declaración de estructuras
La definición de una estructura se realiza fuera de cualquier función, generalmente en la parte superior del archivo
Para definir una estructura requerimos:
-Un nombre
-Una lista de miembros
-nombre
-tipo
Declaración de estructuras
La declaración de una estructura no crea variables
Solo se define el nombre y sus miembros
Debe esta definida para poder ser utilizada(Posición en el código)
Declaración de estructuras
Struct mi_estructura{
int miembro 1; char miembro 2;
double miembro 3;
miércoles, 15 de noviembre de 2017
LA PILA Y COLA
¿QUE ES UNA PILA?
struct nodo {
int dato;
struct nodo
*siguiente;
};
DECLARACIONES DE TIPOS PARA MANEJAR PILA EN LENGUAJE C
tipos que definiremos normalmente para manejar pilas
serán casi los mismos que para manejar listas, tan sólo cambiaremos algunos
nombres:
typedef struct _nodo {
int dato;
struct _nodo
*siguiente;
} tipoNodo;
typedef tipoNodo *pNodo;
typedef tipoNodo *Pila;
¿QUE ES UNA COLA?
Una cola es una
estructura de datos, caracterizada por ser una secuencia de elementos en la que
la operación de inserción push se realiza por un extremo y la operación de
extracción pop por el otro. También se le llama estructura FIFO (del inglés
First In First Out), debido a que el primer elemento en entrar será también el
primero en salir.
Las colas se utilizan en sistemas informáticos, transportes y
operaciones de investigación (entre otros), dónde los objetos, personas o
eventos son tomados como datos que se almacenan y se guardan mediante colas
para su posterior procesamiento. Este tipo de estructura de datos abstracta se
implementa en lenguajes orientados a objetos mediante clases, en forma de
listas enlazadas.
struct nodo {
int dato;
struct nodo *siguiente;
};
typedef struct _nodo {
int dato;
struct _nodo *siguiente;
} tipoNodo;
typedef tipoNodo *pNodo;
typedef tipoNodo *Cola;
SEMEJANZAS Y DIFERENCIAS
Pila: que la pila es el ultimo que entra y es el primero que sale y las pilas son el dato que pueden entrar por cualquier lado.
Cola: Que es el primero que entra y tambien es el primero en salir y entra por un lado y sale por el mismo lado que este ha ingresado.
EJERCICIO
jueves, 9 de noviembre de 2017
EJERCICIO EN CLASE
EJERCICIO EN CLASE
Realizar un programa que cuente los caracteres ingresados y los imprime
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
//globales
main()
{
//locales
char palabra[10];
int n=0;
char *ptrPal;//declaracion de un puntero
printf("Ingrese palabra\n");
scanf("%s",&palabra);
n=strlen(palabra);//funcion que cuenta cuantas letras
printf("%d\n",n);
for(int i=0;i<n;i++)
{
ptrPal=&palabra[i];//asignacion
if(*ptrPal>='0'&&*ptrPal<='9')
{
printf("\nEs Numero\n");
printf("%c",*ptrPal);
printf("\n%c",*ptrPal);
}
//*ptrPal=&palabra
getch();
}
jueves, 26 de octubre de 2017
EJERCICIO 4
EJERCICIO 4
#include <stdio.h>
#include <conio.h>
main()
{
int j;
char nombre[10]={1,2,3,4,5,6,7,8,9,10};
char *ptrnombre = &nombre[10];
printf("Ingrese su nombre\n");
scanf("%s",&nombre);
for(j=0;j<5;j++)
{
printf("nombre:[%d]:%c\n",j,*ptrnombre);
printf("direccion:%p\n",ptrnombre);
ptrnombre++;
}
getch();
}
Dirección de memoria de las letras de mi nombre(Punteros)
#include <stdio.h>
#include <conio.h>
main()
{
int j;
char nombre[10]={1,2,3,4,5,6,7,8,9,10};
char *ptrnombre = &nombre[10];
printf("Ingrese su nombre\n");
scanf("%s",&nombre);
for(j=0;j<5;j++)
{
printf("nombre:[%d]:%c\n",j,*ptrnombre);
printf("direccion:%p\n",ptrnombre);
ptrnombre++;
}
getch();
}
EJERCICIO 3
EJERCICIO 3
#include <stdio.h>
#include <conio.h>
main () {
char l;
char *ptrl;
printf ("Ingrese un caracter:\n");
scanf("%c",&l);
if ((l>=65 && l<=90) || (l>=97 && l<=122)){
printf ("Es una letra.\n");
} else {
printf ("Es un numero.");
}
getch();
}
Realizar un programa que compruebe si un carácter es un
numero o una letra
#include <stdio.h>
#include <conio.h>
main () {
char l;
char *ptrl;
printf ("Ingrese un caracter:\n");
scanf("%c",&l);
if ((l>=65 && l<=90) || (l>=97 && l<=122)){
printf ("Es una letra.\n");
} else {
printf ("Es un numero.");
}
getch();
}
Suscribirse a:
Entradas (Atom)












