elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  necesito hacer la codificacion en c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: necesito hacer la codificacion en c++  (Leído 10,911 veces)
g1s3ll3

Desconectado Desconectado

Mensajes: 5


Ver Perfil
necesito hacer la codificacion en c++
« en: 22 Julio 2009, 02:30 am »

me mandaron hacer una programa, yo hice algo pero no estoy segura de que este bueno... el problema dice así:

desarrolle una estructura que guarde los datos de n alumnos de la materia de lenguaje c y los muestre en pantalla en forma de reporte, la estructura debe tener los siguientes campos (nombre, apellido, dirección, profesión, lugar de nacimiento, edad, teléfono)

#include<stdio.h>
#include<conio2.h>
#define max 5
struct alumnos
{
char nombre[10];
char apellido[10];
char direccion[20];
char profesion[30];
char lugar_nacimiento[20];
int cedula[10];
int edad[2];
int telefono[15];
};
main()
{
struct alumnos programacion[max];
int i=0;
for(i=0;i<max;i++)
{
printf("nombre del alumno:\n\t");
scanf("%s",programacion.nombre);
printf("apellido del alumno:\n\t");
scanf("%s",programacion.apellido);
printf("direccion del alumno:\n\t");
scanf("%s",programacion.direccion);
printf("profesion del alumno:\n\t");
scanf("%s",programacion.profesion);
printf("lugar de nacimiento del alumno:\n\t");
scanf("%s",programacion.lugar_nacimiento);
printf("cedula del alumno:\n\t");
scanf("%i",programacion.cedula);
printf("edad del alumno:\n\t");
scanf("%i",programacion.edad);
printf("telefono del alumno:\n\t");
scanf("%i",programacion.telefono);
printf("\n\n");
}
for(i=i;i<max;i++)
clrscr();//limpiar pantalla
{
printf("%s",programacion.nombre);
printf("t\t\%s",programacion.apellido);
printf("t\t\%s",programacion.direccion);
printf("t\t\%s",programacion.profesion);
printf("t\t\%s",programacion.lugar_nacimiento);
printf("t\t\%i",programacion.cedula);
printf("t\t\%i",programacion.edad);
printf("t\t\%i",programacion.telefono);
}
getch();
return 0;
}


En línea

h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: necesito hacer la codificacion en c++
« Respuesta #1 en: 22 Julio 2009, 03:17 am »

¿Y cuál es tu duda?


En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: necesito hacer la codificacion en c++
« Respuesta #2 en: 22 Julio 2009, 03:35 am »

Tenías muchos errores.

Código
  1. #include<stdio.h>
  2. #define MAX 5
  3. struct alumnos
  4. {
  5. char nombre[10];
  6. char apellido[10];
  7. char direccion[20];
  8. char profesion[30];
  9. char lugar_nacimiento[20];
  10. int cedula;
  11. int edad;
  12. int telefono;
  13. };
  14. int main(void)
  15. {
  16. struct alumnos programacion[MAX];
  17. int i;
  18. for(i=0;i<MAX;i++)
  19. {
  20. printf("nombre del alumno:\n\t");
  21. scanf("%s",programacion[i].nombre);
  22. printf("apellido del alumno %s : \n\t", programacion[i].nombre);
  23. scanf("%s",programacion[i].apellido);
  24. printf("direccion del alumno %s :\n\t", programacion[i].nombre);
  25. scanf("%s",programacion[i].direccion);
  26. printf("profesion del alumno %s:\n\t", programacion[i].nombre);
  27. scanf("%s",programacion[i].profesion);
  28. printf("lugar de nacimiento del alumno %s : \n\t", programacion[i].nombre);
  29. scanf("%s",programacion[i].lugar_nacimiento);
  30. printf("cedula del alumno %s :\n\t", programacion[i].nombre);
  31. scanf("%d", &programacion[i].cedula);
  32. printf("edad del alumno %s : \n\t", programacion[i].nombre);
  33. scanf("%d", &programacion[i].edad);
  34. printf("telefono del alumno %s : \n\t", programacion[i].nombre);
  35. scanf("%d", &programacion[i].telefono);
  36. printf("\n\n");
  37. }
  38. for(i=0;i<MAX;i++)
  39. {
  40. printf("%s",programacion[i].nombre);
  41. printf("\t\t\%s",programacion[i].apellido);
  42. printf("\t\t\%s",programacion[i].direccion);
  43. printf("\t\t\%s",programacion[i].profesion);
  44. printf("\t\t\%s",programacion[i].lugar_nacimiento);
  45. printf("\t\t\%d",programacion[i].cedula);
  46. printf("\t\t\%d",programacion[i].edad);
  47. printf("\t\t\%d",programacion[i].telefono);
  48. printf("\n");
  49. }
  50. while(getchar() != '\n');
  51. return 0;
  52. }
  53.  

No necesitas "conio.h" para pausar el programa, podrías usar:
Código:
while(getchar() != '\n');
getchar();
Para pausarlo.
Aqui:
Código:
int cedula[10];
int edad[2];
int telefono[15];

No necesitas declararlo como array, ya que estas utilizando un array de registros o estructuras.

Aqui:
Código:
int i=0;
for(i=0;i<max;i++)
No necesitas darle el valor a "i" cuando la declaras, ya que luego le darás un valor en el bucle FOR.
Aqui:
Código:
printf("nombre del alumno:\n\t");
scanf("%s",programacion.nombre);
printf("apellido del alumno:\n\t");
scanf("%s",programacion.apellido);
...
Como es un array de registros, necesitas especificar el indice del array, así:
Código:
programacion[indice].campo

Aqui hay un error:
Código:
for(i=i;i<max;i++)
Debió ser:
Código:
for(i = 0; i < max; i++)

Igual aqui:
Código:
printf("%s",programacion.nombre);
printf("t\t\%s",programacion.apellido);
printf("t\t\%s",programacion.direccion);
...
Utilizalo asi:
Código:
programacion[indice].campo
Una cosa más:
Código:
#define max 5
Debería ser :
Código:
#define MAX 5
Esto es solo por convenio, o sea, buena costumbre.

Y otra cosa:
Es C, no C++
Cualquier duda aqui estamos.

« Última modificación: 22 Julio 2009, 03:39 am por Leo Gutierrez. » En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
fuenteRea


Desconectado Desconectado

Mensajes: 2.709


Volver a ser un niño


Ver Perfil
Re: necesito hacer la codificacion en c++
« Respuesta #3 en: 22 Julio 2009, 04:01 am »

Ya que estas podrias usar los cin y cout, si solo usas la i en un for puedes declararla dentro del for

