listes C - C - Programmation
Marsh Posté le 10-10-2009 à 00:33:14
Le type du main est incorrect, getch n'est pas une fonction standard, %c sert à formatter un caractère pas une chaîne, les tableaux C sont indexés à 0 (donc ton tab[3] est un out of bounds) et enfin ton tableau c'est un tableau de chaînes de caractères pas un tableau de caractères (qui serait char tab[4] = { 'f', 'a', 'i', 'l'})
T'es pas débutant en C à ce stade, t'as jamais vu un cours ou un tuto C de ta vie oui
Et t'écoutes même pas ce que te dit ton compilo (ou alors t'as un compilo bien merdique):
$ clang test.c |
$ gcc test.c |
Marsh Posté le 10-10-2009 à 02:14:34
Salut
Citation : T'es pas débutant en C à ce stade, t'as jamais vu un cours ou un tuto C de ta vie oui |
Je te remercie
Pour le main() c'est vrai que j'utilise d'habitude: main(int argc, char *argv[])
getch() est associé a la fonction getchar() par mon compilo
Et en effet pour la taille du tableau je ne me suis pas relu (je fais souvent l'erreur), je voulais mettre ceci: ...,tab[0],tab[1],tab[2]);
Citation : %c sert à formatter un caractère pas une chaîne |
oui, donc pour une chaine de caractères on utilise quoi (si c'est possible)?
Citation : ton tableau c'est un tableau de chaînes de caractères pas un tableau de caractères (qui serait char tab[4] = { 'f', 'a', 'i', 'l'}) |
Je sais, mais je ne souhaite pas traiter chaque lettre une par une.
Il n'est pas possible de faire un tableau de 2 dimensions? 1ere: les chaines, 2eme: les caractères
Enfin en C il y a bien une solution pour faire une liste de mots non?
Marsh Posté le 10-10-2009 à 07:47:39
ReplyMarsh Posté le 10-10-2009 à 09:22:33
natha31 a écrit : Pour le main() c'est vrai que j'utilise d'habitude: main(int argc, char *argv[]) |
La signature correcte est indiquée dans les warnings de compilos que j'ai copiés
natha31 a écrit : getch() est associé a la fonction getchar() par mon compilo |
Ben utilises getchar (ou rien du tout, c'est pas comme si ton getch servait à quoi que ce soit)
natha31 a écrit :
|
http://www.openbsd.org/cgi-bin/man [...] SD+Current
natha31 a écrit :
|
Bien sûr que si, réfléchis au type d'une chaine de caractères en C et mets ça dans un tableau
Marsh Posté le 10-10-2009 à 13:56:37
Citation : Ben utilises getchar (ou rien du tout, c'est pas comme si ton getch servait à quoi que ce soit) |
il sert a faire une pause dans le programme pour pas que ca ferme la fenetre desuite
Citation : int main( int argc, const char** argv) |
Merci beaucoup, c'est bien ça que je voulais
Marsh Posté le 10-10-2009 à 14:11:55
natha31 a écrit :
|
T'ouvres un shell et tu lances le programme dedans au lieu de cliquer dessus
Ton getch ne sert à rien.
Marsh Posté le 19-10-2009 à 20:07:03
un system("pause" ); si l'on est sur windows fera l'affaire !
Marsh Posté le 19-10-2009 à 21:07:23
Nethacker a écrit : un system("pause" ); si l'on est sur windows fera l'affaire ! |
Marsh Posté le 21-10-2009 à 21:10:29
non mais vous imaginez le temps qu'il faudra pour ouvrir un shell s'y déplacer (avec les tabulations pour la complétion automatique) pour en final executer son programme ? surtout s'il on a plusieurs programmes à gérer, on va tout de même pas laisser les fenêtres ouvertes pour un éventuel test ? et surtout qu'avec les compilateurs des fois c'est eux qui lancent le programme et là t'as aucune chance à part mettre une pause ! très expressive ton émoticone ... franchement qu'est ce que cela veut dire ?
Marsh Posté le 21-10-2009 à 21:23:31
les breakpoints ça existe aussi...
le développement ça se fait dans un compilo, et on débug avec le compilo, pas avec des getchar, des system("pause" ) ni des printf.
Même débutants, apprenez rapidement à vous servir d'un compilo avec debugger ou vous perdrez beaucoup de temps.
A la décharge des étudiants, je n'ai jamais vu de profs enseigner l'utilisation d'un compilo, seulement le langage.
Marsh Posté le 21-10-2009 à 21:39:01
Nethacker a écrit : non mais vous imaginez le temps qu'il faudra pour ouvrir un shell s'y déplacer (avec les tabulations pour la complétion automatique) pour en final executer son programme ? |
Environ 3s. Et t'es pas obligé de fermer ton shell entre deux tests.
Nethacker a écrit : on va tout de même pas laisser les fenêtres ouvertes pour un éventuel test ? |
Pourquoi pas
Nethacker a écrit : très expressive ton émoticone ... franchement qu'est ce que cela veut dire ? |
Que c'est gerbant?
Marsh Posté le 21-10-2009 à 21:39:36
respect ! breakpoints plus les variables suivies !
EDIT :
masklinn a écrit :
|
Non mais c'est plus facile de compiler et d'éxecuter depuis le compilo qui lui ne t'ouvrira pas le shell dans le répertoire où tu codes et attendera que tu executes mais lancera directement le programme qui se fermera à la fin, la meilleure façon est celle citée par jesus christ !
Marsh Posté le 21-10-2009 à 21:44:06
Nethacker a écrit : Non mais c'est plus facile de compiler et d'éxecuter depuis le compilo |
je pense que tu as du mal avec la terminologie. La majorité des compilos sont en ligne de commande, et ça inclue les compilos MS. Et tu ne peux pas lancer un soft depuis un compilo, c'est pas fait pour ça.
Marsh Posté le 21-10-2009 à 22:04:04
Nethacker a écrit : non mais vous imaginez le temps qu'il faudra pour ouvrir un shell s'y déplacer (avec les tabulations pour la complétion automatique) pour en final executer son programme ? surtout s'il on a plusieurs programmes à gérer, on va tout de même pas laisser les fenêtres ouvertes pour un éventuel test ? et surtout qu'avec les compilateurs des fois c'est eux qui lancent le programme et là t'as aucune chance à part mettre une pause ! très expressive ton émoticone ... franchement qu'est ce que cela veut dire ? |
toi t'as passé ta vie sous DevC++ et tu crois tout savoir. C'est beau, j'adore, mais vendredi c'est après-demain.
Marsh Posté le 22-10-2009 à 19:34:59
Compilo se réfère aussi, bien que c'est faut à l'IDE, où tout simplement un éditeur de texte qui appelera le compilateur pour vous avec les arguments désirés ! perso je compile sous gnu c compiler en ligne de commande sur linux, cc file.c -o nom.c !
Marsh Posté le 22-10-2009 à 20:23:06
Sauf que tu racontes âneries sur âneries à des gens plus débutants que toi.
Et que ça finit par énerver.
Marsh Posté le 22-10-2009 à 21:24:25
Nethacker a écrit : non mais vous imaginez le temps qu'il faudra pour ouvrir un shell s'y déplacer (avec les tabulations pour la complétion automatique) pour en final executer son programme ? surtout s'il on a plusieurs programmes à gérer, on va tout de même pas laisser les fenêtres ouvertes pour un éventuel test ? et surtout qu'avec les compilateurs des fois c'est eux qui lancent le programme et là t'as aucune chance à part mettre une pause ! |
Sur mon poste de travail Debian, j'ai paramétré 10 bureaux différents et tous ont en permanence différents shells ouverts sur différents sous-dossiers de mon projet et je jongle avec en permanence. Je ne vois pas ce qu'il y a d'ahurissant la dedans.
Et je suis en train de récupérer en plus un 2° écran pour avoir 2 écrans en parallèles avec leurs bureaux indépendants. Bon c'est pas primordial certes mais ça me facilitera certaines vérif..
Marsh Posté le 22-10-2009 à 21:54:05
sunstudio 12 de mon côté, sur un seul écran pas virtuel
(et un 2e écran avec PuTTY sur différents terminaux pour les tests par environnement, mais le plus souvent y a un browser pour passer le temps durant une compil' ou en attendant d'arriver à un breakpoint )
Marsh Posté le 09-10-2009 à 23:58:53
Bonjour
Voila je suis débutant en C et dans de nombreux programme j'aurais souhaite créer une liste de mots.
par exemple:
Sauf que bien sur ça marche pas parce que les mots sont déjà des tableaux.
(Bien entendu je souhaite utiliser les mots séparément dans mon prog.)
Pourriez-vous m'aider svp?