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

#1
//estuve intentando pero no logre que funcionara me podrían ayudar en como pasar los datos que se encuentren en un archivo a una estructura aqui esta lo que intente

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include<conio.h>
typedef struct{
   char nombre[100];
   char apellido[100];
}datos;
int main(){
   FILE *fichero=fopen("archivo.txt","r");
   datos dat;
   int lugar=0,con=0,posicion=0,repartidor=1;
   char *cad;
   
   while(!feof(fichero)){
      fgetc(fichero);
      con++;
   }
   cad=(char*)malloc(con);
   fseek(fichero,0,SEEK_SET);
   fgets(cad,con,fichero);
   printf("archivo leido  ");
   fclose(fichero);

while(cad[posicion]!= '/')
   {
      if(cad[posicion]!=32)
      {
           switch(repartidor)
          {
                case 1:
                 dat.nombre[lugar]=cad[posicion];
                 printf("%c",dat.nombre[lugar]);//aqui yo imprimo lo que supuestamente se esta almacenando para comprobar si almacena
                  break;
                case 2:
                 dat.apellido[lugar]=cad[posicion];
                 printf("%c",dat.apellido[lugar]);//aqui yo imprimo lo que supuestamente se esta almacenando para comprobar si almacena
                 break;
              }
      }*/
      for(int i=0;i<5;i++){
         dat.nombre='a'+i;
      }
      
      else
      {
          lugar=0;
          repartidor++;
      }
      posicion++;
      lugar++;
      
      
   }
   
   printf("\n");
    printf("%s\n",dat.nombre);//aqui lo vuelvo a imprimir y me imprime basura
   printf("%s\n",dat.apellido);
   return 0;
   }
#2
alguien me podría explicar esta forma de usar punteros es que no me queda muy clara y me confundo.

typedef struct nodo{
int valor;
struct nodo *siguiente;
}tiponodo;
typedef tiponodo *pila; //esta es la parte q no me queda tan clara ya q lo q entiendo es que estamos //creando un puntero que va contener direcciones de memoria de la estructura tiponodo que se llama pila y con typedef lo podemos declarar con el nombre //pila;

typedef tiponodo *pnodo;//y en esta linea hacemos lo mismo q lo anterior
void push(pila *pil,int v);
int main(){
pila pil=NULL; //aqui creo q el contenido de este puntero es una direccion nula
push(&pil,5); //aqui creo que estamos enviando la direccion de memoria de pil q es un puntero
push(&pil,8);
push(&pil,10);
return 0
}
void push(pila *pil,int v){//aqui esta parte si no entiendo nada xq se supone q pila ya es un puntero y xq creamos un puntero de tipo puntero y se me hace confuso.

pnodo nuevo=(pnodo)malloc(sizeof(tiponodo));
nuevo->valor=v;
nuevo->siguiente=*pil;
*pil=nuevo;
}
#3
//como se podría mejorarlo y cuales serian los posibles errores de esta código

Código (cpp) [Seleccionar]
#include<stdio.h>
#include<string.h>
//programa q  calcula la edad que tiene una persona en años
int main(){
    int dian,mesn,anion;//ingreso de fechas de naciomiento
int dia,mes,año;//ingreso de fechas actuales
int edad=0,emes=0,edia=0;//controlador de edad
    printf("ingrese dia de naciomiento:");
    scanf("%d",&dian);
printf("ingrese mes de naciomiento:");
    scanf("%d",&mesn);
printf("ingrese año de naciomiento:");
    scanf("%d",&anion);
printf("ingrese dia actual: ");
    scanf("%d",&dia);
printf("ingrese mes actual: ");
    scanf("%d",&mes);
    printf("ingrese año actual: ");
    scanf("%d",&año);
if(año>=anion){
if(año>anion&&mes>=mesn){//si año actual es mayor a año de nacimiento y mes actual es mayor o igal a mes de nacimiento
    for(int i=anion;i<año;i++){//
    edad+=1;
    }
    }
    if (dia<dian){
    edad=edad-1;
    }
}
    else if(año>anion&&mes<mesn){
   for(int i=anion+1;i<año;i++){
       edad+=1;  
    }
    }
   if (edad ==0){
        if(mes>mesn&&dia>=dian){
        for(int i=mesn;i<mes;i++){
        emes+=1;
        }
   
        printf("la edad en meses es %d",emes);
        }
else if(mes<=mesn){
for(int i=dian;i<dia;i++){
        edia+=1;
        }
        printf("la edad en dias es %d",edia);
}
   }
    else if(edad>0)
printf("la edad es: %d",edad);
   

else{
printf("el año actual es menor al año de nacimiento" );
}
  return 0;
}
#4
quiero copiar una estructura cuyo elementos son cadenas y enteros a un archivo con modo de apertura a+ pero se copia solo las cadenas pero los enteros no.
alguien me podría explicar a q se debe esto
#5
ya he visto muchos vídeos sobre este tema .pero e intentado practicar ejercicios pero no me salen como deberian funcionar y me demoro bastante resolviendolos .Estoy aprendiendo lenguaje c y si se como funcionan los bucles ,las estructuras de control,arreglos,se como hacer una pila.Que libro o que pagina me recomendarian para poder ser mas habil a la hora de practicar.
#6
NO PUEDO RESOLVER EJERCICIOS SENCILLOS COMO PALINDROMO Y COSAS ASI CASI NO PUEDO RESOLVER NINGUN ALGORITMO QUE ME PODRIAN RECOMENDAR PARA MEJORAR ESA PARTE. SE COMO FUNCIONAN LOS BUCLES ,CONDICIONALES ,ETC VEO LENGUAJE C PERO ME PROCUPA NO PODER TENER LOGICA XQ LA PROGRAMACION ME GUSTA. QUISIERA CONSEJOS PARA DESARROLLAR LA LOGICA YA QUE LA TEORIA SI ME SE. PERO NOSE QUE EJERCICIOS REALIZAR Y ME INTERERESA APRENDER LA LOGICA YA QUE ME GUSTA MUCHO LA PROGRAMACION