Comunidad Underground Hispana  

Retroceder   Comunidad Underground Hispana > Programacion > Carbide C/C#/C++


Respuesta Crear Nuevo Tema
 
Compartir en twitter LinkBack Herramientas Desplegado
Antiguo 11-abr-2010, 17:59   #1
Novato
 
Fecha de Ingreso: marzo-2010
Amigos 0
Mensajes: 45
Gracias: 0
Agradecido 4 veces en 4 mensajes.
Smile Proyecto en lenguaje C: ideas y documentación

Hola:

Necesito si podeis pasarme alguna plantilla de manual de usuario y de programador así como de cualquier documentación que consideris que debe acompañar a un proyecto desarrollado en lenguaje C.

Agradecería también ideas para desarrollar un proyecto en C para alguien que lo acaba de aprender en un cusro, para que lo haga para confirmar lo aprendido.

Saludos
Angelika está desconectado   Responder Citando
Antiguo 12-abr-2010, 17:19   #2
Miembro
 
Avatar de Winderbell
 
Fecha de Ingreso: abril-2010
Amigos 6
Mensajes: 86
Gracias: 0
Agradecido 0 veces en 0 mensajes.
Predeterminado

Hola Angelika,

Pues tienesm ucha documentación en este mismo foro, revisa los temas fijados para hacer un proyecto... ¿muy grande?

Para hacer un proyecto yo te recomendaría que primero diseñaras una especificación de los tipos de datos necesarios, y de la algorítmica a seguir, la división en módulos y funciones etc.

Después, ser fiel en la medida de lo posible con el diseño, cuidadosamente, rectificando posibles errores del diseño y sobreotod tener un buen sistema de depuración (ya sea ayudándote de un programa depurador o no)

divide el código en implementaciones .c y en cabeceras .h, y para compilar utiliza un makefile.

Eso es lo que haría, con un proyecto medianamente grande, si es muy grande lo suyo sería dividir el trabajo entre varias personas.

Saludos.
__________________

Winderbell está desconectado   Responder Citando
Antiguo 13-abr-2010, 05:30   #3
Novato
 
Fecha de Ingreso: marzo-2010
Amigos 0
Mensajes: 45
Gracias: 0
Agradecido 4 veces en 4 mensajes.
Smile

Muchas gracias. Supongo que el proyecto no sera muy grande, ya que es para hacerlo en un més entre 2 o tres personas en clases de 9 horas semanale.
No he hecho nunca un proyecto en c, por eso estoy un poco perdida, aunque los he hecho en otros lenguajes, y los pasos que me dices son los lógicos en general.

1) No sé muy bien qué si debo crear archivos .h, ya que los que he utilizado son de bibliotecas de C ¿que suele ponerse en ellos?

2) Lo que no conozco es que es un makefile.

3)Tampoco tengo claro que herramienta recomendar a los alumnos para trabajar. Agrazdezco todo lo que podais ayudarme. Me han recomendado DEV C++

4)Si puedes orientarme porqué parte del foro debo mirar lo que me comentas al principio de tu ,mensaje, mejor

Gracias por toda ayuda
Angelika está desconectado   Responder Citando
Antiguo 13-abr-2010, 10:12   #4
Miembro
 
Avatar de Princesita
 
Fecha de Ingreso: abril-2010
Amigos 3
Mensajes: 106
Gracias: 0
Agradecido 5 veces en 5 mensajes.
Smile

1) No sé muy bien qué si debo crear archivos .h, ya que los que he utilizado son de bibliotecas de C ¿que suele ponerse en ellos?

En ellos pues puedes declarar funciones, estructuras, variables... es como cuando tienes un proyecto digamos una aplicacion de contabilidad (por ejemplo) y sabes que dicha aplicacion tiene 1 modulo para nomina, 1 modulo para creditos, 1 modulo para costos, etc. Entonces... tu quieres organizar tu aplicacion que haces? pues crear 1 header que incluya todas las funciones, variables, estructuras, todo de nomina, otro header independiente que incluya todas las funciones, estructuras, variables, etc de nomima.. y asi sucesivamente. Ahora porque de esta manera? porque suponte que metieras todas las funciones, estructuras, variables, etc de Nomina, Creditos, Costos en el main.c ademas que tendrias mas de 2,000 lineas de codigo, tendrias un objeto compilado al final enorme, y a la hora que tengas que modificar 1 funcion de Credito por ejemplo.... tener que rebuscarte entre esas 2,000 lineas todas las referencias existentes que trabajan con Credito. Pesadito no? sin embargo si cada uno va divido en modulos individuales, que comodo es abrir el header Creditos y modificar lo que haya alli.

Creo que este Link podria ayudarte en algo:

