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

#1
Hola tuve que formatiar la PC e instale esta version pero cuando quiero debugear aparece asi




¿alguno sabe por que?

Gracias
#2
Programación C/C++ / Descomponer numero
8 Junio 2016, 15:38 PM
Hola, necesito hacer un programa que descomponga un numero de 6 cifras en pares e impares de la siguiente forma.
123456
Pares: 246
Impar: 135

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define N 6
int main( void )
{
   int c,
       i,
       n,
       par=0,
       impar=0,
       acupar=0,
       acuimpar=0;
   int digitos[N];
   unsigned long long int num;
   printf( "Escribe un numero de %d digitos como maximo: ", N );
   fflush( stdout );
   num = 0;
   for( n = 0; n < N && (c = getchar()) != '\n'; n++ )
   {
      digitos[n] = c - '0';
      num *= 10;
      num += digitos[n];
   }
   printf("%d\n", num);
   for( i = 0; i < n; ++i )
        if(digitos[i]%2==0)
        {
            printf("es Par: %d\n", digitos[i]);
            acupar+=digitos[i]*pow(10,par);
            par++;
        }

        else
        {
           printf("es imPar: %d\n", digitos[i]);
           acuimpar+=digitos[i]*pow(10,impar);
           impar++;
        }


printf("\npar:%d",par);
printf("\nimpar:%d",impar);
printf("\n acupar %d",acupar);
printf("\n acuimpar %d",acuimpar);

   return 0;
}


Con el programa que yo escribi quería que quede el numero par e impar dado vuelta y despues ponerlo bien.
123456
Queda así 642
531
Con ese ejemplo funciona pero si pongo 123444, queda asi
4441 (en vez de 4442)
31

No entiendo porque no funciona
#3
Hola quiero crear un archivo y cargarlo a partir de una estructura.
Crear el archivo creo que lo hago bien pero el problema es que no se como se carga los datos

#include <stdio.h>
#include <stdlib.h>
#define Arct "D:\\Ejercicios\\ArchivoDeTexto"
#include "ArchivoDeTexto.h"


int main()
{
    int i;
    tpers persona[5];
    FILE *fpTex;
    fpTex=fopen("Arct.txt","wt");
    if(fpTex=NULL)
    {
        printf("error");
    }

for(i=0;i<5;i++)
{
    printf("Ingrese el DNI:");
    scanf("%ld",&persona[i].dni);
    printf("El apellido y nombre:");
    scanf("%s",persona[i].apyn);
    printf("Ingrese el sexo:");
    scanf("%s",persona[i].sex);
    printf("Ingrese la fecha:");
    scanf("%d/%d/%d",
                        &persona[i].fec.di,
                        &persona[i].fec.me,
                        &persona[i].fec.an);
    printf("Ingrese el impuesto:");
    scanf("%f",&persona[i].impuesto);
    printf("\n");
}

    return 0;
}



typedef struct
{
    int di,
        me,
        an;
}tfecha;

typedef struct
{
    long dni;
    char apyn[34];
    char sex[2];
    tfecha fec;
    float impuesto;
}tpers;


Creo que hay una funcion para esto pero no pude encontrar cual es.
Gracias por adelantado
#4
Hola, tengo el siguiente problema tengo que normalizar una cadena de caracteres. La normalizacion consiste en que ingresado un texto el programa le borra los espacios en blanco del principio, pone la primer letra en mayúscula y las demás en minúscula, después hace lo mismo con la siguiente palabra.
Ejemplo
Citarhola     mUndo

Cita de: NormalizadoHola mundo

El programa

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

int main()
{ char cad[50];
char *pos=cad,
     *des=cad;
    printf("Ingrese la cadena:");
    gets(cad);
    puts(cad);
    while(*pos)
    {
       while(esBlanco(*pos)) /*muevo pos hasta que encuentre texto*/
         pos++;
        if(*pos)
        {
            *des=aMayuscula(*pos); /*convierto la primer letra de la palabra en mayuscula*/
            pos++;
            des++;
        }
        while(*pos&&!esBlanco(*pos)) /*convierto las demas palabras en minusculas*/
        {
            *pos=aMinuscula(*pos);
            *des=*pos;
            pos++;
            des++;
        }

    }

    *des='\0';
    puts(cad);
    return 0;
}


Hace todo salvo que no deja el espacio entre las palabras sino que las deja pegadas. Pense en poner una bandera para que despues de salir de la primer palabra y despues de correr pos hasta la segunda palabra corra des un lugar. Pero no entiendo porque no funciona, se que debe ser una boludez pero no me puedo dar cuenta
Desde ya muchas gracias, saludos