elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con archivos .c y .h
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con archivos .c y .h  (Leído 2,932 veces)
bsantana

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Ayuda con archivos .c y .h
« en: 19 Abril 2016, 00:51 am »

Buenas, tengo una duda con unos requerimientos raros que tengo en un proyecto de la universidad.
Tengo mi programa listo para entregar, pero me solicitan entregar esto junto al programa.
Citar
14.Construir un archivo separado llamado test.c donde se encuentre el procedimiento o función main a fin de demostrar el uso de sus funciones. Procure entregar resultados por pantalla sobre cada llamado.
15.Estructurar programa empleando archivos de cabecera (.h) y los códigos fuentes (.c)

Bueno la verdad no nos dan ningun ejemplo de como son estos archivos ni nada, por lo que les consulto si alguien tiene idea alguna de como hacerlos. Saludos


En línea

HardForo

Desconectado Desconectado

Mensajes: 219


HardForo.com


Ver Perfil WWW
Re: Ayuda con archivos .c y .h
« Respuesta #1 en: 19 Abril 2016, 01:16 am »

Las definiciones de las funciones (que son opcionales en ciertos casos) se pueden colocar en un archivo aparte de "headers" (de extension .h y con el mismo nombre que tu .c)

Código:
// palindromos.c

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

using namespace std;

/*
Capicupa (palindromo) ?

*/

// todo esto podria estar en palindromos.h
const char* r_bool(bool b);
bool es_capicua(int x);
void print_capicua_rango(int a, int b);


int main(void)
{
cout << r_bool(es_capicua(10000)) << endl; // false
cout << r_bool(es_capicua(10001)) << endl; // true
cout << r_bool(es_capicua(10501)) << endl; // true
cout << r_bool(es_capicua(807)) << endl; // false
cout << r_bool(es_capicua(808)) << endl; // true

print_capicua_rango(19,100);

getchar();
}

void print_capicua_rango(int a, int b){
int i,count=0;
for (i=a; i<b; i++){
if (es_capicua(i)){
cout << i << endl;
count++;
}
}
cout << "El numero de terminos capicua es " << count;
}

bool es_capicua(int x){
char buffer [10];
int i;
bool exito = true;

itoa(x,buffer,10);

int len = strlen(buffer);
for (i = 0; i<(int)len/2 && exito; i++)
exito = buffer[i]==buffer[len-1-i];

return exito;
}

const char* r_bool(bool b){
  return (b ? "true" : "false");
}


Se convierte en......

Código:
// palindromos.h

const char* r_bool(bool b);
bool es_capicua(int x);
void print_capicua_rango(int a, int b);


Código:
// palindromos.c

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "palindromos.h"

using namespace std;

/*
Capicupas (palindromos)
*/


int main(void)
{
cout << r_bool(es_capicua(10000)) << endl; // false
cout << r_bool(es_capicua(10001)) << endl; // true
cout << r_bool(es_capicua(10501)) << endl; // true
cout << r_bool(es_capicua(807)) << endl; // false
cout << r_bool(es_capicua(808)) << endl; // true

print_capicua_rango(19,100);

getchar();
}

void print_capicua_rango(int a, int b){
int i,count=0;
for (i=a; i<b; i++){
if (es_capicua(i)){
cout << i << endl;
count++;
}
}
cout << "El numero de terminos capicua es " << count;
}

bool es_capicua(int x){
char buffer [10];
int i;
bool exito = true;

itoa(x,buffer,10);

int len = strlen(buffer);
for (i = 0; i<(int)len/2 && exito; i++)
exito = buffer[i]==buffer[len-1-i];

return exito;
}

const char* r_bool(bool b){
  return (b ? "true" : "false");
}


En línea

HardForo:  foro de Hardware y programación

Se buscan Mods y colaboradores *
bsantana

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Ayuda con archivos .c y .h
« Respuesta #2 en: 19 Abril 2016, 01:48 am »

Las definiciones de las funciones (que son opcionales en ciertos casos) se pueden colocar en un archivo aparte de "headers" (de extension .h y con el mismo nombre que tu .c)

Código:
// palindromos.c

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

using namespace std;

/*
Capicupa (palindromo) ?

*/

// todo esto podria estar en palindromos.h
const char* r_bool(bool b);
bool es_capicua(int x);
void print_capicua_rango(int a, int b);


int main(void)
{
cout << r_bool(es_capicua(10000)) << endl; // false
cout << r_bool(es_capicua(10001)) << endl; // true
cout << r_bool(es_capicua(10501)) << endl; // true
cout << r_bool(es_capicua(807)) << endl; // false
cout << r_bool(es_capicua(808)) << endl; // true

print_capicua_rango(19,100);

getchar();
}

void print_capicua_rango(int a, int b){
int i,count=0;
for (i=a; i<b; i++){
if (es_capicua(i)){
cout << i << endl;
count++;
}
}
cout << "El numero de terminos capicua es " << count;
}

bool es_capicua(int x){
char buffer [10];
int i;
bool exito = true;

itoa(x,buffer,10);

int len = strlen(buffer);
for (i = 0; i<(int)len/2 && exito; i++)
exito = buffer[i]==buffer[len-1-i];

return exito;
}

const char* r_bool(bool b){
  return (b ? "true" : "false");
}


Se convierte en......

Código:
// palindromos.h

const char* r_bool(bool b);
bool es_capicua(int x);
void print_capicua_rango(int a, int b);


Código:
// palindromos.c

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "palindromos.h"

using namespace std;

/*
Capicupas (palindromos)
*/


int main(void)
{
cout << r_bool(es_capicua(10000)) << endl; // false
cout << r_bool(es_capicua(10001)) << endl; // true
cout << r_bool(es_capicua(10501)) << endl; // true
cout << r_bool(es_capicua(807)) << endl; // false
cout << r_bool(es_capicua(808)) << endl; // true

print_capicua_rango(19,100);

getchar();
}

void print_capicua_rango(int a, int b){
int i,count=0;
for (i=a; i<b; i++){
if (es_capicua(i)){
cout << i << endl;
count++;
}
}
cout << "El numero de terminos capicua es " << count;
}

bool es_capicua(int x){
char buffer [10];
int i;
bool exito = true;

itoa(x,buffer,10);

int len = strlen(buffer);
for (i = 0; i<(int)len/2 && exito; i++)
exito = buffer[i]==buffer[len-1-i];

return exito;
}

const char* r_bool(bool b){
  return (b ? "true" : "false");
}


Muchas gracias, muy claro todo.
Si es que sabes algo del test.c te lo agradeceria mucho!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda con archivos ASF y WMV
Multimedia
dama 1 1,866 Último mensaje 7 Diciembre 2004, 20:19 pm
por Songoku
AYUDA:ARCHIVOS BIN Y CUE
Software
Kasswed 1 9,293 Último mensaje 8 Enero 2005, 01:51 am
por el-brujo
Ayuda con archivos .ape y .cue
Multimedia
josocli 1 1,905 Último mensaje 1 Febrero 2005, 10:40 am
por Songoku
ayuda para Reparar archivos de un DVD que cambio de formato a mis archivos
Multimedia
Maxlej 1 3,693 Último mensaje 5 Junio 2013, 16:29 pm
por Eleкtro
[ayuda] Crear para modificar archivos [ayuda]
Dudas Generales
stifmstr 1 2,187 Último mensaje 5 Febrero 2014, 22:27 pm
por z3nth10n
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines