Академический Документы
Профессиональный Документы
Культура Документы
Libreras Dev-C++
<assert.h> Contiene la macro assert (asercin), utilizada para detectar errores lgicos y otros
tipos de fallos en la depuracin de un programa.
<complex.h> Conjunto de funciones para manipular nmeros complejos (nuevo en C99).
<ctype.h> Contiene funciones para clasificar caracteres segn sus tipos o para convertir entre
maysculas y minsculas independientemente del conjunto de caracteres (tpicamente ASCII o
alguna de sus extensiones).
< errno.h> Para testar los cdigos de error devueltos por las funciones de biblioteca.
< fenv.h> Para controlar entornos en coma flotante (nuevo en C99).
< float.h> Contiene la definicin de constantes que especifican ciertas propiedades de la
biblioteca de coma flotante, como la diferencia mnima entre dos nmeros en coma flotante
(_EPSOLON), el nmero mximo de dgitos de precisin (_DIG), o el rango de valores que se
pueden representar (_MIN, _MAX).
< inttypes.h> Para operaciones de conversin con precisin entre tipos enteros (nuevo en C99).
< iso646.h> Para utilizar los conjuntos de caracteres ISO 646 (nuevo en NA1).
< limits.h> Contiene la definicin de constantes que especifican ciertas propiedades de los tipos
enteros, como rango de valores que se pueden representar (_MIN, _MAX).
< locale.h> Para la funcin setlocale() y las constantes relacionadas. Se utiliza para seleccionar el
entorno local apropiado (configuracin regional).
< math.h> Contiene las funciones matemticas comunes.
< setjmp.h> Declara las macros setjmp y longjmp para proporcionar saltos de flujo de control de
programa no locales.
< signal.h> Para controlar algunas situaciones excepcionales como la divisin por cero.
< stdarg.h> posibilita el acceso a una cantidad variable de argumentos pasados a una funcin.
< stdbool.h> Para el tipo booleano (nuevo en C99).
< stdint.h> Para definir varios tipos enteros (nuevo en C99).
< stddef.h> Para definir varios tipos de macros de utilidad.
< stdio.h> Proporciona el ncleo de las capacidades de entrada/salida del lenguaje C (incluye la
venerable funcin printf).
< stdlib.h> Para realizar ciertas operaciones como conversin de tipos, generacin de nmeros
pseudo-aleatorios, gestin de memoria dinmica, control de procesos, funciones de entorno, de
sealizacin (??), de ordenacin y bsqueda.
< string.h> Para manipulacin de cadenas de caracteres.
< tgmath.h> Contiene funcionalidades matemticas de tipo genrico (type-generic) (nuevo en
C99).
< time.h> Para tratamiento y conversin entre formatos de fecha y hora.
< wchar.h> Para manipular flujos de datos anchos y varias clases de cadenas de caracteres
anchos (2 o ms bytes por carcter), necesario para soportar caracteres de diferentes idiomas
(nuevo en NA1).
< wctype.h> Para clasificar caracteres anchos (nuevo en NA1).
2
int main()
{
char s1[11] = "Hola ";
char s2[6] = "amigos";
printf( "s1=%s\t", s1 );
printf( "s2=%s\n", s2 );
strcat( s1, s2 );
printf( "s1=%s\n", s1 );
return 0;
}
int main()
{
int i;
for(i=0; i<5; i++)
{
cout<<rand()%12; }
return 0;
}
srand(valor de la semilla)
La escritura de una funcin rdtsc() podr facilitarte las cosas, la sintaxis siguiente funciona con
GCC en Linux y la puedes encontrar con dev C++ en Windows:
#include <stdlib.h>
#include <stdio.h>
3
int rdtsc()
{
__asm__ __volatile__("rdtsc");
}
int main()
{
int i;
for(i=0; i<5; i++)
{
srand(rdtsc());
printf("%d\n", rand());
}
return 0;
}
Librera string.h
Las funciones declaradas en string.h se han hecho muy populares, por lo que estn garantizadas para
cualquier plataforma que soporte C. Sin embargo, existen algunos problemas de seguridad con estas
funciones, como el desbordamiento de buffer (buffer overflow), que hacen que algunos
programadores prefieran opciones ms seguras frente a la portabilidad que estas funciones ofrecen.
Adems, las funciones para cadenas de caracteres slo trabajan con conjuntos de caracteres ASCII o
extensiones ASCII compatibles.
Funciones de string.h
Nombres Descripcin
memcpy copia n bytes entre dos reas de memoria que no deben solaparse
copia n bytes entre dos reas de memoria; al contrario que memcpy las reas pueden
memmove
solaparse
strerror devuelve la cadena con el mensaje de error correspondiente al nmero de error dado
devuelve la posicin del primer carcter de una cadena que no coincide con ninguno
strspn
de los caracteres de otra cadena dada
devuelve la posicin del primer carcter que coincide con alguno de los caracteres de
strcspn
otra cadena dada
5
Archivos secuenciales
#include <stdio.h>
#include <conio.h>
#include <string.h>
struct {
int matricula;
char nombre[30];
int edad;}alumno;
void main() {
clrscr();
FILE *archdisco;
archdisco = fopen("cpp:\\ac\\alumnos.dat","w");
fclose(archdisco);
6
printf("ARCHIVO CREADO");
getchar();getchar();
1. /*
2. * autor: online.enlared@gmail.com
3. */
5. #include <stdio.h>
6. #include <ctype.h>
7. #include <string.h>
8. #include <stdlib.h>
9. #define M 3
13. {
17. };
18.
27.
30. {
35. for(i=0;i<M;i++)
39. {
40. Menu();
44. {
46. case 1:
47. IngresoDatos(datos);
48. break;
50. case 2:
51. BajaDatos(datos);
52. break;
54. case 3:
55. MuestraDatos(datos);
56. break;
58. case 4:
59. ModificaDatos(datos);
60. break;
9
61. case 5:
62. system("cls");
64. system("pause>>null");
65. break;
66. default:
68. system("pause>>null");
69. break;
70. }
71. }
72. return 0;
73. }
76. {
77. system("cls");
79. printf("--------------\n");
86. }
87.
89. {
91. FLUSH;
94. {
97. }
99. return;
100. }
101.
103. {
105. // FLUSH;
108. {
111. }
113. }
114.
116. {
117. int i;
119. system("cls");
121. printf("-----------------\n");
123. for(i=0;i<M;i++)
124. {
126. {
12
129. ValidarCodigo(datos[i].codigo);
132. ValidarCadena(datos[i].descripcion);
136. datos[i].precio=tempfloat;
140. break;
141. }
142. }
144. if(i==M)
146. else
149. system("pause>>null");
150. return;
151. }
152.
154. {
155. int a;
157. system("cls");
159. printf("-----------------\n");
161. printf("Ingrese codigo del articulo que quiere dar de baja: ");
162. FLUSH;
163. gets(aux);
164.
167. {
169. FLUSH;
170. gets(aux);
171. }
173. for(a=0;a<M;a++)
174. {
176. {
178. break;
179. }
180. }
182. if (a==M)
184. else
186.
188. system("pause>>null");
189. }
191. {
192. int i;
193. system("cls");
195. printf("--------------------\n");
198. /* LISTA TODO EL VECTOR CON SUS DISTINTOS TIPOS DE DATOS (EL -29
ES PARA QUE LOS CARACTERES SE PONGAN A LA IZQUIERDA)*/
199. for(i=0;i<M;i++)
200. {
202. {
204. }
205. }
207. system("pause>>null");
208. }
209.
211. {
16
215.
216. system("cls");
218. printf("-------------------------\n");
221. FLUSH;
222. gets(aux);
223. /* VALIDA */
225. {
227. FLUSH;
228. gets(aux);
229. }
231. for(a=0;a<M;a++)
232. {
234. {
235. system("cls");
238. printf("------------------------------\n");
246. switch(modificar)
247. {
248. case 1:
249. system("cls");
250.
253. FLUSH;
254. gets(aux);
18
255.
256. /* LA VALIDA */
258. {
260. FLUSH;
261. gets(aux);
262. }
266. system("pause>>null");
267. break;
268.
269. case 2:
270. system("cls");
271.
275. datos[a].precio=tempfloat;
datos[a].descripcion, datos[a].precio);
277. system("pause>>null");
278. break;
279. case 3:
280. system("cls");
281.
286. system("pause>>null");
287. break;
288. case 4:
289. system("cls");
290. break;
291. }
292. break;
293. }
294. }
295.
297. if (a==M)
20
298. {
300. }
301.
303. system("pause>>null");
304. }