[Solo usuarios registrados pueden ver los links. REGISTRARSE]



Hacerca del Makefile

[Solo usuarios registrados pueden ver los links. REGISTRARSE]



3)Tampoco tengo claro que herramienta recomendar a los alumnos para trabajar. Agrazdezco todo lo que podais ayudarme. Me han recomendado DEV C++

Si estas en ambientes Windows.. si esa te convendria bastante, puedes tambien optar por GCC + Notepad++ para Windows.. pero definitivamente DEV C++ es mas comodo.
Princesita está desconectado   Responder Citando
Antiguo 13-abr-2010, 13:59   #5
Moderador
 
Avatar de ajr784
 
Fecha de Ingreso: marzo-2007
Amigos 5
Mensajes: 1.707
Gracias: 31
Agradecido 359 veces en 311 mensajes.
Predeterminado

Cita:
porque suponte que metieras todas las funciones, estructuras, variables, etc de Nomina, Creditos, Costos en el main.c ademas que tendrias mas de 2,000 lineas de codigo, tendrias un objeto compilado al final enorme
Suponiendo que te refieres a que es el archivo objeto y no así al programa ejecutable, dividir el programa en módulos (en distintos archivos) no tiene efecto sobre el tamaño del programa ejecutable sino sobre el tiempo de compilación (cuantos más archivos distintos, más tiempo de compilación lleva, a menos claro que se utilice alguna herramienta (como los Makefiles) que verifica que si un archivo ya está compilado con la última versión del código fuente, no lo vuelve a compilar). (Me extendí mucho, perdón por eso).

> 1) No sé muy bien qué si debo crear archivos .h, ya que los que he utilizado son de bibliotecas de C ¿que suele ponerse en ellos?
La razón principal es por orden, supongamos que empiezas con un programa, dicho programa empieza a crecer (en líneas de código), entonces es necesario dividirlo en archivos (tal como dice @Princesita), el problema surge en que si únicamete divides en archivos .c, luego tu main no podrá reconocer tus funciones... (saliendo de tema y explicando los .h)
Archivo.c
Código:
#include <stdio.h>

void saluda(char *nombre)
{
    if(nombre != NULL){
        printf("Hola %s\n", nombre);
    }else{
        printf("Hola!\n");
    }
}
  
main.c
Código:
#include <stdio.h>

int main()
{
    saluda("Anibal");
    return 0;
}
  
Dicho programa no compilará, al intentar compilar el main dirá que no se reconoce hola, para ello es necesario hacer un prototipo de función, así el main.c quedaría:
Código:
#include <stdio.h>
void saluda(char *); // prototipo de función

int main()
{
    saluda("Anibal");
    return 0;
}
  
El problema surge en que cuando quiero usar la función en varios lugares (en muchos archivos fuentes), necesito colocar el prototipo en cada uno de ellos (ni hablar si agrego una nueva función, debo empezar a rastrear a dónde la utilizo y agregar el prototipo), en si un trabajo de mono. Por lo que si yo agrego ese prototipo en un archivo de cabecera (.h ), luego lo único que hago es incluir dicho archivo y ya tengo todo más manejable.

NOTA: cuidado, los archivos de cabecera traen problemas de doble inclusión, por lo que es necesario utilizar guardas de compilación (se busca en google y se tiene todo resuelto)

> 2) Lo que no conozco es que es un makefile.
Los Makefiles son archivos que facilitan la compilación, si utilizas un IDE no necesitar saber nada, el IDE lo hace por ti (igual es bueno saber).

Volviendo a tu pregunta, sin saber mucho sobre tus conocimientos, un programa que puede llegar a reunir suficientes conocimientos, puede llegar a ser una libreta de direcciones de tus amigos, que te permita buscar, borrar, dar de alta, modificar y esas cosas.

PD: Debo acostumbrarme a que cuando escribo mucho, no usar el respuesta rápida
__________________
Cita:
Los buitres son buitres porque no negocian
-- Axel Kicillof, Mtro. de economía Argentino --
Cita:
Los corredores deben correr. Los policías deben comer donas.
---Need for Speed. La película---

Última edición por ajr784; 13-abr-2010 a las 17:09
ajr784 está desconectado   Responder Citando
Antiguo 13-abr-2010, 14:07   #6
Novato
 
Fecha de Ingreso: marzo-2010
Amigos 0
Mensajes: 45
Gracias: 0
Agradecido 4 veces en 4 mensajes.
Smile gracias -manual dev c++

1) Muchas gracias a los 2, Princesita y ajr784 por vuestras aclaraciones y sugerencias.

2) Gracias por la idea de la agenda de los amigos, pero es de las pocas que encontré....

