|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Temas - LenguajeC
Páginas: [1]
1
« en: Viernes 24 de Junio de 2011, 20:45 »
Hola a todos. Alguien me podría poner un programita con clases abstractas, x más que leo el manual con el que estoy estudiando no logro entender del todo la utilidad y no encuentro en la web otro ejemplo que no sea con figuras y no me cae la ficha.- Saludos.- Daniel
2
« en: Sábado 4 de Junio de 2011, 23:06 »
Hola a todos. Créanme que agoté todas la pruebas pero no logro separar la cadena encontrado en 5 partes tomando como referencia la coma, el caso es que recibo una lista de precios en un archivo .TXT y necesito mostrar el resultado de una determinada búsqueda, el código es mucho más extenso pero lo simplifique para que se entienda mejor(la búsqueda me funciona correctamente).- using System; using System.Collections.Generic; public class MyClass { public static void Main() { string encontrado = "07793065000056,0000468,Aceite COSTA del SOL Girasol pvc x1.5Lt.,12x1.5 , 4.899, 0.000"; string mostrar = ""; int a = 0; for (byte b = 0; b < 5; b++) { if (b == 1) { a = 15;} if (b == 2) { a = 24;} if (b == 3) { a = 64;} if (b == 4) { a = 75;} mostrar = encontrado.Substring(a,encontrado.IndexOf(',')); Console.WriteLine("" + mostrar); } Console.ReadKey(); } }
Parte de la lista de precios en archivo .TXT 05000000000036,0000003,Vacios de Cerveza ,x1u , 799.000, 0.000 05000000000159,0000015,Jabón TOCADOR Varios ,X1 , 0.560, 0.000 05000000000562,0000056,Jabon Polvo Suelto Miniespuma x 8kg ,01x8kg , 12.690, 0.000 05000000000579,0000057,PROMO COCA COLA ZERO X 1LT ,x1 , 12.690, 0.000 05000000000616,0000061,Jabón en Polvo SUELTOS ,01x01u , 2.500, 0.000 05000000000647,0000064,Pañales SUELTOS ,01x10u , 2.000, 0.000 05000000000777,0000077,Jugos Sobres Sueltos ,x01u , 0.510, 0.000 05000000000807,0000080,Rollo Cocina Sueltos ,24x01u , 0.495, 0.000 05000000000845,0000084,Espirales Sueltos (OCASION) ,01x04u , 0.590, 0.000 05000100001032,0000103,Azúcar ,10x1Kg , 4.390, 0.000 07791716000028,0000103,Azúcar ,10x1Kg , 4.390, 0.000 07792241000026,0000103,Azúcar ,10x1Kg , 4.390, 0.000 07792241000040,0000103,Azúcar ,10x1Kg , 4.390, 0.000 07796537261245,0000103,Azúcar ,10x1Kg , 4.390, 0.000 07797690000016,0000103,Azúcar ,10x1Kg , 4.390, 0.000 07798019380017,0000103,Azúcar ,10x1Kg , 4.390, 0.000 07798049780023,0000103,Azúcar ,10x1Kg , 4.390, 0.000 07798049780047,0000103,Azúcar ,10x1Kg , 4.390, 0.000 17791426000018,0000103,Azúcar ,10x1Kg , 4.390, 0.000 07790220001705,0000106,Azúcar DUL-C ,10x01Kg , 3.090, 0.000 07791100000283,0000107,Azúcar CHANGO PREMIUM x 1Kg ,10x1Kg , 4.399, 0.000 07791100004441,0000107,Azúcar CHANGO PREMIUM x 1Kg ,10x1Kg , 4.399, 0.000 05000000001095,0000109,Azúcar FRONTERITA Paquete x1Kg ,10x01Kg , 4.899, 0.000 07790220000531,0000109,Azúcar FRONTERITA Paquete x1Kg ,10x01Kg , 4.899, 0.000 07791100000481,0000110,Azúcar CHANGO paquete x1Kg ,10x01Kg , 4.399, 0.000 07791100004465,0000110,Azúcar CHANGO paquete x1Kg ,10x01Kg , 4.399, 0.000 17791100000389,0000110,Azúcar CHANGO paquete x1Kg ,10x01Kg , 4.399, 0.000 05000000001248,0000124,Sidra de Ocasion Real-ET.NEGRA ,x1 , 1.910, 0.000 05000000002061,0000206,Edulcorante HILERET "1A10" x50u. ,12x50u , 3.125, 0.000 07794940000109,0000206,Edulcorante HILERET "1A10" x50u. ,12x50u , 3.125, 0.000 05000000002139,0000213,Azúcar HILERET Light ,06x500gr , 5.769, 0.000 07794940000536,0000213,Azúcar HILERET Light ,06x500gr , 5.769, 0.000 07794940000567,0000219,Edulcorante HILERET 1A10 Sobres 500u ,01x500u , 14.769, 0.000 05000000002726,0000272,Dentifrico Suelto x 90g ,01x90g , 1.900, 0.000 05000000002733,0000273,Dentifrico Suelto x 140g ,01x140g , 2.850, 0.000 05000000002740,0000274,Dentifrico Suelto x 180g ,01x180g , 3.500, 0.000 05000000002757,0000275,Papel Higienico Suelto x48u ,48x1 , 0.300, 0.000 05000000002856,0000285,Jugos TANG Suelto x 500u ,01x500u , 0.570, 0.000 05000000002863,0000286,Jugo CLIGHT Suelto x 500u ,01x500u , 0.630, 0.000 05000000002900,0000290,Jugos TANG Suelto x 50u ,01x50u , 0.600, 0.000 05000000002917,0000291,Jugos CLIGHT Suelto x 50u ,01x50u , 0.650, 0.000 05000000003068,0000306,Azúcar Impalpable JERACO x400gr. ,10x400 , 5.065, 0.000 07797109000026,0000306,Azúcar Impalpable JERACO x400gr. ,10x400 , 5.065, 0.000 05000000003075,0000307,Azúcar Impalpable JERACO x200gr. ,24x200 , 2.535, 0.000 07797109000019,0000307,Azúcar Impalpable JERACO x200gr. ,24x200 , 2.535, 0.000 07792540081054,0000317,Azúcar LEDESMA REAL - ANCASTE ,10x01Kg , 4.399, 0.000 07792540111010,0000317,Azúcar LEDESMA REAL - ANCASTE ,10x01Kg , 4.399, 0.000 07792540111027,0000317,Azúcar LEDESMA REAL - ANCASTE ,10x01Kg , 4.399, 0.000 05000000003662,0000366,Aceite COSTA DEL SOL Girasol Bidon pvc ,04x5Lt , 17.710, 0.000 07793065000070,0000366,Aceite COSTA DEL SOL Girasol Bidon pvc ,04x5Lt , 17.710, 0.000 07790070012050,0000391,Aceite COCINERO Girasol pet x900cc ,15x900cc , 3.200, 0.000
Espero puedan ayudarme, tengo el marote a la miseria.- Saludos. Daniel
3
« en: Jueves 26 de Mayo de 2011, 21:54 »
Hola a todos. viewtopic.php?f=50&t=45897No voy a repetir el código que con tanto esmero me enseño a construir el profe(x aquellos de mostrar algo de avance), lo que me trae en este caso es que quiero guardar los datos en un archivo .TXT pero no se x donde empezar, seguramente buscando en la Web y con mucho tipear lograría algo pero nunca va a ser tan eficiente como el que me pueden enseñar Uds. , si suena a egoísmo me lo harán saber.- Espero vuestra ayuda. Saludos. Daniel
4
« en: Sábado 21 de Mayo de 2011, 21:49 »
Hola a todos. Espero que me tengan mucha paciencia y comprencíon ya que estoy estudiando con un manual y no tengo otra consulta que los foros y tutoriales de la web( y tengo 59 años).- El programa que expongo a continuación me genera un el siguiente error.- 'Clientes.datos.vec' no es accesible debido a su nivel de protección
Seguramente estoy declarando mal la clase pero si le pongo public empeora.- using System; using System.Collections.Generic; class Clientes { class datos { private string [] vec; public datos() { } public string this[int indice] { set { vec[indice] = value; } get { return vec[indice]; } } } public static void detalle() { for(byte a = 1; a<50; a++) { Console.SetCursorPosition(a,00); Console.Write("="); Console.SetCursorPosition(a,02); Console.Write("="); } Console.SetCursorPosition(17,01); Console.Write(" Alta de Clientes "); Console.SetCursorPosition(01,04); Console.Write(" Nombre completo....:"); Console.SetCursorPosition(01,05); Console.Write(" Dirección..........:"); Console.SetCursorPosition(01,06); Console.Write(" Cód. postal........:"); Console.SetCursorPosition(01,07); Console.Write(" Ciudad.............:"); Console.SetCursorPosition(01,08); Console.Write(" Celular............:"); Console.SetCursorPosition(01,09); Console.Write(" Crédito............:"); Console.SetCursorPosition(01,10); Console.Write(" Plazo en días......:"); } public static void ingreso() { datos _datos = new datos (); byte ver = 04; string linea = ""; for(int cont = 0; cont<7; cont++) { do { Console.SetCursorPosition(22,ver); linea = Console.ReadLine(); }while((linea == null) || (linea.Length==0)); // _datos.vec[cont] = linea; ver++; } } public static void Main(string[] args) { Console.Title = " Alta de Clientes"; detalle(); ingreso(); Console.SetCursorPosition(01,12); Console.Write(" Pulse una tecla para finalizar..."); Console.ReadKey(); } }
Espero me puedan ayudar.- Saludos. Daniel
5
« en: Jueves 6 de Enero de 2011, 00:49 »
Hola a todos.
El programa es para controlar los vencimientos de mercaderías.- Tengo hecho la búsqueda y la cuadricula en sendos contenedores en el form principal, esto funciona de maravillas y es medianamente fácil de programar, pero a nivel diseño es un poco molesto y además me pregunto que pasaría si tengo que hacer un programa de gestión comercial completo, de ninguna manera podría poner todo en un solo form.- Entonces me surge la necesidad de hacer todo x separado y encontré el primer escollo, en el form con la cuadricula estoy mostrando los datos usando un cursor, antes de cerrar el form(cuadricula) hago un seek para mover el puntero de la tabla vencimientos(la original) al lugar donde se encuentra el registro seleccionado, si hago un browse todo ok. Pero al cerrar el form con la cuadricula y regresar al principal el puntero esta en el mismo lugar que al principio.- Me podrían decir como lo hacen Uds.
Desde ya muchas gracias x el tiempo que le dediquen.-
Saludos. Daniel
6
« en: Jueves 9 de Diciembre de 2010, 21:06 »
Hola a todos y perdón x preguntar algo que supongo debería ser simple pero hice muchas pruebas y no logro hacer un form a partir de una sub-clase.- Ya fui a Herramientas -> Opciones -> Controles -> Agregar etc,etc, me aparece en la barra de herramienta las clases, ¿pero como hago para arrastrar y soltar la clase form como lo haría con una clase botón?.-
Espero se entienda y desde ya muchas gracias x el tiempo que le dediquen.
Daniel
7
« en: Miércoles 1 de Diciembre de 2010, 21:03 »
Hola a todos Tengo que escribir en mi programa 4 veces la misma rutina, ¿me podrian decir si desde un .PRG se pueden acceder y modificar las propiedades de los objetos.? ................ SET DELETED OFF CALCULATE CNT(), SUM(IIF(DELETED(),1,0)) TO _cantidad, _borrados SET DELETED ON IF _cantidad <> 1 IF _cantidad = 0 ThisForm.SetAll( "Enabled", .F., "CommandButton") ThisForm.bAgregar.Enabled = .T. ThisForm.bSalir.Enabled = .T. GO TOP ELSE SEEK configura.gorecno ENDIF ELSE ThisForm.bBuscar.Enabled = .F. GO TOP ENDIF IF _borrados = 0 ThisForm.bRecupera.Enabled = .F. ENDIF ThisForm.LblAyuda.Visible = .F. ThisForm.LbAyuda3.Visible = .F. .............
Si dije algo descabellado perdón, si es factible ¿me podrían dar algún ejemplo?.- Saludos. Daniel
8
« en: Domingo 31 de Octubre de 2010, 14:17 »
Hola a todos. Soy nuevo en el foro y voy a presentarme, tengo 58 años y como comprenderán ya no voy a concurrir a la universidad, estoy estudiando C con un manual de deitel&deitel y muchaaaaas consulta a los foros.- El caso es que una amiga me pidió que le hiciera un programita para vencimientos de productos, tengo un cierto conocimiento en FoxPro para Windows pero nada en visual FoxPro que es donde lo voy a hacer.- La consulta: Tengo 4 Text Box en el formulario y tienen que estar desabilitados hasta hacer click en <Editar> o <Agregar> y luego de <Graba> <descarta>, hay una manera de hacer mediante programación que se deshabiliten/habiliten con 1 solo comando los 4 o tengo que poner uno x uno Enabled .F. y Enabled .T. ?.-
Espero ayuda.- Saludos. Daniel
9
« en: Viernes 4 de Junio de 2010, 18:58 »
Hola Para continuar con mi aprendizaje de C quiero hacerlo con Estructuras,punteros y manejo de archivos, consideran que haciendo una agenda puedo abarcar los 3 temas o alguien me puede sugerir hacer otro tipo de programa?.-
Espero ayuda. Saludos y gracias. Daniel
Nota:No recuerdo si lo expuse en este foro pero por si acaso debo aclarar que tengo 58 años y por mi trabajo y lo 90 k. que me separan de la casa de estudio mas cercana lo estoy haciendo con la ayuda de libros y de foros.-
10
« en: Sábado 15 de Mayo de 2010, 19:05 »
Hola a todos. Quiero hacer un cuestionario con 8 preguntas(1 para Si y 0 para el No), el caso es que los 8 resultados los quiero alojar en los 8 bits de un char, hice un avance que a continuación muestro.- #include <stdio.h> #include <stdlib.h> #include <conio.h> int main(int argc, char *argv[]) { int ing = 0; char respuesta = 0; printf("nt Ingresa 0 o 1.....: "); respuesta=respuesta|(ing<<0); printf("nt %c",(respuesta &(1))>>1); printf("nt Ingresa 0 o 1.....: "); respuesta=respuesta|(ing<<1); printf("nt %c",(respuesta &(2))>>1); return 0; }
Me podrían dar una mano diciendome que estoy haciendo mal?(no me da error de compilación pero no tengo claro si lo echo esta bien y si funciona).- Gracias y saludos. Daniel
11
« en: Lunes 10 de Mayo de 2010, 00:43 »
Hola a todos.- Como este es mi primer post voy a presentarme porque mi situación es un tanto particular.- Tengo 58 años y por mi trabajo y por distar 90 km. de la universidad mas cercana no tengo otra manera que leer,leer y consultar en los foros.- Bueno, a continuación les dejo mi primer problema para ver si me dan una mano con la solución y me dicen en que debo mejorar el programa.- #include <stdio.h> #include <stdlib.h> #include <windows.h> #include <conio.h> HANDLE consola; COORD posicion; void dlq(int hor, int ver); void ejemplos(); double separa(char ingreso[], double *resultado); double *opciones(double memoria, double resultado); int main(int argc, char *argv[]) { consola = GetStdHandle(STD_OUTPUT_HANDLE); ejemplos(); double resultado,memoria=0; char ingreso[50]; while (ingreso[0] != 's') { ejemplos(); dlq (20,4);printf(" Ingreso....: s - para finalizar"); dlq (18,51);printf("%5.3f",memoria ); dlq(20,18); if(ingreso[0] !='0') { separa(ingreso,&resultado); if(resultado !=0) { dlq(18,17); opciones(memoria,resultado); ingreso[0]=' '; } } else { dlq(24,5); printf("Ingreso incorrecto - por favor revise los ejemplos"); dlq(26,5); dlq(26,5); } } return 0; } void dlq(int hor, int ver) { posicion.X = ver;posicion.Y = hor;SetConsoleCursorPosition(consola, posicion); } double separa(char ingreso[], double *resultado) { char opUno[50], oper[50], opDos[50], priseg=65; int i=0, poper=0, pseg=0; for(i = 0; i < strlen(ingreso ); i ++) { if((ingreso[i] == 42 || ingreso[i] == 43 || ingreso[i] == 45 || ingreso[i] == 47)) { oper[poper]=ingreso[i]; oper[poper+1]= ' '; poper++; priseg=priseg+1; } else { if(priseg == 65) { opUno[i] = ingreso[i]; opUno[i+1] = ' '; } else { opDos[pseg] = ingreso[i]; opDos[pseg+1] = ' '; pseg++; } } } char op_1[50], op_2[50]; int lugar = 0; for(i=0;opUno[i]!=' ';i++) { if((opUno[i] > 47 && opUno[i] < 58) || (opUno[i] == 46)) { op_1[lugar] = opUno[i]; lugar++; op_1[lugar] = ' '; } } lugar = 0; for(i=0;opDos[i]!=' ';i++) { if((opDos[i] > 47 && opDos[i] < 58) || (opDos[i] == 46)) { op_2[lugar] = opDos[i]; lugar++; op_2[lugar] = ' '; } } { double op_uno=0,op_dos=0; if(oper[0] == '+') *resultado = op_uno + op_dos; if(oper[0] == '-') *resultado = op_uno - op_dos; if(oper[0] == '*') *resultado = op_uno * op_dos; if(oper[0] == '/') *resultado = op_uno / op_dos; } else { *resultado = 0; } return (*resultado); } void ejemplos() { dlq(2,4); printf(" ---------------------- Calculadora lineal ----------------------"); dlq (4,4);printf(" Ejemplos:"); dlq (6,13);printf(" Suma...........: 125.4+18"); dlq (8,13);printf(" Resta..........: 125-10.54"); dlq (10,13);printf(" MultiplicacixA2n.: 125.48*10.50"); dlq (12,13);printf(" DivicixA2n.......: 678.48/5.99"); dlq (14,13);printf(" No dejar espacios - x3C Enter x3E confirma"); dlq(16,4); printf(" ----------------------------------------------------------------"); dlq (18,4);printf(" Resultado..: Memoria....:");} double *opciones(double memoria,double resultado) { dlq(22,5); printf("----------------------------------------------------------------"); dlq(24,5); printf("Opciones de memoria"); dlq(26,5); dlq(28,5); dlq(30,5); printf("3 - Borra memoria y memoria +"); dlq(32,5); printf("4 - Borra memoria y memoria -"); dlq(34,5); printf("5 - Sin ingerencia en memoria"); int opc=0; while (opc <1 || opc > 5) { dlq(36,5); dlq(38,5); switch(opc) { case 1:memoria = memoria + resultado;break; case 2:memoria = memoria - resultado;break; case 3:memoria = resultado;break; case 4:memoria = - resultado;break; case 5:break; default:printf("Solo numeros del 1 al 5, apriete una tecla para continuar...");getch(); } } return &memoria; }
Un gran saludo.- Daniel Nota:Lenguaje C - Windows XP - DEV-C++.-
Páginas: [1]
|
|
|