Je suis en train d'apprendre le C. J'aimerais bien faire un ti programme, mais je n'ai aucune idée de quoi faire donc je fait appel à votre imagination.
Pour info je fais du C depuis un mois donc pas un truc trop dur ni trop simple non plus (il faut qu'il y ait un petit défit). Mes connaissances en C :
- les pointeurs
- les tableaux à x dimensions
- malloc(), realloc()
- fonctions sur les chaines de caracteres (strlen, fgets ....)
- interface en GTK+1.2 (bah oui à l'ecole ils n'ont pas le 2 donc autant aprendre celui dont je me servirai )
Voila c'est a peu pres tout.
Sinon, mon projet pour le mois de septembre : ecrire un ti shell unix avec les différentes fonctions et tout... (une fois que j'aurais vu les listes chainés etpi 2-63 autres truc). D'apres un copain qui l'a fait c'est pas si compliqué et hyper instructif donc c'est ce qui me motive, mais je n'ai pas encore le niveau.
Merci de m'avoir lu et peut etre de m'avoir répondu.
PS : Si en plus le programme à un interet quelconque, ca serait encore mieux
# Re: Des idées de programme C
Posté par jmfayard . Évalué à 2.
Larry Wall : page 161 du Camel Book :
perl -e'while (<>) { eval; print $@; }'
[^] # Re: Des idées de programme C
Posté par Toto . Évalué à 0.
[^] # Re: Des idées de programme C
Posté par Là Yop . Évalué à 1.
On a eu un projet que j'ai trouve interessant : un correcteur d'orthographe c'est pas complique et tu fais le tour du C :)
[^] # Re: Des idées de programme C
Posté par Toto . Évalué à 1.
Sinon l'idée du correcteur orthographique est pas mauvaise, mais leprobleme (parce qu'il y en a un) c'est que je suis dyslexique (enfin un peu) et tres mauvais en ortho, donc je pense que ca serait pas terrible ...
[^] # Re: Des idées de programme C
Posté par Là Yop . Évalué à 3.
Tu recuperes une liste de tous les mots (ce se trouve sur le net), tu parcours cette liste, et tu crees un arbre avec les lettres, de sorte a regrouper part prefixe :
Ex :
Telepherique
Telephone
Television
T -> E -> L -> E -> P -> H -> E -> R -> I ...
------------------------------------O -> N -> E
-----------------------V -> I -> S ->I ....
Ensuite pour voir si un mot est correcte, il suffit de parcourir l'arbre :
Telegraphe (pas dans l'arbre, donc il existe pas !)
T : ok
E : ok
L : ok
E : ok
G : pas ok, il faut soit un P soit un V !
Le fait d'avior un arbre permet d'aller tres vite.
J'espere que c'est clair, un schemas serait plus adapte.
[^] # Re: Des idées de programme C
Posté par Nap . Évalué à 1.
--
le petit chieur 2000
[^] # Re: Des idées de programme C
Posté par jmfayard . Évalué à 1.
perl -e'while (<>) { eval; print $@; } '
system "touch a"
rename "a","b"
exec "ls"
1_simple.c 5_entry.c b
open(I,"1_simple.c") ; while (<I>) { print ; if ($.>10) { break;} }
#include <gtk/gtk.h>
int main (int argc, char *argv[])
{
GtkWidget *window;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_widget_show (window);
gtk_main ();
return 0;
}
Plus sérieusement faire un shell, ce n'est pas réécrire des commandes,
c'est découper ta ligne en mots , les regrouper en instructions puis en pipes, ensuite c'est des coups de fork() && exec ()
Puis on modifie la table des descripteurs de fichiers pour que les pipe marchent.
Tu peux utiliser glib pour avoir un type liste chaîné tout près,
et la bibliothèque Gnu ReadLine | TermLine je ne sais plus pour avoir
une gestion sympa de l'historique ( Flèches, Ctrl-A, Ctrl-E, Ctrl-R, Ctrl-K )
La complétion avec Tab, je n'ai pas géré ça quand j'ai fait mon projet, mais c'est une bonne idée.
C'est vrai que c'est très instructif.
[^] # Re: Des idées de programme C
Posté par kolter (site web personnel, Mastodon) . Évalué à 1.
j'ai écris un petit shell en mini projet en cours cette année, il gérait &&, &, <, >, >>, 2>, |, ||, * et ? dans le basename (merci fnmatch), le multipipe (n pipes), les jobs, changement de prompt...., il manquait pas grand choses pour les alias. J'avoue que c'était rudimentaire mais ca marchait bien dans l'ensemble mais pas trop eu le temps de m'attarder, je l'ai pondu en à peu près 35-40 heures réparties sur un long week-end (du vendredi soir au dimanche soir)...
il fonctionnait grâce à un automate à ETATS, bien pratique pour ce genre de truc, un conseil : ne pas tenter le découpage de la ligne de commande pour en extraire des tâches... je m'y suis aventuré et c'est galère....
J'avais regardé les sources de bash, et csh... j'ai pas tout compris....
le fait est qu'il faut en autre maitriser le pipe, avoir compris dup, dup2, les descripteurs de fichiers, l'execution de processus (execvp).
De plus, pour la complétion, je ne me suis pas embêter, j'utilisais readline et history de Readline....
mais il y'a plein trucs à gérer, pour que ce soit fonctionnel car quand je le lançait, il héritait des variables d'environement du shell qui l'éxécutait (pour moi bash), j'avais même essayé de le mettre dans mon /etc/passwd mais impossible de se loguer, peut être que certaines variables d'envrironnement etait manquantes, mais pas trop eu le temps de chercher à l'époque...
bon courage et c'est vrai que ce sera un bon projet d'initiation au C et à au fonctionnement interne des unices ....
[^] # Re: Des idées de programme C
Posté par BenderJay . Évalué à 1.
[^] # Re: Des idées de programme C
Posté par eJah . Évalué à 1.
---> emerge sash ;)
# Re: Des idées de programme C
Posté par BdherVil . Évalué à 1.
http://www.barbier.net/frogd/fr/(...)
Sachant qu'il ne lui manque plus que cette fonctionalitée.
Et je ne suis pas sûr qu'il faille acheter le péripherique puisque les données sont enregistrées dans /usr/local/etc/frogd.log il me semble
Voilà !
[^] # Re: Des idées de programme C
Posté par Wawet76 . Évalué à 2.
MGounki : http://perso.wanadoo.fr/rvo/gounki/ai.html(...)
Le Gounki : http://christophe.malavasi.free.fr/(...)
# L-systeme
Posté par daggett . Évalué à 2.
C'est un tracé fractal basé sur la modification répétée d'une chaine de texte à partir d'une chaine initiale et de regles de transformation; suivi, apres le nombre d'itérations voulues, de l'affichage lui-même. Tres efficace pour simuler des plantes. Tiens hop, un "I feel lucky" : http://mariefrance.hellot.free.fr/mfh/plantes.html(...)
Oui, c'est tres "LOGO-attitude" :) Mais avec ça tu devrais justement utiliser pas mal de mallocs et de pointeurs, implementer une pile pour gérer les "[" et "]" des L-systems, et te poser la question: "recursif ou itératif ?" pour la conception des certains trucs. Et puis le résultat d'un machin graphique devrait être plus gratifiant (et quand ça marche pas, ça se voit tout de suite) :)
Pour l'affichage, soit tu le fais en graphique, soit à la barbare en mode texte avec - | \ / + et X si l'angle de base du L-systeme le permet :)
[^] # Bot IRC
Posté par Luzerne . Évalué à 1.
Pour ma part, ce que j'ai fait en apprenant le C, c'est un bot irc. On trouve sans doute encore sur le net un squelette tres simple de bot (un petit fichier qui gere la connexion et l'envoi recpetion des chaines de message, si tu veux eviter de te pencher sur la partie reseau du programme).
Apres les possiblites sont infinies, et au final tu maitrises bien le traitement de chaines :)
J'avais pour ma part avoir ete tres fier de creer la possiblite de lancer un vote, tout le monde votait sur le channel, et suivant le resultat du vote, une personne se faisait bannir / kicker / priver de la parole sur le channel suivant le vote lancé.
Luzerne, alias Bret, qui avait créer #avalon a une epoque
PS : sinon tu trouves quantite de bot irc sur le net, qui font tout et plus :) Paske lire le code des autres c bon aussi pour apprendre a programmer.
# Re: Des idées de programme C
Posté par Pooly (site web personnel) . Évalué à 2.
Et puis après les arbres binaires. D'ailleurs, à ce propos il y a un joli exercice dans le Kernigan & Ritchie sur les B-Tree.
sinon... table de hashage, etc... enfin toute les structures de donnée, avec un mois de C, c'est le plus marrant à faire.
[^] # Re: Des idées de programme C
Posté par Anthony . Évalué à 1.
representation d'image par un B-tree, compression decompression de texte (essayer de faire la cryptanalyse ...). Les exos du K&R ca va un moment, mais ca t'apprend pas vraiment a faire du design de code C propre, a construire des bibliotheques de maniere intelligente....
ecrire un shell c'est essentiellement analyser la ligne de commande et rediriger les entrees sorties; apres c'est de l'exec/fork, mais c'est plus du systeme que tu as besoin de connaitre ...
# Re: Des idées de programme C
Posté par Benjamin . Évalué à 3.
# Re: Des idées de programme C
Posté par nomorsad . Évalué à 1.
C'est evidement un peu ardu a maitriser, surtout quand on débute, mais depuis que je les utilise, je ne peux plus m'en passer !!
# Re: Des idées de programme C
Posté par Gnurou (site web personnel) . Évalué à 3.
http://www.lifl.fr/~courbot/enonce.ps(...)
C'est une introduction rapide à SDL qui t'apprend à faire un effet de feu en l'utilisant. C'est très "je te prend par la main" mais bon c'est pour du 1ère année à l'origine... Il te faudra les packages SDL et SDL-devel pour pouvoir le compiler.
Tu peux faire pas mal de trucs marrant à partir de ça, on avait des étudiants qui nous avaient par exemple mis le feu à une image, d'autres qui faisaient des foyers mobile (ou rotatifs), etc.
[^] # Re: Des idées de programme C
Posté par eJah . Évalué à 1.
Si il pouvait etre remis en ligne ce serait sympa :)
Merci :))
# Re: Des idées de programme C
Posté par nioobs . Évalué à 1.
{
system("bash");
}
et voila tu as coder un shell ;p
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.