Mensaje: #1
warnings: conversion may lose significant digits
Dudas y recomendaciones
Informática I (Electrónica)
hola como andan.. soy nuevo en la comunidad soy de frc... queria ver si alguno me puede sacar la duda, tengo este programita en c que es como un formulario donde completas los datos y te salen en forma de tabla, anda perfecto, pero cuando lo compilo me salen 2 warnings queria saber cual es su origen, les dejo el codigo !..ah y tmb acepto criticas al codigo para mejorarlo gracias!
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define SIZE 4
struct Student {
long Num_Leg;
char Nom_y_Apell [25];
long Num_Doc;
char Carrera;
long Ano;
char Dni[20];
char Carr[25];
}Alum [SIZE];
void Puntos (long, int);
void Mayusculas (char [], int );
void Carreras (int);
int main() {
int aux1;
for ( aux1 = 0; aux1 < SIZE; aux1 ++)
{
textcolor(GREEN);
gotoxy(20,2), cprintf("***ALUMNO N%d***", (aux1+1));
gotoxy(23,3), cprintf("=========");
textcolor(WHITE);
gotoxy(5,8), cprintf("*Introduzca su numero de legajo: ");
gotoxy(5,10), cprintf("*Introduzca su nombre y apellido: ");
gotoxy(5,12), cprintf("*Introduzca su numero de documento: ");
gotoxy(5,14), cprintf("*Introduzca el codigo de la carrera que esta cursando: ");
gotoxy(5,16), cprintf("*Introduzca el ano: ");
gotoxy(38,8), scanf("%d", &Alum[aux1].Num_Leg);
fflush(stdin);
gotoxy(39,10), scanf("%[^\n]s", &Alum[aux1].Nom_y_Apell);
Mayusculas(Alum[aux1].Nom_y_Apell, aux1);
fflush(stdin);
gotoxy(41,12), scanf("%d", &Alum[aux1].Num_Doc);
Puntos(Alum[aux1].Num_Doc, aux1);
fflush(stdin);
gotoxy(60,14), scanf("%c", &Alum[aux1].Carrera);
Carreras(aux1);
fflush(stdin);
gotoxy(25,16), scanf("%d", &Alum[aux1].Ano);
fflush(stdin);
clrscr();
}
printf("%10s%8s%20s%14s%18s%9s\n", " ","Legajo","Nombre y Apellido", "Documento", "Carrera", "Ingreso" );
for( aux1 = 0 ; aux1 < SIZE ; aux1++)
{
printf("%s%2d%10d%20s%14s%18s%9d\n", "Alumno",(aux1+1), Alum[aux1].Num_Leg ,Alum[aux1].Nom_y_Apell, Alum[aux1].Dni, Alum[aux1].Carr,Alum[aux1].Ano);
}
getch();
return 0;
}
void Puntos (long Num_Doc, int aux1)
{
int k,i;
int cont1 = 1, cont2;
char DNI[20] = "";
k = sprintf(DNI, "%ld", Num_Doc);
cont2 = (k/3);
for (i = (k-1); i >= 0; i-- )
{
if( cont1 != 3)
{
DNI[i+cont2] = DNI[i];
cont1++;
}
else if (cont1 == 3)
{
cont1=0;
DNI[i+cont2]=DNI[i];
cont2--;
DNI[i+cont2] = '.';
cont1++;
}
}
if (k %3 == 0)
DNI[0] =' ';
strcpy( Alum[aux1].Dni, DNI);
return;
}
void Mayusculas (char Nombre[25], int aux1)
{
char *s = Nombre;
for ( ; *s != '\0' ; s++ )
{
if ( islower(Nombre[0]) != 0 )
{
Nombre[0] -= 32;
}
if ( *s == ' ')
{
s++;
if (islower(*s) != 0)
*s -= 32;
}
}
strcpy(Alum[aux1].Nom_y_Apell, Nombre);
return;
}
void Carreras(int aux1)
{
char *carr[8] = { "Ing. Electrica",
"Ing. Civil",
"Ing. Metalurgica",
"Ing. Industrial",
"Ing. Quimica",
"Ing. Electronica",
"Ing. En Sistemas",
"Ing. Mecanica",
};// Las carreras tienen un codigo que va ascendete desde la f hasta la m, por ende a la primer carrera le corresponde la f como asi a la ultima m
strcpy( Alum[aux1].Carr, carr[ (Alum[aux1].Carrera -'f') ]);
return;
}
" It's better to burn out than to fade away..."
|