[Curso] Introducción a la programación en C (V)

Moderadores: Kravenbcn, largeroliker, fidelcastro, cerealkiller, pspCaracas, m0skit0, LnD, ka69, zacky06

Avatar de Usuario
Kravenbcn
Administrador
Administrador
Mensajes: 16291
Registrado: 01 Sep 2009, 21:27
PSN ID: Kravenbcn
Twitter: Kravenbcn
Ubicación: Barcelona
Contactar:

Re: [Curso] Introducción a la programación en C (V)

Mensaje por Kravenbcn »

Aquí dejo mi ejercicio:

Código: Seleccionar todo

//Incluímos los ficheros stdio.h y unistd.h
#include <stdio.h>
#include <unistd.h>
//#include <unistd.h>

//Función principal
int main(int argc, char *argv[])
{
    char* nombre[80];
    char* nombre_otro[80];
    float edad, edad_otro, multip, media;
   
   
    printf("Por favor, introduzca su nombre: ");
    //Leemos el nombre
    scanf("%s", &nombre);
    printf("Ahora introduzca su edad: ");
    //Leemos edad
    scanf("%f", &edad);
    printf("A continuacion introduzca el nombre de otra persona: ");
    scanf("%s", &nombre_otro);
    //Leemos el nombre del otro
    printf("Para finalizar introduzca la edad de la otra persona: ");
    //Leemos la edad del otro
    scanf("%f", &edad_otro);

    printf("La suma de las edades de %s y %s es %.2f\n", nombre, nombre_otro, edad + edad_otro);
    printf("Las edades de %s y %s multiplicadas entre si dan %.2f\n", nombre, nombre_otro, edad * edad_otro);
    printf("La media de edad entre %s y %s es %.2f\n", nombre, nombre_otro, (edad + edad_otro) / 2);
   
   
   
  getch();   
  return 0;
}
No te pierdas nada, sigue a DaXHordes en Twitter, Facebook, Google+ y Youtube

Imagen
¿Quieres formar parte del equipo de DaXHordes.org? Esta es tu oportunidad.
PS3 · PS Vita · PSP

Avatar de Usuario
brujitosexy
Experto
Experto
Mensajes: 1097
Registrado: 03 Sep 2009, 19:30

Re: [Curso] Introducción a la programación en C (V)

Mensaje por brujitosexy »

Veo que se esta tomando, el curso muy en serio (incluyendome):!: :lol:
tendre desde hoy hasta mañana, actualizarme un poquin :!:

Ojala lleguemos algun dia de hacer nuestro homebrew, hasta un CF. :baba:
Salido de daxhordes. :oki:
Linus Torvalds:
“El Software es como el sexo; es mejor cuando es gratis…”

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (V)

Mensaje por m0skit0 »

Perfecto Kravenbcn, sólo un pequeño apunte sin importancia:

Kravenbcn escribió:#include <unistd.h>
//#include <unistd.h>


:lol:
Imagen

Avatar de Usuario
Kravenbcn
Administrador
Administrador
Mensajes: 16291
Registrado: 01 Sep 2009, 21:27
PSN ID: Kravenbcn
Twitter: Kravenbcn
Ubicación: Barcelona
Contactar:

Re: [Curso] Introducción a la programación en C (V)

Mensaje por Kravenbcn »

Se me ha ido la mano... :lol:
No te pierdas nada, sigue a DaXHordes en Twitter, Facebook, Google+ y Youtube

Imagen
¿Quieres formar parte del equipo de DaXHordes.org? Esta es tu oportunidad.
PS3 · PS Vita · PSP

Avatar de Usuario
brujitosexy
Experto
Experto
Mensajes: 1097
Registrado: 03 Sep 2009, 19:30

Re: [Curso] Introducción a la programación en C (V)

Mensaje por brujitosexy »

A ve este como esta:

Código: Seleccionar todo

// Incluimos el fichero stdio.h y unistd.h
#include <stdio.h>
#include <unistd.h>

