marzo 01, 2013

EJEMPLO: PROGRAMA DONDE INGRESA EL SEXO DE UNA PERSONA Y VE SI ES HOMBRE O MUJER


 Ingresar el sexo de una persona como " f o " m ", luego informar "es hombre" si ingreso una m, o "es mujer" si ingreso una f.


void main()
{
char sexo;

printf("Ingrese sexo: ");
scanf("%c",&sexo);
fflush(stdin);

if (sexo=='f')
printf("\nEs mujer");
if (sexo=='m')
printf("Es hombre");

getch();

}


o también:

void main()
{
char sexo;

printf("Ingrese sexo: ");
sexo = getch();
if (sexo=='f')
printf("\nEs mujer");
if (sexo=='m')
printf("Es hombre");

getch();

}

EJEMPLO: PROGRAMA DE ALUMNOS QUE LEE SUS MATRICULAS EN NUMEROS ENTEROS Y CALIFICACIONES EN CHAR CON FUNCION


Función que lee las matrículas (números enteros) y las calificaciones (tipo char) de los alumnos de un grupo y las almacene en dos arreglos unidimensionales. La función deberá leer los datos hasta que se de una matrícula cero la cual indica el fin de captura. La función regresa el número de alumnos por el mecanismo de return. Después debe de imprimir el contenido de los arreglos.

#include stdio.h

void despliega(int *mats,char *califs,int numcap);
int leedato(int *mats,char *califs,int maximo);

void main(void){
int max=30,matr[29],numalumn;
char calif[29];

 clrscr();

 numalumn=leedato(matr,calif,max);
 printf("\nEl numero de alumnos capturados es %d",numalumn);
 despliega(matr,calif,numalumn);

}
 int leedato(int *mats,char *califs,int maximo){

  int n=0;

  printf("\n   *** Introduce la matricula y su calificacion.  ***");
  printf("\n   *** Para terminar dale un cero a la matricula. ***");

   while(1){

    if(n>=maximo){
    printf("\nEl arreglo se encuentra lleno");
    getch();
    break;
   }
     printf("\n\nMatricula del alumno %d: ",n+1);
     scanf("%d",mats);

      if(*mats==0){
      break;
     }
       printf("\nCalificacion del alumno %d: ",n+1);
       scanf("%d",califs);

       mats++;
       califs++;
       n++;
 }
return n;
}

 void despliega(int *mats,char *califs,int numcap){

   int i=1;

    while(1){

      if(i>numcap){
      break;
     }
       printf("\nLa calificacion del alumno %d es %d",*mats,*califs);
       i++;
       mats++;
       califs++;
   }
        getch();
 }

EJEMPLO: PROGRAMA QUE FUNCIONA COMO ATOI, CONVIERTE CADENA EN ENTERO


Ejemplos de cadenas. Función que realiza la misma operación que la función atoi, que convierte una cadena en un entero. La función regresa el entero representado por la cadena s si se pudo convertir, en caso contrario regresa 0. Si la función encuentra caracteres espacio o tabulación, los salta. Si al empezar la secuencia de dígitos, ésta se interrumpe, el programa termina.

#include stdio.h
#include ctype.h

int myatoi(char *s);

void main(void){

 int n;
 char cad[50];
  clrscr();

  printf("Introduce la cadena: ");
  gets(cad);
  n=myatoi(cad);
   printf("\nEl entero extraido de la cadena fue %d",n);
    getch();
}

 int myatoi(char *s){
  int signo=1,num=0;

   while(1){
    if(*s==' ' || *s=='\t'){
     s++;
   }
     else break;
   }
     if(*s=='+'){
     s++;
    }
      else if(*s=='-'){
       signo=-1;
s++;
      }
       while(1){
if(*s=='\0' || !isdigit(*s)){
break;
       }
  num=10*num+(*s-'0');
  s++;
     }
   return signo*num;
 }

EJEMPLO: PROGRAMA QUE LEE NUMEROS PERO CON INSTRUCCIONES "GUARDAR" "LISTA"


Función que lee una serie de números de la línea de comandos y ejecuta la instrucción proporcionada después del último número de la serie. Si la instrucción es GUARDA, los números son guardados en un arreglo de tipo entero. Si la instrucción es LISTA, los numeros son desplegados como cadenas.


#include stdio.h
#include ctype.h
#include string.h
#include stdlib.h

 void main(int np, char *ps[]){
  int arreglo[100],j,i;
   clrscr();

     if(strcmp(ps[np-1],"GUARDA")==0){
      for(i=0,j=1;j<(np-1);i++,j++){
       arreglo[i]=atoi(ps[j]);
       printf("\n%d",arreglo[i]);
      }
    }

      if(strcmp(ps[np-1],"LISTA")==0){
       for(i=1;i<(np-1);i++){
       puts(ps[i]);
      }
    }

 }