for(int i=0;....

donde tienes struct ¿No seria typedef struct?


struct alumnos programacion[MAX]; --> se hace fuera del main dentro del main declararas una variable de ese tipo aunque tampoco es lo recomendable, lo mas recomendable seria que usaras programacion orientada a objetos o yo lo veo asi, con una clase alumnos y luego tendras la clase gestorvectoralumnos. En el principal haces las llamadas al gestor segun te convenga.

Lo del convenio si es verdad las constantes en mayusculas podrias usar en vez de #define MAX 5 esto--> const int MAX=5;
En línea

Una rosa es una rosa...
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: necesito hacer la codificacion en c++
« Respuesta #4 en: 22 Julio 2009, 04:16 am »

Ya que estas podrias usar los cin y cout, si solo usas la i en un for puedes declararla dentro del for

for(int i=0;....

donde tienes struct ¿No seria typedef struct?


struct alumnos programacion[MAX]; --> se hace fuera del main dentro del main declararas una variable de ese tipo aunque tampoco es lo recomendable, lo mas recomendable seria que usaras programacion orientada a objetos o yo lo veo asi, con una clase alumnos y luego tendras la clase gestorvectoralumnos. En el principal haces las llamadas al gestor segun te convenga.

Lo del convenio si es verdad las constantes en mayusculas podrias usar en vez de #define MAX 5 esto--> const int MAX=5;
Pero se ve claramente que lo queire en C y se confundió al poner C++.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Eliptico

Desconectado Desconectado

Mensajes: 153


Ver Perfil
Re: necesito hacer la codificacion en c++
« Respuesta #5 en: 22 Julio 2009, 10:53 am »

Citar
Aqui:
Código:
int i=0;
for(i=0;i<max;i++)
No necesitas darle el valor a "i" cuando la declaras, ya que luego le darás un valor en el bucle FOR.
Es una practica sana de programacion, que ahorra muchos problemas, inicializar las variables nada mas declararlas. Sigue haciendolo, y te ahorraras muchos quebraderos de cabeza buscando el porque de que una variable tenga valores extraños o no se cumplan condiciones que deberias de cumplirse si las hubieses inicializado con el valor correcto.
Citar
Aqui:

Código:
printf("nombre del alumno:\n\t");
scanf("%s",programacion.nombre);
printf("apellido del alumno:\n\t");
scanf("%s",programacion.apellido);
...
Como es un array de registros, necesitas especificar el indice del array, así:

Código:
programacion[indice].campo
Leo, intenta ecribir el indice i entre corchetes en el editor directamente, sin utilizar las etiquetas de codigo, y dale a previsualizar. ¡Sorpresa! ¡Lo estas escribiendo en cursiva!

Y conesto si que puede haber resultados extraños
Código
  1. "\t\t\%s"
  2.  

Ya que la funcion printf, detectara 3 secuencias de escape: \t   \t   y   \% por lo que te imprimira el especificador de tipo 's' y ya esta. Te sobra la ultima barra invertida:
Código
  1. "\t\t%s"
  2.  

¡¡¡Un saludo!!!
« Última modificación: 22 Julio 2009, 11:08 am por Eliptico » En línea

g1s3ll3

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: necesito hacer la codificacion en c++
« Respuesta #6 en: 22 Julio 2009, 18:44 pm »

tengo otro programa pero no tengo ni idea de como hacerlo dice asi:

desarrolle un programa y verifique si una palabra es palindrome o no




el otro programa me aclaro las dudas, gracias
En línea

novalida

Desconectado Desconectado

Mensajes: 160


Ver Perfil
Re: necesito hacer la codificacion en c++
« Respuesta #7 en: 22 Julio 2009, 18:55 pm »

A ver si esto te puede ayudar un poquito.
Puedes guardar la palabra en un array[n] y comparar los elementos de la siguiente manera:
array[0] y array[n-1]
array[1] y array[n-2]
etc... , siendo n el número de letras que contiene la palabra.

Ya contarás qué tal :)
En línea

h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: necesito hacer la codificacion en c++
« Respuesta #8 en: 22 Julio 2009, 19:02 pm »

Si es una unica palabra puedes ocupar:

Código
  1. int i=0;
  2. bool e=FALSE;
  3.  
  4. while(i<TAM/2 && !e)
  5. {
  6.       if(palabra[i]!=palabra[TAM-i+1])
  7.       {
  8.             e=TRUE;
  9.       }
  10.       i++;
  11. }
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: necesito hacer la codificacion en c++
« Respuesta #9 en: 22 Julio 2009, 19:34 pm »

Citar
Es una practica sana de programacion, que ahorra muchos problemas, inicializar las variables nada mas declararlas. Sigue haciendolo, y te ahorraras muchos quebraderos de cabeza buscando el porque de que una variable tenga valores extraños o no se cumplan condiciones que deberias de cumplirse si las hubieses inicializado con el valor correcto.

Si, es una buena practica darle valores cuando se declaran, pero en este caso no es lo mejor, es redundante hacer:
Código
  1. int i = 10;
  2.    for(i = 1; i <= 50; i++)
  3.    {
  4.        printf("%d ", i);
  5.    }
  6.    printf("\n%d\n");
Ya que en el for le especificas el valor de inicio, entonces, para ella, hubiera sido mejor esto:
Código
  1. int i = 0;
  2.    for(; i <= 50; i++)
  3.    {
  4.        printf("%d ", i);
  5.    }
  6.  

No sé si me esté explicando bien.
Citar
Leo, intenta ecribir el indice i entre corchetes en el editor directamente, sin utilizar las etiquetas de codigo, y dale a previsualizar. ¡Sorpresa! ¡Lo estas escribiendo en cursiva!

Tienes razón, no me había dado cuenta, pero en dado caso, no es mi culpa que no se lea las reglas del foro.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
necesito hacer practicas en vb6
Programación Visual Basic
Senior++ 7 3,727 Último mensaje 2 Julio 2011, 20:27 pm
por Psyke1
Necesito hacer un Quiz en C
Programación C/C++
TeyaIV 1 2,465 Último mensaje 10 Diciembre 2020, 21:11 pm
por ThunderCls
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines