Ayuden, denme una idea de como implementar un codigo que tenga archivos y que en el archivo me denote una cabecera Ethernet.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú#ifndef LISTASIMPLE_H
#define LISTASIMPLE_H
#include <iostream>
using namespace std;
template<class T>
class Nodo{
public:
Nodo(T dato, Nodo *s = nullptr){
this->dato = dato;
this->siguiente = s;
}
private:
T dato;
Nodo *siguiente;
template <class>
friend class ListaSimple;
};
template<class T>
class ListaSimple
{
public:
ListaSimple();
bool vacio();
void insertar(const T &dato);
void insertar_ultimo(const T &dato);
void borrar();
void borrar_final();
private:
Nodo<T> *raiz;
};
template<class T>
ListaSimple<T>::ListaSimple(){
raiz = nullptr;
}
template<class T>
bool ListaSimple<T>::vacio(){
return raiz == nullptr;
}
template<class T>
void ListaSimple<T>::insertar_ultimo(const T &dato){
Nodo<T> *nuevo = new Nodo<T>(dato);
if(vacio()){
raiz = nuevo;
}
else{
Nodo<T> *temp = raiz;
while (temp->siguiente != nullptr) {
temp = temp->siguiente;
}
temp->siguiente = nuevo;
}
}
template<class T>
void ListaSimple<T>::insertar(const T &dato){
Nodo<T> *nuevo = new Nodo<T>(dato);
if(vacio()){
raiz= nuevo;
}
else{
nuevo->siguiente = raiz;
raiz = nuevo;
}
}
template<class T>
void ListaSimple<T>::borrar(){
if(!vacio()){
Nodo<T> *temp = raiz;
raiz = raiz->siguiente;
delete temp;
}
else {
throw out_of_range("Imposible eliminar: lista vacia");
}
}
template<class T>
void ListaSimple<T>::borrar_final(){
if(!vacio()){
Nodo<T>*temp=raiz;
if(temp->siguiente==nullptr){
borrar();}
else{
// 2 o mas elementos.
while (temp->siguiente->siguiente != nullptr) {
temp = temp->siguiente;}
delete temp->siguiente;
temp->siguiente = nullptr;
}
}
else{
throw out_of_range("Imposible eliminar: lista vacia");
}
}
#endif // LISTASIMPLE_H
#ifndef TLISTA_H
#define TLISTA_H
using namespace std;
template <class T>
class Lista{
public:
Lista(void);
~Lista(void);
bool vacio();
bool lleno();
void insertar();
int cantidad();
void mostrar();
private:
T arreglo[3];
char contador;
};
template <class T>
Lista<T>::Lista(void){
contador = 0;
}
template <class T>
Lista<T>::~Lista(void){
delete []arreglo;
}
template<class T>
bool Lista<T>::vacio(){
return contador==0;
}
template<class T>
bool Lista<T>::lleno(){
return contador==3;
}
template<class T>
void Lista<T>::insertar(){
char item;
if(!lleno()){
cout<<"Ingrese el valor: ";
cin>>arreglo[item];
cout<<"Ingrese el valor: ";
cin>>item;
arreglo[contador]=item;}}
template<class T>
int Lista<T>::cantidad(){
return contador;
}
template<class T>
void Lista<T>::mostrar(){
for(int i=0;i>3;i++){
cout<<"Ola";
cout<<arreglo[i];
contador++;}
}
#endif // LISTA_H
#include <iostream>
#include "lista.h"
using namespace std;
void menu();
int main()
{
menu();
return 0;
}
void menu(){
Lista<char> List;
bool bandera=false;
do{
char tecla;
cout << "Menu principal" << endl;
cout << "-----------" << endl << endl;
cout << "\t1 .- Ingresar" << endl;
cout << "\t2 .- Mostrar" << endl;
cout << "\t3 .- Borrar" << endl;
cout << "\t4 .- Salir" << endl;
cout << "elige una opcion: ";
cin >> tecla;
switch(tecla)
{
case '1':
if(List.vacio()){
cout<<"Lista vacia"<<endl<<endl;}
cout<<"Cantidad: "<<List.cantidad()<<endl;
List.insertar();
break;
case '2':
List.mostrar();
break;
case '3':
break;
case '4':
bandera=true;
break;
}
}while(bandera!=true);
}
#ifndef LISTA_H
#define LISTA_H
template <typename E>
class Lista{
private:
void operator=(const Lista&){};
Lista(const Lista&){};
public:
Lista(void){};
virtual ~Lista(void){};
virtual void Vaciar(void)=0;
virtual void Insertar(const E&)=0;
virtual void PonAlFinal(const E&)=0;
virtual E eliminar(void)=0;
virtual void IrAlInicio(void)=0;
virtual void Anterior(void)=0;
virtual void Siguiente(void)=0;
virtual int Tamanio(void)const=0;
virtual int PosicionActual(void)const=0;
virtual void IrAPosicion(void)=0;
virtual const Lista &ObtenerElemento(void)const=0;
};
#endif // LISTA_H
#include "lista.h"
template <typename E>
class ListaEstatica: public Lista<E>{
private:
int TamanioMaximo;
int TamanioActual;
int PosActual;
E *Arreglo;
public:
ListaEstatica(int){};
~ListaEstatica(void){};
void Vaciar(void);
void Insertar(const E&);
void PonAlFinal(const E&);
E eliminar(void);
void IrAlInicio(void);
void Anterior(void);
void Siguiente(void);
int Tamanio(void)const;
int PosicionActual(void)const;
void IrAPosicion(void);
const E &ObtenerElemento(void)const;};
//Constructor
template <typename E>
ListaEstatica<E>::ListaEstatica(int Tamanio){
TamanioMaximo=Tamanio;
TamanioActual=PosActual=0;
Arreglo=new E[Tamanio];}
//Destructor
template <typename E>
ListaEstatica<E>::~ListaEstatica(void){
delete[]Arreglo;}
template<typename E>
void ListaEstatica<E>::Vaciar(void){
delete[]Arreglo;
TamanioActual=PosActual=0;
Arreglo=new E[TamanioMaximo];}
template<typename E>
void ListaEstatica<E>::Insertar(const E& A){
for(int i=TamanioMaximo;i>PosActual;i--){
Arreglo[i]=Arreglo[i-1];}
Arreglo[PosActual]=A;
TamanioMaximo++;}
template<typename E>
void ListaEstatica<E>::PonAlFinal(const E& A){
Arreglo[TamanioActual++]=A;}
template<typename E>
E ListaEstatica<E>::Eliminar(void){
E A=Arreglo[PosActual];
for(int i=PosActual;i<TamanioActual;i++){
Arreglo[i]=Arreglo[i+1];}
TamanioActual--;
return A;
}
template<typename E>
void ListaEstatica<E>::IrAlInicio(void){
for(int i=PosActual;i<TamanioActual;i--){
Arreglo[PosActual];}}
//clases/complejo.h
/*Interfaz de la clase complejo*/
#ifndef complejo_H
#define complejo_H
class complejo
private:
float real;
float imaginario;
public:
complejo(float real,float imaginario);
float obtenerReal(void);
float obtenerImaginario(void);
void suma(sumando1 complejo, sumando2 complejo);
void resta(minuendo complejo, sustraendo complejo);
void multiplicacion(multiplicando complejo, multiplicador complejo);
void division(dividendo complejo, divisor complejo);
#endif // complejo_H
//clases/complejo.cpp
/*
**Implementación de la clase complejo.*/
#include <iostream>
#include "complejo.h"
using std::cout;
using std::endl:
complejo::complejo(float real,float imaginario){
this->real=real;
this->imaginario=imaginario;}
float complejo::obtenerReal(void){
real=1;}
float complejo::obtenerImaginario(void){
imaginario=1;}
void complejo::suma(sum1 real, sum2 imaginario){
suma(sum1+sum2);}
void complejo::resta(minuendo real, sustraendo imaginario){
resta(real-imaginario);}
void complejo::multiplicacion(multiplicando real, multiplicador imaginario){
multiplicacion(real*imaginario);}
void complejo::division(dividendo real, divisor imaginario){
division(real/imaginario);}
int main(void){
complejo c;
c.suma();
c.resta();
c.multiplicacion();
c.division();
return 0;
}
#include <stdio.h>
struct Hora{
int hora;
int minuto;
int segundo;};
struct Hora inicializa(void);
void estableceHora(struct Hora *var, int hor, int min,int seg);
void imprimeMilitar(struct Hora *var);
void imprimeEstandar(struct Hora *var);
int main(void){
struct Hora h=inicializa();
imprimeMilitar(&h);
imprimeEstandar(&h);
estableceHora(&h,13,27,6);
imprimeEstandar(&h);
imprimeEstandar(&h);
estableceHora(&h,66,66,66);
imprimeMilitar(&h);
imprimeEstandar(&h);
return 0;}
struct Hora inicializa(void){
struct Hora horacero={0,0,0};
return horacero;}
void estableceHora(struct Hora *var, int hor,int min,int seg){
var->hora=(hor>=0&&hor<24)?hor:0;
var->hora=(min>=0&&min<60)?hor:0;
var->hora=(seg>=0&&seg<60)?hor:0;}
void imprimeMilitar(struct Hora *var){
printf("%s%i:%s%i\n",(*var).hora<10?"0":"",(*var).hora,(*var).minuto<10?"0":"",(*var).minuto);}
void imprimeEstandar(struct Hora *var){
printf("%i:%s%i:%s%i\n",((*var).hora==0||(*var).hora==12)?12:(*var).hora%12,(*var).minuto<10?"0":"",(*var).segundo<10?"0":"",(*var).segundo,(*var).hora<12?"AM":"PM");}
//Arreglo/error.cpp/
#include <iostream>
using std::cout;
using std::endl;
int main(void){
int i=0;
int arreglo[3]={3,3,3};
arreglo[i++]=1;
arreglo[i++]=2;
arreglo[++i]=4;
cout<<"arreglo[0]= "<<arreglo[0]<<endl;
cout<<"arreglo[1]= "<<arreglo[1]<<endl;
cout<<"arreglo[2]= "<<arreglo[2]<<endl;
cout<<"iterador i= "<<i<<endl;
return 0;
}
struct paciente{char nombre_p[20],app_p[10],apm_p[10],gen_p[15],ed_p[5],tel_p[15],tipos_p[10];}p[5];
gotoxy(35,3);printf("Captura del paciente %d.",i+1);fflush(stdin);
gotoxy(35,5);printf("Nombre: ");gets(p[i].nombre_p);fflush(stdin);
gotoxy(35,6);printf("apellido paterno: ");gets(p[i].app_p);fflush(stdin);
gotoxy(35,7);printf("apellido materno: ");gets(p[i].apm_p);fflush(stdin);
gotoxy(35,8);printf("Genero: ");gets(p[i].gen_p);fflush(stdin);
gotoxy(35,9);printf("Edad: ");gets(p[i].ed_p);fflush(stdin);
gotoxy(35,10);printf("Telefono: "); gets(p[i].tel_p);fflush(stdin);
gotoxy(35,11);printf("Tipo Sangre: ");gets(p[i].tipos_p);fflush(stdin);
gotoxy(38,13);printf("Captura terminada\n\n");
int j;
for (j=0; j<=i; j++){
gotoxy(40,2);printf("Mostrar Pacientes.");
gotoxy(42,4);printf("Paciente %d.\n",j+1);
gotoxy(38,6);printf("Nombre: %s",p[j].nombre_p);
gotoxy(38,7);printf("Apellido paterno: %s",p[j].app_p);
gotoxy(38,8);printf("Apellido materno: %s",p[j].apm_p);
gotoxy(38,9);printf("Genero: %s",p[j].gen_p);
gotoxy(38,10);printf("Edad: %s",p[j].ed_p);
gotoxy(38,11);printf("Telefono: %s",p[j].tel_p);
gotoxy(38,12);printf("Tipo de sangre: %s",p[j].tipos_p);
getch();
system("cls");
int j;
char n[20];
printf("Buscador de Pacientes.");
printf("\t\t\nDigite el Nombre: ");
scanf("%s",&n);
for(j=0; j<=i; j++){
if(strcmp(n,p[j].nombre_p)){
printf("\t\t\nPACIENTE ENCONTRADO.\n\n");
printf("\nNombre completo del paciente: %s %s %s\n",p[i].nombre_p,p[i].app_p, p[i].apm_p);
printf("Genero del paciente: %s\n",p[i].gen_p);
printf("Edad del paciente: %s\n",p[i].ed_p);
printf("Telefono del paciente %s\n",p[i].tel_p);
printf("Tipo de sangre del paciente: %s\n",p[i].tipos_p);
return 0;
}
else{
printf("No encontrado.");
}