//Funcion principal
int main(int argc, char *argv[])
{
  // Variables
  char nombre[80];
  char apellido[80];
  char nombre_hermano[80];
  char apellido_hermano[80];
  int edad;
  int edad_hermano;
  int suma;
  int multiplicacion;
  int media;
 
  // Leemos el nombre
  printf("Por favor, introduzca su nombre y apellido: ");
  scanf("%s", &nombre);
  scanf("%s", &apellido);
  // Leemos la edad
  printf("Por favor, introduzca su edad: ");
  scanf("%d", &edad);
  // Leer el nombre del hermano
  printf("Por favor, introduzca el nombre y apellido de su hermano: ");
  scanf("%s", &nombre_hermano);
  scanf("%s", &apellido_hermano);
  // Leer la edad del hermano
  printf("Por favor, introduzca la edad de su hermano: ");
  scanf("%d", &edad_hermano);
  // Calcular valores 
  printf("La suma de las edades de %s %s y %s %s es igual a %.2d años\n", nombre, apellido, nombre_hermano, apellido_hermano, edad + edad_hermano);
  printf("La multiplicacion de las edades de %s %s y %s %s es igual a %.2d años\n", nombre, apellido, nombre_hermano, apellido_hermano, edad * edad_hermano); 
  printf("La media de las edades de %s %s y %s %s es igual a %.2d años\n", nombre, apellido, nombre_hermano, apellido_hermano, (edad + edad_hermano) / 2);
 
  system("PAUSE");   
  return 0;
}
Linus Torvalds:
“El Software es como el sexo; es mejor cuando es gratis…”

arisma
Habitual
Habitual
Mensajes: 497
Registrado: 18 Sep 2009, 08:41

Re: [Curso] Introducción a la programación en C (V)

Mensaje por arisma »

Gracias brujitosexy.

Aunque te comento un par de cosillas.

No usaria unistd.h.
No usaria system("pause"), da error en alguna plataforma.
No hubiese estado mal que la media admitiera algún decimal, en lugar de ser entero.

Por otro lado, la captura de nombre y apellidos no se realiza correctamente. Creo que al menos ésto deberías repasarlo.

Un saludo.

Avatar de Usuario
brujitosexy
Experto
Experto
Mensajes: 1097
Registrado: 03 Sep 2009, 19:30

Re: [Curso] Introducción a la programación en C (V)

Mensaje por brujitosexy »

arisma escribió:Gracias brujitosexy.

Aunque te comento un par de cosillas.

No usaria unistd.h.
No usaria system("pause"), da error en alguna plataforma.
No hubiese estado mal que la media admitiera algún decimal, en lugar de ser entero.

Por otro lado, la captura de nombre y apellidos no se realiza correctamente. Creo que al menos ésto deberías repasarlo.

Un saludo.


1- No entiendo muy bien lo que me dices de unistd.h ( o es que tu no lo utiliza)?
2-Puse system("pause") por que tengo el window instalado para que la ventana comando no se quite tan rapido.
3- Lo de la media es que la redondea osea (30+35)/2=32.5, pero me lo pone como entero (creo que moskito explico respecto a este caso).
4- Lo puse asi por que sino le incluyo el apellido, cuando lo digite en el comando, algunas funciones no trabajaran bien.
O si lo estoy haciendo mal, me podeis explicar como hacerlo?

Saludos!!!
Linus Torvalds:
“El Software es como el sexo; es mejor cuando es gratis…”

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (V)

Mensaje por m0skit0 »

arisma escribió:No usaria unistd.h.
No usaria system("pause"), da error en alguna plataforma.

Tiene razón arisma, pero bueno, por ahora puedes pasar de estos puntos. Ya entenderás por qué más tarde.

brujitosexy escribió:3- Lo de la media es que la redondea osea (30+35)/2=32.5, pero me lo pone como entero (creo que moskito explico respecto a este caso).

Efectivamente, lo expliqué, pero en caso de ser media, debes darla con decimales, tal y como dice arisma.

arisma escribió:Por otro lado, la captura de nombre y apellidos no se realiza correctamente. Creo que al menos ésto deberías repasarlo.

A mí me funciona correctamente:

Código: Seleccionar todo

m0skit0@sobiet:~$ ./ejemplo
Por favor, introduzca su nombre y apellido: Pepito Grillo
Por favor, introduzca su edad: 27
Por favor, introduzca el nombre y apellido de su hermano: Nabil Grillo
Por favor, introduzca la edad de su hermano: 22
La suma de las edades de Pepito Grillo y Nabil Grillo es igual a 49 años
La multiplicacion de las edades de Pepito Grillo y Nabil Grillo es igual a 594 años
La media de las edades de Pepito Grillo y Nabil Grillo es igual a 24 años

m0skit0@sobiet:~$

Eso sí, debes corregir la media como ya se ha mencionado.

Buen curro y ánimo con ello, brujitosexy :oki:
Imagen

arisma
Habitual
Habitual
Mensajes: 497
Registrado: 18 Sep 2009, 08:41

Re: [Curso] Introducción a la programación en C (V)

Mensaje por arisma »

Te has adelantado, jeje.

Me refiero a que existen nombres compuestos.

Por ejemplo, "José Luis", "Juan José", "Francisco Javier"....

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (V)

Mensaje por m0skit0 »

Ah, haberlo dicho antes :D Cierto, si el nombre es compuesto, no funciona.
Imagen

Responder