Menú

Mostrar Mensajes

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ú

Temas - m@o_614

#136
Programación C/C++ / algoritmos divide y venceras
14 Septiembre 2013, 02:46 AM
Saludos

Estoy estudiando algunos metodos de ordenamiento como Merge-Sort, Quick Sort y el metodo de busqueda binaria, y me he fijado que todos estos algoritmos utilizan la tecnica de dividir vectores en subvectores e irlos ordenando pero me fije que antes  de dividir el vector en 2 hace una suma, la de la variable ini mas el tamanio del vector

ini=1,sup=n;
i= (ini+sup)/2;

y me pregunto si esto es necesario, no seria mas logico dividir el tamanio del vector sobre 2 sin necesidad de hacer la dichosa suma??? de que me sirve la variable ini??

sup=n;
i= (sup/2);

de antemano gracias

#137
Programación C/C++ / getc() y printf
12 Septiembre 2013, 22:11 PM
Saludos, tengo el siguiente codigo que me tiene que colocar el puntero en el caracter que se encuentre en la mitad de un texto, leerlo y despues imprimirlo, el codigo funciona correctamente, la duda que tengo es que a la hora de imprimir lo hago con un printf y cuando a ese printf le digo que tome el caracter de la mitad con getc() me imprime el caracter que le sigue al de la mitad, o sea uno mas, y no se por que se comporta asi esta funcion,

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main()
{
    int fin,mitad;
    char letra;
    FILE *fd;
    if((fd = fopen("F:\\archivo_fuente.txt","r"))!=NULL)
    {
        fseek(fd,-1,SEEK_END);
        fin = ftell(fd);
        printf("%d\n",fin);
        mitad = fin/2;
        printf("%d\n",mitad);
        fseek(fd,mitad,SEEK_SET);
        fread(&letra,sizeof(char),1,fd);
        printf("%c",getc(fd));
    }
    else
       printf("No se pudo abrir archivo");
    return 0;
}


y si al printf le pongo

fread(&letra,sizeof(char),1,fd);
        printf("%c",letra);

aqui si me imprime el caracter que se encuentra en la mitad y no el que le sigue. cual es la diferencia??

de antemano gracias
#138
Saludos tengo el siguiente codigo que me lee un archivo de texto y despues lo modifica, en todos los lugares donde se encuentre 1's los intercambia por 5's, la lectura del archivo lo hace bien porque ya verifique y si me ubica los unos del texto el problema es para poder cambiarlos a 5, y no se donde esta el error

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

/*
   Objetivo de la prueba: En una archivo de texto que contiene caracteres alfanuméricos,
   intercambiar el  '1' por el  ' 5' en donde quiera que ocurra esa incidencia en el documento.
   El archivo debe aparecer sin ningún 1, y en su lugar los cincos equivalentes.
*/

int main()
{
   FILE *fd;
   char letra;
   if((fd = fopen("F:\\archivo_practica11.txt","r+"))!=NULL)
   {
       while(!feof(fd))
       {
           fread(&letra,sizeof(char),1,fd);
           if(letra == '1')
           {
                letra = '5';
               fwrite(fd,sizeof(char),1,letra);
           }
       }
   }
   else
      printf("No se pudo abrir el archivo");
   return 0;
}


gracias
#139
Saludos

Tengo el siguiente codigo que lee el primer y último carácter de un archivo de texto y los muestra en pantalla.La prueba consiste en mostrar el primer y último carácter correctamente independientemente del tamaño del archivo.

El codigo ya pude verificar que funciona para textos pequenios como: "Hola mundo" o "Tres tristes tigres tragaban trigo en un trigal", en el caso del primero me aparece primer caracter :H, ultimo caracter: o, pero si se trata de un archivo de texto un poco grande no me imprime el ultimo caracter y no entiendo por que

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main()
{
   FILE *fd;
   int inicio,fin;
   if((fd = fopen("F:\\archivo1.txt","r"))!=NULL)
   {
       if((inicio = fseek(fd,0,SEEK_SET)) != 0)
          printf("No se pudo posicionar el cursor al inicio");
       else
          printf("El caracter que esta al inicio del archivo es: %c\n",fgetc(fd));
       if((fin = fseek(fd,-1,SEEK_END)) != 0)
          printf("No se pudo posicionar el cursor al final");
       else
          printf("El caracter que esta al final del archivo es: %c\n",fgetc(fd));
   }
   else
      printf("No se pudo abrir archivo");
   return 0;
}


el texto en cuestion tiene mas de 100 caracteres

de antemano gracias


#140
Programación C/C++ / FILE y funcion fwrite()
5 Septiembre 2013, 20:03 PM
Saludos

Tengo una duda, por que con la funcion fwrite() no puedo imprimir en pantalla?? Hay alguna alternativa para poder hacerlo?? es que cuando pongo fwrite(fo,sizeof(char),sizeof(buffer),1) me aparece que necesito un puntero a FILE en vez de 1

