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 - pedroedlp

#1
Java / Se va a seguir usando Java?
9 Diciembre 2015, 00:06 AM
Estaba empezando a aprender a programar en Java cuando me di cuenta de que ya los applets quedaron en desuso, por lo que me surgio esa duda, aprendo java o ya fue?

Saludos.
#2
Programación C/C++ / variables con &
13 Octubre 2015, 01:36 AM
Hola no entiendo que significa declarar una variable usando el amperson

int a;
int &b=a;


#3
Programación C/C++ / estructuras en ficheros
23 Abril 2014, 02:17 AM
Hola quiero saber porque esto no me funciona? osea el porograma se compila y ejecuta, pero cuando abro el archivo txt, me aparecen sibolos raros:

#include <stdio.h>

struct moto{

    int precio, km;
    char *marca;
    char *descripcion;

};


int main(){

    FILE *pf;

    pf=fopen("datos.txt", "wb");

    struct moto moto1;

    moto1.precio=1500;
    moto1.km=0;
    moto1.marca="Yamaha";
    moto1.descripcion="La moto es muy linda y rapida";

    fwrite(&moto1, sizeof(moto1), 1, pf);

    fclose(pf);

    return 0;
}
#4
Hola, no entiendo porque en mi programa no se me guardan las estructuras cuando pongo esto:

fwrite(&p, sizeof(p), 1, pf);

siendo p una variable de una estructura, les dejo el codigo del programa a medio hacer:

#include <stdio.h>

typedef struct producto{
    int numSerie;
    char nombre[20];
    char descripcion[100];
    int precio;
}producto;

void imprimirMenu(void);
void nuevoProducto(char nombreArchivo[]);
//borrarProducto();
//modificarProducto();
//verProducto(char nombreArchivo[]);

int main(){

    char nombreArchivo[20]="productos.dat";

    int r=0;

    do{

    r=0;
    int opcion;

    system("cls");
    imprimirMenu();

    fflush(stdin);
    scanf("%d", &opcion);

    switch (opcion) {

        case 1: nuevoProducto(nombreArchivo);
                break;
        case 4: verArchivo(nombreArchivo);
                break;



    }

    printf("\n\nOtra? ");
    scanf("%d", &r);



    }while(r==1);


    printf("\n\n");

    return 0;
}


void imprimirMenu(void){

    system("cls");
    printf("----Data Productos----");
    printf("\n\n-Menu:");
    printf("\n1.Nuevo Producto");
    printf("\n2.Modificar Producto");
    printf("\n3.Borrar Producto");
    printf("\n4.Ver Producto");
    printf("\n\nOpcion: ");

}


void nuevoProducto(char nombreArchivo[]){

    FILE *pf;

    if((pf=fopen(nombreArchivo, "ab"))==NULL){
        printf("\nError al abrir el archivo");
        exit (-1);
    }

    producto p;

    system("cls");

    printf("Numero: ");
    fflush(stdin);
    scanf("%d", &p.numSerie);
    printf("\nNombre: ");
    fflush(stdin);
    gets(p.nombre);
    printf("\nDescripcion: ");
    fflush(stdin);
    gets(p.descripcion);
    printf("\nPrecio: ");
    fflush(stdin);
    scanf("%d", &p.precio);

    fwrite(&p, sizeof(p), 1, pf);

    fclose(pf);

}
#5
Hola estoy haciendo un programa que lo que hace es guardar datos de productos en un fichero, pero no se como hacer para borrar o modificar estos datos, osea no se como hacer la funcion que realice esto, les dejo el codigo...



#include <stdio.h>

typedef struct producto{
    char nombre[20];
    char fabricante[20];
    char descripcion[50];
    int precio;
} producto ;


void imprimirMenu(void);
void nuevoProducto(char *nombreArchivo);
void borrarProducto();
void modificarProducto();
void verProducto();


int main(){

    char *nombreArchivo="productos.dat";
    int opcion;

    imprimirMenu();
    fflush(stdin);
    scanf("%d", &opcion);

    switch (opcion){

        case 1: nuevoProducto(nombreArchivo);
        case 2: borrarProducto();
        case 3: modificarProducto();
        case 4: verProducto();
       
        default: printf("\n\nOpcion incorrecta");
       
    }


    printf("\n\n");

    return 0;
}


void imprimirMenu(void){
    printf("\n----Almacen----");
    printf("\n\n-Menu: ");
    printf("\n1-Nuevo producto\n2-Borrar producto\n3-Modificar producto\n4-Ver producto\n\nOpcion: ");
}

void nuevoProducto(char *nombreArchivo){

    system("cls");

    FILE *pf;

    if((pf=fopen(nombreArchivo, "a"))==NULL){
        printf("\nNo se pudo abrir el archivo");
        exit (-1);
    }

    producto p;

    printf("\nNombre: ");
    fflush(stdin);
    gets(p.nombre);
    printf("\nFabricante: ");
    fflush(stdin);
    gets(p.fabricante);
    printf("\nDescripcion: ");
    fflush(stdin);
    gets(p.descripcion);
    printf("\nPrecio: ");
    fflush(stdin);
    scanf("%d", &p.precio);

    fputs("Nombre: ", pf);
    fputs(p.nombre, pf);
    fputs("\nFabricante: ", pf);
    fputs(p.fabricante, pf);
    fputs("\nDescripcion: ", pf);
    fputs(p.descripcion, pf);
    fputs("\nPrecio: ", pf);
    fprintf(pf, "%d\n\n", p.precio);

}

#6
Estoy estudiando C, y hasta ahora las cadenas de caracteres las venia creando asi:



char cadena[] = "Hola como te va";



pero ahora me encontre que tambien se puede hacer asi:



char* cadena = "Hola como te va";



y no entiendo porque funciona, osea por lo que entiendo los punteros son para aputar a direcciones de otras variables, pero en este caso lo estaria usando para guardar en el una cadena de texto, no entiendo porque funciona, porque crea en el un array.
#7
Programación C/C++ / Duda EOF
8 Abril 2014, 23:30 PM
bueno, basicamente no entiendo que es lo que hace EOF, les dejo ete programa que en teoria imprime la linea de entrada mas larga, pero yo ejecuto el programa y no hace nada, solo espera q le ingrese datos por teclado, yo creo que es por algo del EOF, que siempre da verdadero el while.


#include <stdio.h>

#define MAXLINE 1000

int getline(char line[], int maxline);

void copy(char to[], char from[]);

main(){

    int len, max;
    char line[MAXLINE];
    char longest[MAXLINE];

    max=0;

    while ((len=getline(line, MAXLINE) > 0 )){
        if(len > max){
            max = len;
            copy(longest, line);
            }
        }

        if(max > 0){
            printf("%s", longest);
        }


        return 0;


}



int getline(char s[], int lim){

    int c, i;

    for(i=0; i<lim-1 && (c=getchar()) != EOF && c != '\n'; ++i)
        s[i] = c;
    if(c == '\n'){
        s[i] = c;
        ++i;
    }
    s[i] = '\0';

    return i;


}


void copy(char to[], char from[]){

    int i;

    i=0;
    while((to[i] = from[i]) != '\0'){
        ++i;
    }
}