CarApp
Notificaciones a celulares al detectar la alarma del auto activada.
 Todo Estructuras de Datos Archivos Funciones Variables Enumeraciones Valores de enumeraciones 'defines'
aux_functions.c
Ir a la documentación de este archivo.
1 //******************************************************************************
2 // Nombre: aux_functions.c
3 // Versión: 1.0
4 // Descripción: Archivo que contiene funciones auxiliares que se utilízan en los
5 // distintos módulos de la aplicación. Incluye funciones para comparar dos
6 // cadenas de forma insensible a mayúsculas y minúsuculas, y para
7 // convertir un entero en una cadena.
8 // Autores: Juan Martín Ortega, Ramiro Barrón, Andrea Cukerman
9 // IIE, Facultad de Ingeniería, UdelaR
10 // Uruguay
11 // Fecha: Junio 2012
12 //******************************************************************************
13 
23 #include <string.h>
24 #include <ctype.h>
25 #include "aux_functions.h"
26 
37 int stricmp(char* str1, char* str2)
38  {
39  char* str_aux1 = str1; // Copia puntero que apunta a primer cadena
40  char* str_aux2 = str2; // Copia puntero que apunta a segunda cadena
41  while(*str_aux1 != NULL) // Recorre primer cadena
42  {
43  *str_aux1 = toupper(*str_aux1); // Convierte el caracter a mayúscula
44  str_aux1++; // Incrementa puntero
45  }//end while
46  while(*str_aux2 != NULL) // Recorre segunda cadena
47  {
48  *str_aux2 = toupper(*str_aux2); // Convierte el caracter a mayúscula
49  str_aux2++; // Incrementa puntero
50  }//end while
51  return strcmp(str1, str2); // Compara las cadenas
52  }//end stricmp
53 
60 char* itoa(int integer)
61  {
62  static char aux_int[5]; // Define cadena resultante
63  int int_aux = integer; // Copia el valor del entero a convertir en primer entero auxiliar
64  int p = 0; // Define indice de cadena
65  int s; // Define segundo entero auxiliar
66  for(s=100; s>0 ; s/=10) // Divide por multiplos de 10 para convirtiendo de a dígito
67  {
68  if (int_aux >= s) // Verifica si el primer entero auxiliar es mayor o igual al segundo entero auxiliar
69  { // SI ES MAYOR O IGUAL
70  aux_int[p] = '0'+(int_aux/s); // Agrega dígito mas significativo del primer entero auxiliar a la cadena
71  int_aux %= s; // Divide primer entero auxiliar sobre segundo entero auxiliar
72  p++; // Incrementa índice de cadena
73  }//end if
74  else
75  { // SI ES MENOR
76  if (p != 0) // Verifica si el índice de la cadena es distinto de cero
77  { // SI ES DISTINTO DE CERO
78  aux_int[p] = '0'; // Agrega un cero a la cadena
79  p++; // Incrementa indice de cadena
80  }//end if
81  }//end else
82  }//end for
83  aux_int[p] = (char)0x00; // Agrega a la cadena el caracter NULL
84  return aux_int; // Devuelve un puntero apuntando a la cadena resultante
85  }// end itoa