"agenda telefónica, permite guardar, buscar, borrar, actualizar, visualizar, y crear un archivo de los datos (Número telefónico, apellido, nombre, dirección, observaciones) "

Me han dado otras 2 que tengo que valorar: una calculadora matemática, la gestión de un videoclub. Pero era porque se supone que tengo unos 15 alumnos mínimo y necesito unas 5 ideas... pero creo que ya con estas tengo base para pensar otras si no surgen

3) Al final creo que voy a intentar echarle un vistazo al Dev c++, ya que hasta ahora sólo he usado un poco Borland c.¿podeis pasarme algún manual pero no muy complicado? Como Dev c++ es un IDE...permite MAKEFILES?
Gracias de nuevo


4) nota para ajr784:

dices al principio de tu mensaje


Código:

main.c
#include <stdio.h>

void saluda(char *nombre)
{
if(nombre != NULL){
printf("Hola %s\n", nombre);
}else{
printf("Hola!\n");
}
}

pero ...no sería en lugar de void saluda(char *nombre) ----> void hola(char *nombre)

Última edición por Angelika; 13-abr-2010 a las 16:30
Angelika está desconectado   Responder Citando
Antiguo 13-abr-2010, 17:12   #7
Moderador
 
Avatar de ajr784
 
Fecha de Ingreso: marzo-2007
Amigos 5
Mensajes: 1.707
Gracias: 31
Agradecido 359 veces en 311 mensajes.
Predeterminado

Cita:
pero ...no sería en lugar de void saluda(char *nombre) ----> void hola(char *nombre)
Perdón, se me pasó, pasa que cuando hago cosas así en el aire suelo tirar nombres bobos y se me metió en la cabeza hola, y luego la cambié por saluda, ahí lo arreglé (opté por cambiar las llamadas a saluda en lugar de cambiar el nombre de la función, porque era mi primera solución).
__________________
Cita:
Los buitres son buitres porque no negocian
-- Axel Kicillof, Mtro. de economía Argentino --
Cita:
Los corredores deben correr. Los policías deben comer donas.
---Need for Speed. La película---
ajr784 está desconectado   Responder Citando
Antiguo 13-abr-2010, 17:33   #8
Miembro
 
Avatar de Winderbell
 
Fecha de Ingreso: abril-2010
Amigos 6
Mensajes: 86
Gracias: 0
Agradecido 0 veces en 0 mensajes.
Predeterminado

Cita:
necesito unas 5 ideas..
Pues otras 2 ideas:

- Un consultorio médico con estucturas de datos que relacionen pacientes con médicos y citas con los mismos.

- Un minijuego tipo dominó o ajedrez, o de otro estilo.

Cita:
¿podeis pasarme algún manual pero no muy complicado?
Para esto puedes revisar le sección de tutoriales, seguramente haya alguno de DEV C++

Cita:
Como Dev c++ es un IDE...permite MAKEFILES?
Si no me equivoco, los IDE no suelen necesitar Makefiles, o por lo menos en Visual C++ se suelen construir los proyectos divididos en módulos compilándose los ficheros modificados (el Makefile, estaría implícito en el entorno, pienso)

Añado:

En los ficheros .h yo también suelo poner los include de otras cabeceras que necesite el módulo correspondiente, así como definiciones de constantes y nuevos tipos (#define y typedef, respectivamente), declaración de funciones que serán implementadas en el fichero .c o .cpp, descripción documentada de cada una de las funciones (brevemente, tipo Javadoc) etc.

Sobre compiladores, en Windows tienes el de Mingw, que es una implementación para Windows del compilador gcc que hay en Gnu/Linux, si optas por un IDE, ya incluirá algún compilador, que podrá ser este u otro. Sobre Linux, está gcc (solo para c) y g++ (c/c++)

Un saludo
__________________

Winderbell está desconectado   Responder Citando
Antiguo 13-abr-2010, 17:37   #9
Novato
 
Fecha de Ingreso: marzo-2010
Amigos 0
Mensajes: 45
Gracias: 0
Agradecido 4 veces en 4 mensajes.
Smile Ok-gracias

OK, estudiaré en la medida que pueda todo lo que me decis
MIL GRACIAS A TODOS!! Ya os preguntaré si tengo más dudas

pd: dónde está la sección del foro de tutoriales?? así de pronto no la encuentro, ni poniendo en buscar Dev-c++ . Es para buscar un manual

Última edición por Angelika; 13-abr-2010 a las 17:41
Angelika está desconectado   Responder Citando
Antiguo 13-abr-2010, 17:56   #10
Miembro
 
Avatar de Winderbell
 
Fecha de Ingreso: abril-2010
Amigos 6
Mensajes: 86
Gracias: 0
Agradecido 0 veces en 0 mensajes.
Predeterminado

En este mismo subforo, arriba tienes unos temas especiales en los que pone 'Adherido', hay uno de cursos y tutoriales, y otros de herramientas etc. Revísalos
__________________

Winderbell está desconectado   Responder Citando
Antiguo 13-abr-2010, 18:25   #11
Novato
 
Fecha de Ingreso: marzo-2010
Amigos 0
Mensajes: 45
Gracias: 0
Agradecido 4 veces en 4 mensajes.
Predeterminado

ok, ya lo he visto, y hay un apartado sobre Dev c++ (Dev C++ + Paquetes + Manual de instalación) aunque no he encontrado un manual de uso, sólo de instalación, pero me viene bien para revisarla, porque creo que me falla algo ya que no compila bien.
De todos modos acabo de conseguir un manual de uso en internet sencillo, si está bien trataré de adherirlo al foro
Chao
Angelika está desconectado   Responder Citando
Antiguo 13-abr-2010, 18:32   #12
Novato
 
Fecha de Ingreso: marzo-2010
Amigos 0
Mensajes: 45
Gracias: 0
Agradecido 4 veces en 4 mensajes.
Predeterminado

como puedo pegar aqui para que veais un pantallazo que he hecho de un mensaje que me sale al compilar con Dev c++?
Angelika está desconectado   Responder Citando
Antiguo 13-abr-2010, 18:55   #13
Miembro
 
Avatar de Winderbell
 
Fecha de Ingreso: abril-2010
Amigos 6
Mensajes: 86
Gracias: 0
Agradecido 0 veces en 0 mensajes.
Predeterminado

Hola denuevo Angelika,

Para mostrar cualquier imagen aquí debes subir primero dicha imagen a un servidor tipo imageshak o photobucket, coger su ruta (dirección) URL y ponerla en la ventanita que te saldrá si pulsas el botón Insertar Imagen.

Dicho botón lo tiene en la barrita de botones y opciones que te aparece justo encima de la caja blanca donde escribes los mensajes que posteas, es un botón cuadrado con la imagen de unas montañitas o algo así, con esta apariencia:
__________________

Winderbell está desconectado   Responder Citando
Antiguo 14-abr-2010, 05:37   #14
Novato
 
Fecha de Ingreso: marzo-2010
Amigos 0
Mensajes: 45
Gracias: 0
Agradecido 4 veces en 4 mensajes.
Cool subir imagen a servidor

Es mucha molestia que me indique como subir la imagen a un servidor tipo imageshak o photobucket? dónde se encuentran? debo buscarlo en google? No lo hice nunca. El resto ya lo he pillado. Gracias

------------------------------
Encontré un enlace para subir imágenes a photobucket .....voy a probar. Os lo paso por si le interesa a alguien:

[Solo usuarios registrados pueden ver los links. REGISTRARSE]


Última edición por Angelika; 14-abr-2010 a las 05:47
Angelika está desconectado   Responder Citando
Antiguo 14-abr-2010, 07:12   #15
Miembro
 
Avatar de Winderbell
 
Fecha de Ingreso: abril-2010
Amigos 6
Mensajes: 86
Gracias: 0
Agradecido 0 veces en 0 mensajes.
Predeterminado



Venga, vamos allá

Entramos aquí:

[Solo usuarios registrados pueden ver los links. REGISTRARSE]



Vemos que hay un sitio donde pone Cargar: y aparece debajo una cajita con un botón al lado en el que pone Browser, pulsamos ese botón y nos pide que le indiquemos la imagen que tenemos en nuestro ordenador y que queremos subir, lo hacemos y pulsamos en el botón grande que pone para cargar la imagen.

Nos aparecerá algo así como 'Carga exitosa', y un poco mas abajo veremos en azul: Enlace directo, seguido de un enlace web (URL), copiamos dicha URL y la introducimos donde te dije en mi anterior mensaje, et voìla

Como puedes ver, no es muy complicado, no necesitas registrarte, pero si quieres puedes hacerlo
__________________

Winderbell está desconectado   Responder Citando
Respuesta

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado
Trackbacks están Activado
Pingbacks están Activado
Refbacks están Activado



Temas Similares
Tema Autor Foro Respuestas Último mensaje
iDeaS 1.0.3.3 soft2010 Top 100 0 09-mar-2010 07:12
Documentación PowerShell 1.0 _carlos_ Batch 5 07-feb-2009 21:08
ideas para proyecto electronica hack7 Electronica Y Robotica 2 31-mar-2008 09:07
iDeaS 1.0.1.4 programas-gratis Top 100 0 04-may-2007 09:37
ideas pa una web bigzaqui Programacion para webmasters 2 15-nov-2005 22:32



Portal Hacker
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.0