de antemano gracias
#141
Programación C/C++ / EOF y archivos
4 Septiembre 2013, 21:29 PM
Saludos tengo el siguiente programa que me hace una copia de los caracteres que se encuentran en un archivo, el problema es que me imprime basura y creo que tiene que ver con que le puse EOF en el while para cuando se encuentre el fin de linea

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main()
{
    FILE *fo,*fd;
    char buffer[50];
    fo = fopen("F:\\archivo1.txt","r");
    fd = fopen("F:\\archivo2.txt","w");

    if(fo == NULL || fd == NULL)
       printf("Problemas al abrir archivos");
    else
    {
        while(fread(buffer,sizeof(char),1,fo)!=EOF)
            fwrite(buffer,sizeof(char),1,fd);
    }
    return 0;
}


no se por que me imprime asi

de antemano gracias
#142
Programación C/C++ / Archivos
28 Agosto 2013, 21:16 PM
Saludos

Tengo que hacer un  programa que copie todos los caracteres de un archivo fuente a uno destino, ya he creado el archivo fuente (el que contiene los caracteres), y ya lo pude abrir, el problema es que no se muy bien como manejar archivos y como hacer que me recorra toda la linea de caracteres y copiarlos en otro archivo.

#include <stdio.h>
#include <stdlib.h>

int main()
{
    FILE *p;
    p = fopen("F:\\archivo.txt","r");
    if(p!=NULL)
       printf("Si se pudo abrir el archivo\n");
    else
    {
        printf("No se pudo abrir el archivo\n");
        exit(1);
    }
    return 0;
}


no les pido que me muestren el codigo, solo que me den una idea de como hacerlo

gracias
#143
saludos

tengo declarado un arreglo de punteros por ejemplo: char* a[N], y para ingresarle los datos tengo que asignarle memoria a cada uno de los punteros con malloc, una vez que ya hice eso tengo que enviar cada uno de los punteros a una funcion x, y es ahi donde tengo el problema que no se si tengo que enviar: funcion(a) o tambien tengo que enviarle la posicion o sea : *a[1],*a[2],*a[3]

gracias
#144
Dudas Generales / Invalid menu handle
25 Agosto 2013, 23:34 PM
Saludos

Estoy teniendo un problema a la hora de querer descargar una imagen con extension .JPG, me aparece un mensaje de error que dice invalid menu handle, y no tengo idea de por que

gracias
#145
Programación C/C++ / tamaño de un arreglo
23 Agosto 2013, 23:52 PM
Saludos tengo una duda de como calcular el tamanio de de un arreglo con el uso de alguna funcion tipo strlen, pero strlen tengo entendido que solo es para cadenas y no para un array de enteros, que es lo que estoy buscando.

gracias

#146
Programación C/C++ / verificar numeros romanos
19 Agosto 2013, 19:52 PM
Saludos tengo el siguiente programa que me pide que le ingrese un numero romano cualquiera, pero tengo que verificar que si sea romano y que no contenga letras que no sean I, V, X, L, M y es ahi donde tengo el problema

#include <stdio.h>
#include <stdlib.h>
#define TAM 7

int main()
{
    char romano[TAM];
    printf("Dame el primer numero: ");
    fgets(romano,TAM,stdin);
    while(*romano++ != '\0')
    {
        if(*romano!='I','V','X','L','C','M')
            printf("Error!! no es numero romano\n");
    }
    return 0;
}


el error esta en el if

de antemano gracias
#147
Dudas Generales / Suma de Riemann
27 Julio 2013, 01:12 AM
Alguien que me pueda explicar como calcular la suma de Riemann, he estado buscando por muchas paginas pero no logro entender bien el concepto ni las formulas

gracias
#148
Dudas Generales / Analisis de algoritmos
26 Julio 2013, 01:24 AM
Saludos estoy empezando a leer un libro de analisis de algoritmos y viene un codigo al que le tengo que calcular el tiempo de ejecucion, esto sumando las operaciones elementales(asiganciones,retornos,acceso a estructuras indexadas, etc..) de cada linea de codigo pero tengo duda de como calcular el tiempo de ejecucion para el mejor caso

el codigo esta en modula-2

PROCEDURE Buscar(VAR a:vector;c:INTEGER):CARDINAL;
VAR j:CARDINAL;
BEGIN
  j :=1;                                       (1)
  WHILE(a[j] >c) AND (j < n) DO   (2)
     j:=j+1;                                  (3)
  END;                                         (4)
IF a[j]=c THEN                             (5)
  RETURN j;                                  (6)
ELSE RETURN 0;                            (7)
END;                                             (8)
END Buscar;

y el libro dice

