|
Mostrar Temas
|
Páginas: 1 2 3 4 5 6 7 8 9 [10]
|
91
|
Programación / Programación C/C++ / asignacion dinamica de memoria
|
en: 1 Junio 2014, 03:38 am
|
hola a todos, he estado investigando acerca de la asignacion dinamica de memoria en c++, pero necesito encontrar la diferencia entre malloc, calloc, realloc puesto que los tres se usan para reservar bloques de memoria libre, agradecere la orientacion...
|
|
|
92
|
Programación / Programación C/C++ / saber el tamaño de un archivo en c
|
en: 28 Mayo 2014, 06:19 am
|
Un saludo a todos, necesito saber como obtener el tamaño de un fichero en C ¿O solo se puede en C++? /*estoy utilizando*/ FILE *fichero;// en c //se que en c++ es int tam; fstream fichero; fichero.seekg(0,ios::end); tam=fichero.tellg();//esto siempre que el fichero sea binario secuencial //o si quiero saber cuantas estructuras tengo escritas tam=fichero.tellg()/sizeof(estructura);
agradecimientos de antemano
|
|
|
93
|
Programación / Programación C/C++ / arreglo de doble buffer
|
en: 22 Mayo 2014, 04:15 am
|
Hola a todos, tengo que usar un arreglo con doble buffer para un analisis lexico, de modo que pueda retroceder, por medio de un monton de algoritmos que he leido he intentado declarar un arreglo de la siguiente manera aunque tengo error: const int halfsize 1024; const int size 2*halfsize; char buffer[size];
necesito una orientacion sobre como declarar un arreglo similar para hacer un escaner y que pueda empezar llenando por la parte baja (halfsize)
|
|
|
94
|
Programación / Programación C/C++ / modificacion de variables constantes
|
en: 20 Mayo 2014, 04:12 am
|
Un saludo a todos, solo tengo una pequeña duda, tengo un codigo de arboles B, pero necesito modificar el orden del arbol B, o sea cuantos subarboles puede tener pero en el codigo el orden es una constante para crear el arreglo, y me da error al intentar modificar porque esta declarada como una constante, en fin lo que necesito es modificar esa variable de modo que el usuario defina el orden aqui la parte del codigo #include <stdio> #include <stdlib> #include <conio> #define MAX_LONG 90 #define ARRIBA 72 #define ABAJO 80 #define ENTER 13 const int M=5;//aqui necesito modificar durante la ejecucion del programa // pero me da error si solo la declaro como una variable no // constante por lo del arreglo de claves que esta en la //estructura del nodo struct nodo { int n; // n < M n? de claves en el nodo siempre ser? menor que el orden del B tree int arreglo_claves[M-1]; //arreglo de claves struct nodo *p[M]; // (n+1 punteros que van a ser usados }*root=NULL;//la raiz lo inicializamos en NULL
|
|
|
95
|
Programación / Programación C/C++ / diferencia entre variables char y string en c++
|
en: 12 Mayo 2014, 03:48 am
|
Un saludo a todos, estoy un poco confundido entre el uso de una variable tipo string y una variable tipo char, desde que empece en c++ cualquier cadena la he guardado en un arreglo tipo char, pero ultimamente estuve estudiando el uso del namespace y vi que puedo usar con esto una variable tipo string donde tambien guardo una cadena siempre con cin como que si fuera un entero y no con fgets que utilizo cuando es un arreglo tipo char lo que no se ahora cuando usar un string o un arreglo tipo char para guardar el nombre de una persona por ejemplo. Asimismo muchos ejemplos que he visto solo declaran using namespace std; y despues declaran string a; pero me da error les dejo un codigo aunque no se si estoy implementando de manera correcta el uso de namespace y de string y si corre #include <iostream> #include <cstring> #include <conio> namespace std{ string a; } using namespace std; int main() { cout << "Introduciendo palabra: "; cin>>a; // veo que me guarda hasta donde encuentre un espacio en blanco //a = "d 91"; cout << "Mostrando lo que tiene a: "<<a; getch(); return 0; }
|
|
|
96
|
Programación / Programación C/C++ / barra de progreso en c++
|
en: 27 Abril 2014, 03:18 am
|
hola a toda la comunidad, solo necesito implementar una barra de progreso en c++, por ejemplo tengo un archivo txt y lo necesito cargar a una determinada estructura; pero tengo que mostrar el avance de la carga, ya he buscado como hacer las barras, pero las que he hecho solo funcionan con un ciclo for o con la funcion sleep donde yo decido cuanto se tardara en llenar, lo que ya se como hacer es contar el tiempo que ha durado la carga del archivo, pero no se como contar el tiempo restante para la carga que creo ayudaria a llenar la barra agradecere las ideas.
|
|
|
97
|
Programación / Programación C/C++ / guardar nodos en txt
|
en: 17 Abril 2014, 19:21 pm
|
hola a todos, estoy haciendo mi proyecto final con programacion orientado a objetos pero no he encontrado algun tutorial de estructura de datos con archivos, pero he intentado ingeniarmelas, usando una cola dinamica para los pacientes que llegan a una clinica, he trabajado con archivos pero con estructuras no con clases aunque al parecer la diferencia es que las estructuras no tienen metodos, constructores y destructores y como son dinamicas aumenta la dificultad, se muy bien que en este codigo estoy alternando c y c++ pero lo que es archivos se me es mas facil en c. Entonces mi dificultad es como guardar una cola dinamica en txt y despues volver a cargarla, hice algunos procedimientos para guardar pero no se si esta bien aqui el codigo #include <iostream.h> #include <conio.h> #include <stdio.h> #include<string.h> class nodo { public: nodo(int num, char name[20], nodo *sig = NULL) { numero=num; strcpy(nombre,name); siguiente=sig; }//constructor private: int numero; char nombre[20]; nodo *siguiente; friend class cola; }; typedef nodo *pnodo; //definimos un tipo de dato personalizaodo. Tipo puntero de la clase NODO class cola { public: cola() : primero(NULL), ultimo(NULL) { } ~cola(); void encolar(int num, char name[]); int desencolar(); void Mostrar(); void Guardar(int cont); // private: pnodo primero, ultimo; }; cola paciente; cola::~cola() { while(primero) desencolar(); } void cola::encolar(int num, char name[]) { pnodo nuevo; nuevo = new nodo(num,name); if(ultimo) ultimo->siguiente = nuevo; ultimo = nuevo; if(!primero) primero = nuevo; } int cola::desencolar() { pnodo nodo; /* variable auxiliar para manipular nodo */ int v; /* variable auxiliar para retorno */ nodo = primero; if(!nodo) return 0; /* Si no hay nodos en la pila retornamos 0 */ primero = nodo->siguiente; //v = nodo->valor; delete nodo; if(!primero) ultimo = NULL; return 1; } /*Procedimiento Mostrar Cola*/ /*--------------------------------------------------------*/ void cola::Mostrar(){ // pnodo aux; // aux=primero; // while(aux!=NULL){ // cout<<"\n\nnumero de paciente "<<aux->numero; cout<<"\nNombre "<<aux->nombre; // aux=aux->siguiente; // } // } // /********************Guarda en txt*************************/ void cola::Guardar(int cont){ FILE *ptr=fopen("C:\\SaveStruct.txt","at+"); /*en esta parte no se si lo estoy hacien bien*/ fwrite(&paciente,sizeof(paciente),1,ptr); //intento guardar los nodos como una estructura normal fclose(ptr); cout<<"Operacion exitosa"; getch(); } void IngresoDatos(){ int no; char nombre[15]; clrscr(); cout<<"Ingrese no: ";cin>>no; cout<<"Ingrese nombre: ";fgets(nombre,15,stdin); if(nombre[strlen(nombre)-1]=='\n') nombre[strlen(nombre)-1]='\0'; paciente.encolar(no, nombre); getch(); } void CargarTxt(){ clrscr(); cout<<"en construccion"; getch(); } int main() { cola Cola1; cola Cola2; int contador=0; int num=0; int no; char nombre[15]; cola call; do{ clrscr(); cout<<"\n1. Ingresar datos \n"; cout<<"2. Mostrar cola\n"; cout<<"3. Desencolar\n" ; cout<<"4. Guardar en txt\n"; cout<<"5. Leer txt\n"; cout<<"6. Salir"; cout<<"\n Seleccione su opcion: "; cin>>num; switch(num){ case 1: cout<<"\nIngreso de datos \n"; IngresoDatos(); contador=contador+1; break; case 2: clrscr(); cout<<"Mostrar cola\n"; paciente.Mostrar(); // barajar(Cola1,Cola2); getch(); break; case 3: cout<<"desencolando"; paciente.desencolar(); getch(); break; case 4: cout<<"Guardando"; paciente.Guardar(contador); getch(); break; case 5: cout<<"cargando"; CargarTxt(); } }while(num!=6); }//encola y desencola correcta el problema guardar esa cola en txt y despues cargarla
|
|
|
98
|
Programación / Programación C/C++ / problemas con concatenar cadenas
|
en: 15 Abril 2014, 15:30 pm
|
hola a todos, tengo un programita que debe recibir la fecha de nacimiento con enteros y despues mostrarlo unido como una cadena, lo recibo y paso a cadena los enteros, lo unico que al copiar o concatenar a una sola cadena no me lo copia aqui el codigo: #include <string.h> #include <stdio.h> #include<stdlib.h> int main(void) { char destination[25]; char *blank = "-"; char dias[2]; char mess[2]; char age[4]; int dia, anho; int mes; printf("ingrese dia: ");scanf("%d",&dia); printf("ingrese mes; ");scanf("%d",&mes); printf("ingrese anho: ");scanf("%d",&anho); //int char base itoa(dia,dias,10); //paso entero a cadena itoa(mes,mess,10);//aqui no hay problema porque ya debugge itoa(anho,age,10); //aqui creo que esta el problema porque solo aparece el anho strcpy(destination, dias); //copiar a una sola variable strcat(destination, blank); strcat(destination, mess); //concatenando lo demas strcat(destination, blank); strcat(destination, age); printf("\nla cadena %s", destination); //mostrando la nueva cadena system("pause"); return 0; }
agradecere su orientacion,
|
|
|
99
|
Programación / Programación C/C++ / vaciar una variable
|
en: 14 Abril 2014, 15:14 pm
|
hola a todos, me tope con un poblemita en un codigo de c, necesito saber que tecla presione conforme el ascii de cada letra, pero lo hago dentro de un bucle y la captura la hago asi int num=getch(); printf("El codigo de la tecla es %d",num);
al presionar la primera vez funciona perfectamente pero al presionar otra tecla nuevamente me sale la primer tecla que presione, entonces lo que quiero saber como vaciar lo que tiene num para presionar otra tecla y capture el codigo, he probado con fflush(stdin); pero no hace nada
|
|
|
100
|
Programación / Programación C/C++ / validacion de cadenas en c++
|
en: 13 Abril 2014, 15:13 pm
|
hola a todos tengo que hacer mi proyecto final en estructura de datos pero tengo que validar entradas, en c++ se puede comprobando la cadena despues del enter, pero yo quiero hacerlo caracter por caracter casi lo logro, lo unico es que no puedo borrar un caracter presionando backspace, porque solo tengo comprendidas las teclas del abecedario y espacio y las envio a una funcion para que las guarde en un arreglo alguien me puede ayudar aqui esta el codigo #include<conio.h> #include<iostream.h> #include<stdio.h> #include<string.h> char bufletras[25]; int contletras=0; int num, lon; char emite(int numero){ bufletras[contletras]=numero; contletras+1; return *bufletras; } main(){ cout<<"Escriba su nombre: "; do{ num=getch(); if(num>='a' && num<='z') {cout<<emite(num);} else if(num>='A' && num<='Z') { cout<<emite(num);} else if(num==0x20)//space {cout<<emite(num);} //else if(num==0x8) //de la tecla backspace }while(num!=13); //enter }
|
|
|
|
|
|
|