Archive for the ‘c’ Category

Lenguaje C, Ejercicio tabla de multiplicar

diciembre 7, 2011

En esta ocasión, en la sección Lenguaje C , propongo un ejercicio bastante simple , que es de los primeros que se practican a la hora de aprender a crear algoritmos.


Se trata de hacer una simple tabla de multiplicar del 1 al 10 , que introduciendo cualquier numero , calcule y nos muestre la operación  y resultado.


——————————————-
Ejercicio: (Tabla de multplicar):
——————————————-
Escribir un programa que recibiendo como entrada un número entero , te visualice el numero multiplicado por su respectiva tabla de multiplicar , con los multiplicadores del 1 al 10.


==========================================================


Propongo el mio, como ejercicio resuelto:


#include (stdio.h)
#include (stdlib.h)


int main(int argc, char *argv[])
{
  int numero;
  int contador;
  
  //solicitar numero
  
  printf ("No. :  ");
  scanf (" %d",&numero);
  
 for ( contador = 1 ; contador <= 10 ; contador++ ){
      printf ("\n %d x %d = %d",numero,contador,numero*contador);
      }
  system("PAUSE");
  return 0;

Lenguaje C , Ejercicio calcular edad

diciembre 5, 2011

Veo interesante , crear un apartado dedicado a la programación en C en el blog.

No solo por su utilidad a la hora de crear aplicaciones, sino también como foro de debate a la hora de plantear ejercicios y su debida resolución, para el entendimiento del lenguaje.

Para programa en C es necesario tener conocimiento sobre la sintaxis de  este lenguaje , pero esta característica no es lo único necesario.

1º Necesitaremos un Compilador y un Linkeador, cualidades que emplean diferentes programas en una sola aplicación , ademas … muchas disponibles gratuitamente y son validas para lenguaje C y C++.
Os recomiendo este Dev-C++. cuya pagina web es http://www.bloodshed.net/

2º Un libro sobre programación  C, o un manual en pdf /ebook.

            Os recomiendo este: http://www.sisoft.ucm.es/Manuales/Lenguaje_C.pdf
            Que distribuye los servicios informaticos de la UCM
             (Universidad Complutense de Madrid)

           *Yo utilizo el libro de Luis Joyanes
           «C, algoritmos ,programación y estructuras de datos»de la editorial  SCHAUM (muy  recomendado).

3º Lápiz , Papel y paciencia.

Ejercicio: (Calcular edad):

Escribir un programa que recibiendo como entrada 2 datos de fecha en formato dia (1 a 31) , mes (1 a 12) , y año (entero de cuatro dígitos) siendo fecha de nacimiento y fecha actual dichos datos ,calcule la edad en formato «Años» , siendo el calculo para una edad adulta,  y en «Meses / Días» si tuviera menos de 1 año ,en caso de calcular la edad de un bebé.

==========================================================

Propongo el mio, como ejercicio resuelto:


#include (stdio.h) 
#include (stdlib.h)
#include (conio2.h)
//crear tabla datos "fecha"
typedef struct {
        int dia;
        int mes;
        int anyo;
        }fecha;
int main(int argc, char *argv[])
{
    //variables
   
    int Edad;
    int error=0;
    fecha Fnacimiento;
    fecha Factual;
    fecha Fedad;
 //pantalla presentacion
//ESTRUCTURA VISIBLE - PEDIR FECHAS
    clrscr ();
    gotoxy (2,2);
    printf ("Introducir - Fecha de Nacimiento :");
    gotoxy (2,4);
    printf ("Introducir - Fecha Actual : \n\n\n\n\n\n");

    //Pedir fecha de nacimiento en Fecha de Nacimiento
             gotoxy (37,2);
             scanf (" %d" ,&Fnacimiento.dia);
             gotoxy (39,2);
             printf ("/");
             gotoxy (40,2);
             scanf (" %d" ,&Fnacimiento.mes);
             gotoxy (42,2);
             printf ("/");
             gotoxy (43,2);
             scanf (" %d" ,&Fnacimiento.anyo);
             //comprobar que este sea correcta la introduccion
             if (Fnacimiento.mes12)
                             error=1;
            else if (Fnacimiento.dia31)
                             error=1;
                             else
                            //comprobar dia en mes de 30 dias
                              switch (Fnacimiento.mes) {
                               case 4:
                               case 6:
                               case 9:
                               case 11:     
                               if (Fnacimiento.dia>30)
                                   error=1;
                                   break;
                             //comprobar Febrero
                                         case 2:
                                         if (Fnacimiento.dia>28)
                                          error=1;
                                          break;
                                          }
  
  //Pedir fecha de actual en Fecha de Actual
             gotoxy (30,4);
             scanf (" %d" ,&Factual.dia);
             gotoxy (32,4);
             printf ("/");
             gotoxy (33,4);
             scanf (" %d" ,&Factual.mes);
             gotoxy (35,4);
             printf ("/");
             gotoxy (36,4);
             scanf (" %d" ,&Factual.anyo);
             //comprobar que este sea correcta la introduccion
             if (Factual.mes12)
                             error=1;
            else if (Factual.dia31)
                             error=1;
                             else
                             
                             //comprobar dia en mes de 30 dias
                              switch (Factual.mes) {
                               case 4:
                               case 6:
                               case 9:
                               case 11:     
                               if (Factual.dia>30)
                                   error=1;
                                   break;
                             //comprobar Febrero
                                         case 2:
                                         if (Factual.dia>28)
                                          error=1;
                                          break;
                                          }
//FIN ESTRUCTURA VISIBLE PEDIR FECHAS
      
    Fedad.dia=Factual.dia-Fnacimiento.dia;
    Fedad.mes=Factual.mes-Fnacimiento.mes;
    Fedad.anyo=Factual.anyo-Fnacimiento.anyo;
 

//si es un Bebe ...años menor1



if (Factual.anyo-Fnacimiento.anyo==0) {
       if (Factual.dia-Fnacimiento.dia<0); 
                       switch (Fnacimiento.mes){
                                     case '4':
                                     case '6':
                                     case '9':
                                     case '11':
                                     Fedad.mes--,Fedad.dia=Fedad.dia+30;
                                     break;
                                     case '2':
                                     Fedad.mes--,Fedad.dia=Fedad.dia+28;
                                     break;
                                     }
                                      (Fedad.mes--,(Fedad.dia=Fedad.dia+31));
              
      printf ("\n La edad es ...: %d Meses / %d Dias \n" ,Fedad.mes,Fedad.dia);
      }else 
      printf ("\n La edad es ...: %d  Anyos  \n ",Factual.anyo-Fnacimiento.anyo);

  system("PAUSE");
  return 0;
}