En el mejor caso para el algoritmo, se efectuara la linea 1 y de la linea 2 solo la primera mitad de la condicion, que supone 2 OE(suponemos que las expresiones se evaluan de izquierda a derecha y una expresion logica deja de ser evaluada en el momento que se conoce su valor, aunque no hayan sido evaluados todos sus terminos. Tras ellas se acaba ejecutando las lineas (5) y (7), en consecuencia T= 1+2+3=6

pero no entiendo porque en la linea 2 solo evalua la mitad de la condicion, si es un AND no se supone que tiene que evaluarla completa??

gracias de antemano


#149
Programación C/C++ / scanf y gets
17 Julio 2013, 02:37 AM
saludos

si tengo que ingresar en un vector 10 datos, por ejemplo: nombres, estos nombres tienen diferente longitud entonces tendria que poner char *nombre[10] pero a la hora de querer ingresar los datos con gets me aparecen warnings

for(i=0;i < 10;i++)
    {
        printf("Dame el nombre numero %d: ",i+1);
        gets(nombre+i);
        system("cls");
    }


pero si cambio el gets por scanf de esta manera ya no me aparece y no entiendo porque

for(i=0;i < 10;i++)
    {
        printf("Dame el nombre numero %d: ",i+1);
        scanf("%s",nombre+i);
        system("cls");
    }


si alguien fuera tan amable de explicarme esto se lo agradeceria mucho
#150
Saludos

Tengo una duda de como pasar un arreglo bidimensional a una  funcion cualquiera, si tengo una matriz que se llama multi[filas][columnas] y la quiero pasar a una funcion con la siguiente llamada:

set_value(multi);

por que en la funcion tengo que dejar el corchete[] de las filas vacio y el de las columnas con su respectivo tamanio es algo que no termino de entender y queria saber si alguien me lo podia explicar:

void set_value(int m_arreglo[][COLUMNAS])
{
     //Cuerpo de la funcion
}

de antemano gracias
#151
Programación C/C++ / problema con parametros
8 Julio 2013, 19:35 PM
Saludos tengo el siguiente problema al pasar una matriz bidimensional como parametro a una funcion, me sale un error que dice: array type has incomplete element type

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

void burbuja_descendente(char matriz[][],int n,int m);

int main()
{
    int i,j,n,m;
    char matriz[MAX][MAX];
    printf("Dame el numero de filas: ");
    scanf("%d",&n);
    printf("Dame el numero de columnas: ");
    scanf("%d",&m);
    for(i=0;i < n;i++)
    {
        for(j=0;j < m;j++)
        {
            printf("Dame el elemento (%d,%d):\n",i,j);
            scanf("%s",&matriz[i][j]);
        }
    }
    burbuja_descendente(matriz,n,m);
    return 0;
}

void burbuja_descendente(char matriz[][],int n,int m)
{
    int i,j,aux;
    for(i=1;i < n;i++)
    {
        for(j=0;j < m;j++)
        {
            if(j==n-1)
            {
                if(matriz[i][j] < matriz[i+1][0])
                {
                    aux = matriz[i][j];
                    matriz[i][j] = matriz[i+1][0];
                    matriz[i+1][0] = aux;
                }
            }
            else
            {
                if(matriz[i][j] < matriz[i][j+1])
                {
                    aux = matriz[i][j];
                    matriz[i][j] = matriz[i][j+1];
                    matriz[i][j+1] = aux;
                }
            }
        }
    }
}


de antemano gracias
#152
Programación C/C++ / matriz de caracteres
5 Julio 2013, 01:37 AM
Saludos

estoy haciendo una simple matriz a la que le tengo que ingresar caracteres, pero que no me lee los datos y no entiendo por que

nt main()
{
    int i,j,n,m;
    char matriz[MAX][MAX];
    printf("Dame el numero de filas: ");
    scanf("%d",&n);
    printf("Dame el numero de columnas: ");
    scanf("%d",&m);
    for(i=0;i < n;i++)
    {
        for(j=0;j < m;j++)
        {
            printf("Dame el elemento (%d,%d):\n",i,j);
            scanf("%c",&matriz[i][j]);
        }
    }
    return 0;
}


de antemano gracias
#153
Saludos, tengo que hacer el siguiente programa que dice:

Inicializar dos matrices, la primera tendra 5 escuelas y la segunda sus respectivas ciudades.
   Pedir una escuela a buscar y si se encuentra imprimir la ciudad donde se encuentra, si no se encuentra
   imprimir el letrero respectivo. Pedir una ciudad a buscar y si se encuentra imprimir las escuelas de
   dicha ciudad, si no se encuentra imprimir el letrero respectivo.

El problema es que creo que esta mal planteado y no se como exactamente quiere que haga las matrices, me dice que en una matriz ingrese 5 escuelas pero eso no seria mas bien un vector???? y luego me dice que si le doy una ciudad a buscar me tiene que imprimir las escuelas de dicha ciudad, pero que no eran 5 escuelas cada una con su respectiva ciudad, no entiendo lo que me quiere decir si alguien me pudiera ayudar a entender

de antemano gracias
#154
Programación C/C++ / for y do while
30 Junio 2013, 23:01 PM
saludos tengo que hacer un programa que me calcule la multiplicacion de 2 matrices de diferentes dimensiones, ya se como hacer la multiplicacion pero tengo una duda en la parte donde le tienes que ingresar las filas y columnas de la matriz a y las filas y columnas de la matriz b


        printf("Dame el numero de filas de a :");
        scanf("%d",&n);
        printf("Dame el numero de columnas de a : ");
        scanf("%d",&m);
        printf("Dame el numero de filas de b :");
        scanf("%d",&n2);
        printf("Dame el numero de columnas de b : ");
        scanf("%d",&m2);


estaba pensando que para no repetir el mismo codigo para a y a para b alomejor podria utilizar un do-while para ingresar los datos:

   
  int n[2],m[2];
  char letra[] = {'a','b'};
  int  i=0;
    do
    {
        printf("Dame el numero de filas de %c :",letra[i]);
        scanf("%d",&n[i]);
        printf("Dame el numero de columnas de %c : ",letra[i]);
        scanf("%d",&m[i]);
        system("cls");
        i++;
    }while(i < 2);


cual de las dos opciones creen que es la mejor??
gracias
#155
Saludos tengo el siguiente codigo que me tiene que decir si una matriz es triangular superior ( o sea que todos los elementos por debajo de la diagonal sean 0)

// Matriz Triangular Superior
int tri_sup = 1;
    for(i=0;i < n-1;i++)
    {
        for(j=n-1;j > 0+i;j--)
        {
            if(matriz[j][i] == 0)
                tri_sup = 1;
            else
                tri_sup = 0;
        }
    }/*
pero el problema es que cuando le ingreso una matriz que no es Triangular Sup, me aparece que si lo es. Y no tengo idea de donde podria estar el error

de antemano gracias
#156
Programación C/C++ / ahorrar lineas de codigo
25 Junio 2013, 19:08 PM
Saludos tengo el siguiente codigo que me hace un simple ordenamiento burbuja de un vector:

int main()
{
   int v[MAX],i,j,n,aux,;
   printf("Dame el numero de elementos del vector\n");
   scanf("%d",&n);
   for(i=0;i < n;i++)
   {
       printf("Dame el elemento numero %d:\n",i+1);
       scanf("%d",&v[i]);
       system("cls");
   }
   for(i=1;i < n;i++)
   {
       for(j=0;j < n-i;j++)
       {
           if(v[j] > v[j+1])
           {
               aux = v[j+1];
               v[j+1] = v[j];
               v[j] = aux;
           }
       }
   }
return 0;
}
pero tengo la duda de si en vez de usar dos fors podria meter el metodo de ordenamiento en el for que me pide que ingrese los elementos del vector para ahorrar lineas de codigo

gracias
#157
Dudas Generales / VSLM
5 Junio 2013, 04:03 AM
Saludos tengo el siguiente problema de direcciones IP que dice:

Cuantas IP utilizables tengo en una VSLM 120.35.7.224/29(escribe número)

si se que una direccion de red tiene que estar dividida en octetos que pueden tener valor de 0 a 255 pero la verdad no tengo idea de como resolver este problema si alguien me pudiera ayudar se lo agradeceria mucho
#158
Bases de Datos / ejercicios sql
26 Mayo 2013, 03:51 AM
Saludos

Tengo el siguiente una base de datos compuesta por dos tablas, una que se llama fabricante(codigo,nombre) y otra que se llama articulos(codigo,nombre,precio,fabricante)y tengo un problema que dice:

Obtener los nombres de los fabricantes que ofrezcan productos cuyo precio medio sea mayor o igual a 170 y me pone la solucion que es esta:

SELECT F.Nombre, AVG(Precio)
FROM ARTICULOS A, Fabricantes F
WHERE A.Fabricante = F.Codigo
GROUP BY F.Nombre
HAVING AVG (Precio)>=170

pero no le entiendo a partir de la linea 3, si alguien me pudiera explicar le agradeceria mucho




#159
Saludos tengo el siguiente problema que dice:

Usando la mascara de subred 255.255.255.224, cual es la subred a la que pertenece el host  199.42.78.133 y cual es la direccion broadcast para esta direccion?

primero me dice que haga la siguiente formula

256-mascara de red = numero base
256-224 = 32

y 32+32 = 64
  64+32 = 96
  96+32 = 128
  128+32 = 160

y dice que tengo que llegar hasta el numero comprendido entre 128 y 160, y que se encuentra por lo tanto en la direccion 199.42.78.128 y la direccion broadcast en 199.42.78.159

pero no entiendo como calcula la direccion broadcast, si alguien me pudiera ayudar se lo agradeceria mucho
#160
Saludos

Tengo dos entidades en c# y mi problema es que el dato de una entidad lo necesito para hacer un conjunto de calculos que se encuentra en otra entidad diferente y no tengo idea de como hacer la relacion

estaba pensando que talvez creando un objeto que sea del tipo de la clase
Código (csharp) [Seleccionar]
  Form5 nombre = new Form5(); para asi poder utilizar los atributos de la clase form5, pero no me funciona a la hora de querer acceder a los datos

nombre.Miembro;

gracias
#161
saludos tengo este codigo que me esta dando un error en la parte de buscar, que me tiene que buscar un numero de cuenta y si lo encuentra mostrarme todos los demas datos de la entidad, me dice que no se puede convertir de datePicker a string

Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Npgsql;

namespace Agencia_de_Viajes
{
    public partial class Form5 : Form
    {
        public Form5()
        {
            InitializeComponent();
        }

        private void irMenu_Click(object sender, EventArgs e)
        {
            this.Visible = false;
            Form1 menu = new Form1();
            menu.Visible = true;
        }

        private void cmdAgregar_Click(object sender, EventArgs e)
        {
            if (txtNumeroCuenta.Text == "" || txtDescripcion.Text == "" || txtIdCliente.Text == "")
            {
                MessageBox.Show("DEBES INTRODUCIR VALORES...");
            }         
            else
            {
                int NUMERO = Convert.ToInt16(txtNumeroCuenta.Text);
                string DESCRIPCION = txtDescripcion.Text;
                int ID = Convert.ToInt16(txtIdCliente.Text);
                string FECHA = dateTimePicker1.Value.ToString("yyyy-MM-dd");

                try
                {
                    IDbConnection dbcon = new NpgsqlConnection("Server = localhost;" + "Database = Facturas;" + "User ID = marcela;");
                    dbcon.Open();
                    IDbCommand dbcmd = dbcon.CreateCommand();
                    dbcmd.CommandText = "insert into Cuentas_extras values(" + NUMERO + ",'" + DESCRIPCION + "'," + ID + ",'" + FECHA + "');";
                    IDataReader reader = dbcmd.ExecuteReader();
                    dbcon.Close();
                    txtNumeroCuenta.Text = "";
                    txtDescripcion.Text = "";
                    txtIdCliente.Text = "";
                    MessageBox.Show("Registro Guardado correctamente");
                }
                catch (Exception msg)
                {
                    MessageBox.Show("error.....\n\n" + msg.ToString());
                }
            }
        }

        private void cmdMostrar_Click(object sender, EventArgs e)
        {
            try
            {
                NpgsqlConnection conexion = new NpgsqlConnection("Server = localhost; " + "Database = Facturas;" + "User ID = marcela;");

                NpgsqlDataAdapter adaptador = new NpgsqlDataAdapter("select * from Cuentas_extras", conexion);
                DataTable tablamemoria = new DataTable();
                adaptador.Fill(tablamemoria);
                dtaCuentasExtras.DataSource = tablamemoria.DefaultView;
            }

            catch (Exception msg)
            {
                MessageBox.Show("Error......\n\n" + msg.ToString());
            }
        }

        int n;
        private void cmdBuscar_Click(object sender, EventArgs e)
        {
            if (txtBuscado.Text == "")
            {
                MessageBox.Show("DEBES INTRODUCIR EL NUMERO DE CUENTA A BUSCAR...");
                txtBuscado.Focus();
            }
            else
            {
                try
                {
                    int band = 0;
                    IDbConnection dbcon = new NpgsqlConnection("Server = localhost;" + "Database = Facturas;" + "User ID = marcela;");
                    dbcon.Open();
                    IDbCommand dbcmd = dbcon.CreateCommand();
                    n = Convert.ToInt32(txtBuscado.Text);
                    dbcmd.CommandText = "select * from cuentas_extras where numero_cuenta =" + n + "";
                    IDataReader reader = dbcmd.ExecuteReader();
                    if (reader.Read())
                    {
                        txtDescripcion.Text = reader.GetString(reader.GetOrdinal("descripcion"));
                        txtIdCliente.Text = Convert.ToString(reader.GetInt32(reader.GetOrdinal("id_cliente")));
                        txtNumeroCuenta.Text = Convert.ToString(reader.GetInt32(reader.GetOrdinal("numero_cuenta")));
                        dateTimePicker1.Text = reader.GetString(reader.GetOrdinal("fecha"));
                        band = 1;
                        txtBuscado.Text = "";
                    }
                    dbcon.Close();
                    if (band == 0)
                    {
                        txtBuscado.Text = "";
                        txtDescripcion.Text = "";
                        txtIdCliente.Text = "";
                        txtNumeroCuenta.Text = "";
                        MessageBox.Show("Numero de cuenta no encontrado");
                    }
                }
                catch (Exception msg)
                {
                    MessageBox.Show(msg.ToString());
                }
            }
        }
    }
}


gracias
#162
Programación C/C++ / aprender c#
14 Mayo 2013, 01:17 AM
Saludos

Alguien sabe de algun curso on-line para principiantes de c# o algun libro que sea bueno para aprender este lenguaje

gracias de antemano
#163
Foro Libre / Pastebin
7 Mayo 2013, 05:06 AM
Alguien sabe porque bloquearon pastebin???? No se si esto es en todos los paises o si es algun asunto de las empresas de internet
#164
Programación C/C++ / invalid input syntax
4 Mayo 2013, 18:25 PM
saludos tengo el siguiente codigo en c# pero me sale un error en la linea numero 45 que dice: invalid input syntax for integer...

Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Npgsql;

namespace Agencia_de_Viajes
{
    public partial class Form5 : Form
    {
        public Form5()
        {
            InitializeComponent();
        }

        private void irMenu_Click(object sender, EventArgs e)
        {
            this.Visible = false;
            Form1 menu = new Form1();
            menu.Visible = true;
        }

        private void cmdAgregar_Click(object sender, EventArgs e)
        {
            if (txtNumero.Text == "" || txtDescripcion.Text == "" || txtFecha.Text == "" || txtIdCliente.Text == "")
            {
                MessageBox.Show("DEBES INTRODUCIR VALORES...");
            }
            else
            {
                try
                {
                    int NUMERO = Convert.ToInt16(txtNumero.Text);
                    string DESCRIPCION = txtDescripcion.Text;
                    DateTime today = DateTime.Today;
                    string FECHA = today.ToString("yyyy/MM/dd");
                    int ID = Convert.ToInt16(txtIdCliente.Text);
                    IDbConnection dbcon = new NpgsqlConnection("Server = localhost;" + "Database = Facturas;" + "User ID = marcela;");
                    dbcon.Open();
                    IDbCommand dbcmd = dbcon.CreateCommand();
                    dbcmd.CommandText = "insert into Cuentas_extras values(" + NUMERO + ",'" + DESCRIPCION + "','" + FECHA + "'," + ID + ")";
                    IDataReader reader = dbcmd.ExecuteReader();
                    dbcon.Close();
                    txtNumero.Text = "";
                    txtDescripcion.Text = "";
                    txtFecha.Text = "";
                    txtIdCliente.Text = "";
                    MessageBox.Show("Registro Guardado correctamente");
                }
                catch (Exception msg)
                {
                    MessageBox.Show("error.....\n\n" + msg.ToString());
                }
            }
        }

        private void cmdMostrar_Click(object sender, EventArgs e)
        {
            try
            {
                NpgsqlConnection conexion = new NpgsqlConnection("Server = localhost; " + "Database = Facturas;" + "User ID = marcela;");

                NpgsqlDataAdapter adaptador = new NpgsqlDataAdapter("select * from Cuentas_extras", conexion);
                DataTable tablamemoria = new DataTable();
                adaptador.Fill(tablamemoria);
                dtaCuentasExtras.DataSource = tablamemoria.DefaultView;
            }

            catch (Exception msg)
            {
                MessageBox.Show("Error......\n\n" + msg.ToString());
            }
        }
    }
}
el problema es cuando le agrego una fecha cualquiera (2013/04/04) es ahi donde me marca el error

de antemano gracias
#165
Bases de Datos / eliminar llave primaria
2 Mayo 2013, 18:10 PM
saludos

tengo una entidad en postgres que contiene una llave primaria, al principio intente eliminar toda la entidad con:

drop table nombre_tabla;

pero me aparecio un error que decia que primero tenia que eliminar la llave primaria, pero cuando le pongo

alter table nombre_tabla drop primary key; o cuando le pongo esta otra

alter table nombre_tabla drop primary key(nombre de la columna que tiene el primary key);

pero me sale un sintax error y no se por que, alguien sabe de algun comando para solucionar esto??? como le borro la llave primaria a mi tabla???

gracias
#166
saludos

Tengo una duda conceptual de el manejo de llaves en una base de datos, una entidad puede tener dos llaves foraneas pero ninguna primaria??? es valido esto?

de antemano gracias
#167
Software / Visual Studio
22 Abril 2013, 03:48 AM
Saludos

Tengo un problema no puedo abrir un proyecto en visual studio y no entiendo por qué, me aparece un mensaje que dice que no se pudo cargar el archivo del proyecto blablabla y otro que dice no se puede encontrar parte de la ruta de acceso

al que me pueda ayudar de antemano gracias
#168
Programación C/C++ / StackOverFlow
20 Abril 2013, 03:11 AM
Saludos

Estoy haciendo una base de datos que tiene un menu y unas 12 entidades, y les estoy haciendo su interfaz gráfica en c#, estas ventanas tienen que estar enlazadas y la primera vez que lo compile me salió bien los botones del menú me llevaban a la ventana correspodiente y tal. Pero ahora no me compila me aparece un error que dice

No se controló StackOverFlowException

No se puede evaluar la expresión porque el subproceso actual está en un estado de desbordamiento de pila

y me aparece este código también pero no tengo idea de qué significa

Código (csharp) [Seleccionar]
//
            // Form3
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(388, 347);
            this.Controls.Add(this.cmdIr_Menu);
            this.Controls.Add(this.dataGridView1);
            this.Controls.Add(this.cmdMostrar);
            this.Controls.Add(this.cmdAgregar);
            this.Controls.Add(this.txtServicios);
            this.Controls.Add(this.txtCategoria);
            this.Controls.Add(this.txtTipo);
            this.Controls.Add(this.txtTel);
            this.Controls.Add(this.txtUbicacion);
            this.Controls.Add(this.txtIdHotel);
            this.Controls.Add(this.txtNombre);
            this.Controls.Add(this.servicios);
            this.Controls.Add(this.categoria);
            this.Controls.Add(this.tipo);
            this.Controls.Add(this.txtTelefono);
            this.Controls.Add(this.ubicacion);
            this.Controls.Add(this.idHotel);
            this.Controls.Add(this.nombre);
            this.Controls.Add(this.alojamiento);
            this.Name = "Form3";
            this.Text = "Form3";
            ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
            this.ResumeLayout(false);//Aqui esta el error
            this.PerformLayout();

        }


el error supuestamente esta en las ultimas lineas, la verdad estoy medio desesperada porque segun yo no habia nada mal

si alguien me pudiera ayudar le agradeceria mucho
#169
Bases de Datos / alter column
16 Abril 2013, 19:30 PM

Tengo una tabla llamada clientes hecha en postgres que tiene dos campos (columnas),una nombre como varchar y la otra id como char, el problema es que cometí un error y el campo id debería ser de tipo int, pero a la hora de tratar modificarlo con:

alter table clientes alter column id type int;

me marca un error que dice:

la columna id no puede convertirse al tipo <pg_catalog.int4> y no sé por qué me da ese error

de antemano gracias
#170
.NET (C#, VB.NET, ASP) / mensaje de error c#
14 Abril 2013, 21:28 PM
Saludos

estoy haciendo el siguiente código  en c# pero me marca dos errores en varias lineas del código que dicen

El nombre txtId no existe en el conexto actual
El nombre txtNombre no existe en el contexto actual

no entiendo por qué me da esos errores, esta es la primera vez que programo en c#

Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Npgsql;
using Mono.Security;

namespace Proyecto_BasesDatos
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void cmdAgregar_Click(object sender, EventArgs e)
        {
            if (txtId.Text == "" || txtNombre.Text == "")
            {
                MessageBox.Show("Debes Introducir Valores");
            }
            else
            {
                try
                {
                    string Nombre = txtNombre.Text;
                    int Id = Convert.ToInt16(txtId.Text);
                    IDbConnection dbcon = new NpgsqlConnection("Server=localhost;" + "Database=Conexion;" + "User Id=Marcela;");
                    dbcon.Open();
                    IDbCommand dbcmd = dbcon.CreateCommand();
                    dbcmd.CommandText = "insert into Clientes values (" + Id + " , '" + Nombre + "')";
                    IDataReader reader = dbcmd.ExecuteReader();
                    dbcon.Close();
                    txtNombre.Text = "";
                    txtId.Text = "";
                    MessageBox.Show("Registro Guardado Correctamente");
                }
                catch (Exception msg)
                {
                    MessageBox.Show("error.......................\n\n" + msg.ToString());
                }

            }

        }


    }
}


gracias
#171
Sugerencias y dudas sobre el Foro / duda foros
14 Abril 2013, 04:33 AM
Saludos

Alguien que me diga en dónde posteo una duda que tengo de una base de datos que estoy haciendo en c#, en el foro de bases de datos o en el de donde esta todo lo de c,c++, etc...

gracias
#172
Dudas Generales / duda drivers
9 Abril 2013, 17:49 PM
Saludos

estoy intentando descargar unos drivers Npgsql.dlll para hacer una conexion de postgres a visual studio, pero me sale un mensaje de error que dice:

este archivo no tiene ningun programa asociado para realizar esta acción...

alguien que me pueda decir cuál es el programa que necesito  para poder descargar estos drivers

gracias de antemano
#173
Dudas Generales / algoritmo
21 Marzo 2013, 20:23 PM
Saludos

Alguien sabe de algun algoritmo que dado un número decimal me diga cuántos bits serán necesarios a la hora de convertirlo a binario??, por ejemplo:

si tengo el número 12 al convertirlo a binario sería 1100-> se necesitan 4 bits, pero necesito una manera que me diga cuántos antes de hacer la conversión

gracias de antemano
#174
Bases de Datos / error '#
9 Marzo 2013, 00:39 AM
Un saludo

estoy insertado los datos en las tablas de mi base de datos con el comando

insert into nombre_tabla values('miembro_1','miembro_2','miembro_3',..)

pero en uno de los miembros olvide ponerle una ' y ahora me aparece

TABLA'# osea que no puedo ingresar valores, me tiene que aparecer a fuerzas

TABLA=#

no se cómo resolver esto

de antemano gracias
#175
Bases de Datos / mensaje de error
6 Marzo 2013, 01:45 AM
saludos

estoy iniciando con esto de las bases de datos, para eso descargue postgresSQL pero ahora cuando escribo en la consola la ruta donde estan los ejecutables, por ejemplo:

C:\Users\Elsa\pgsql\bin

me aparece un mensaje de error que dice:

pgsql\bin no se reconoce como un comando interno o externo, programa o archivo  por lotes ejecutable

no entiendo por qué es eso, si la ruta está escrita correctamente

de antemano gracias :D
#176
Programación C/C++ / maximo y minimo
2 Marzo 2013, 20:15 PM
saludos tengo un programa que me tiene que calcular el promedio, el mayor y el menor, etc. de un vector de temperaturas, el problema es que no me calcula bien la menor temperatura y no sé por qué si las variables están bien inicializadas

#include <stdio.h>
#include <stdlib.h>
#define SEMANA 7

int main()
{
    int i,dia_mayor,dia_menor;
    float temperatura[SEMANA],v[SEMANA],suma=0,promedio,mayor,menor;
    mayor = temperatura[0];
    menor = temperatura[0];
    for(i=0;i<SEMANA;i++)
    {
        printf("Dame la temperatura del dia \n");
        scanf("%f",&temperatura[i]);
        suma+=temperatura[i];
        if(temperatura[i]>mayor)
        {
            mayor = temperatura[i];
            dia_mayor = i;
        }
        else if(temperatura[i]<menor)
        {
            menor = temperatura[i];
            dia_menor = i;
        }
    }
    promedio = suma/SEMANA;
    printf("a) La temperatura promedio es %.2f\n",promedio);
    printf("c) La mayor temperatura es %.2f y ocurrio el dia %d\n",mayor,dia_mayor);
    printf("d) La menor temperatura es %.2f y ocurrio el dia %d\n",menor,dia_menor);
    printf("b) Un vector de las diferencias de cada temperatura con respecto al promedio\n");
    for(i=0;i<SEMANA;i++)
    {
        v[i] = temperatura[i]-promedio;
        printf("v[%d] = %.2f\n",i,v[i]);
    }

    return 0;
}


gracias ;D
#177
Alguien sabe de alguna manera de convertir de minúscula a mayúscula sin la necesidad de rstarle - 32, es que tengo un problema que me pide que le ingrese una letra, si la letra es mayúscula lo dejo así, pero si la letra es minúscula tengo que hacer que el código me la reconozca como si ffuera mayúscula


gracias ;D
#178
Dudas Generales / Conversiones
20 Febrero 2013, 22:42 PM
Saludos

Alguien que me diga de algún método para convertir de decimal a octal pero sin tener que hacer las divisiones sucesivas, he buscado en todos lados pero no he encontrado nada

  ;D gracias
#179
Programación C/C++ / alinear texto
4 Febrero 2013, 23:57 PM
Saludos  :)

tengo este código que me tiene que hacer una piramide de manera que quede como:

     1
   22
  333
4444

el problema es que no se cómo alinear los números a la derecha

int main()
{
    int i,j,numero;
    printf("Dame un numero\n");
    scanf("%d",&numero);
    for(i=1;i<=numero;i++)
    {
        printf("\n");
        for(j=1;j<=i;j++)
           printf("%d",i);
    }
    return 0;
}

gracias de antemano
#180
Saludos tengo unas cuantas dudas de cómo funcionan las Listas Doblemente Ligadas, cuando quiero insertar en alguna posición por ejemplo por la cabeza, como es doblemente ligada ¿tengo que hacer dos operaciones?¿una en cada dirección? algo como insertar por cabeza hacia adelante ó insertar por cabeza hacia atrás??

Aquí está como lo estoy enlazando:

NODO* crear_nodo(int x)
{
    NODO *p;
    p = (NODO*)malloc(sizeof(NODO));
    p->dato = x;
    p->ant = NULL;
    p->sig = NULL;
    return p;
}

void insertar_cabeza(NODO **cabeza,int x)
{
    NODO *nuevo;
    nuevo = crear_nodo(x);
    nuevo->sig = *cabeza;
    nuevo->ant = ???;
    *cabeza = nuevo;
}


solo que en el nuevo->ant no se que poner porque el puntero anterior también debería apuntar a cabeza

de antemano gracias