Probablement, ça veut simplement dire que c'est pas "C pour les nuls...". C'est pour les gens qui reflechissent...Envoyé par 0v3rb1t
Probablement, ça veut simplement dire que c'est pas "C pour les nuls...". C'est pour les gens qui reflechissent...Envoyé par 0v3rb1t
Pas de Wi-Fi à la maison : CPL
par là je voulais dire que la compréhension du livre ne nécessite pas de "hautes" compétences en mathématiques et une bonne connaissance du C.
je connais le fgets(), je compte apprendre les unions, et le tri par insertion, les listes chaînées et quelques autres "trucs", aurai-je le niveau?
sinon quand je vois 652 pages, c'est pas mal quand même.
Il y a certainement des parties plus difficiles vers la fin. Ce n'est pas le problème. C'est un livre pour la vie (si tu programmes en C sérieusement). Si c'est pour faire un an de C à la fac parce que c'est au programme et tout oublier après, c'est pas la peine...Envoyé par 0v3rb1t
Pas de Wi-Fi à la maison : CPL
Je compte devenir ingénieur en informatique, alors je prends ça avec le plus de sérieux possible.
De plus je déteste ne pas comprendre quelque chose et quand ça se produit, je suis capable d'analyser le problème pendant des heures, jusqu'à avoir compris.
Je suis passionné par le C et quand quelque chose me passionne, rien de m'arrête.
Un langage de programmation est obligatoirement enseigné à la fac?
Bon profil, ça. Fonce !Envoyé par 0v3rb1t
Et ce que tu ne comprends pas aujourd'hui, tu le comprendras demain.
Un bouquin comme ça, ca se relit entièrement tout les 1 à 2 ans... On passe à coté de plein de choses au début...
Par contre, évite language et pationne, pour un ingénieur, ça ne fait pas sérieux... C'est langage, passionne ...
En informatique, oui, et même en math, electronique, mesures physiques...Un language de programmation est obligatoirement enseigné à la fac?
Pas de Wi-Fi à la maison : CPL
Merci -ED- pour tes réponses sérieuses.
Je vais acheter ce livre et progresser en C!
+++
Bien.Envoyé par 0v3rb1t
Pas de Wi-Fi à la maison : CPL
Merci de ta proposition, mais aux vues des caractéristiques de ton programme je vais me montrer réaliste et admettre que ce n'est pas encore mon niveau Je vais plutot insister sur mon carnet d'adresse en essayant de faire simple au début pour ensuite compliquer, sinon je vais me perdre mais merci beaucoup de ton offreEnvoyé par 0v3rb1t
"Vous qui entrez ici, abandonnez toute espérance." Dante
J'ai de nouveau un soucis, j'ai essayé d'employer la fonction fprintf, le code se compile mais lors de l'exécution du programme, lorsque j'ai terminé d'indiqué tous les champs j'ai de nouveau le rapport d'erreur Windows, quelqu'un voit une ou plusieurs erreurs dans mon code svp ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65 #include <stdio.h> #include <stdlib.h> /*****************************************************************************/ /*************************** FONCTION ECRITURE *******************************/ /*****************************************************************************/ void fecriture (count, nom, prenom, numtel) { if (count == 3) { fprintf ("%s;%s;%d", nom, prenom, numtel); } } /******************************************************************************/ /*************************** PROGRAMME PRINCIPAL ******************************/ /******************************************************************************/ int main (void) { char nomfich[21] = ""; char nom[16] = ""; char prenom[16] = ""; char numtel[11] = ""; int menu = 0; int count = 0; printf (" 0- Creation d'un Nouveau Fichier ?\n" " 1- Modification d'un Fichier existant ?\n"); scanf ("%d", &menu); switch (menu) { case 0: { printf ("Nom du fichier a creer ?"); scanf ("%s", nomfich); FILE *sortie = fopen (nomfich, "w"); if (sortie != NULL) { do { printf ("Nom ?"); scanf ("%15s", nom); count = count + 1 ; printf ("Prenom ?"); scanf ("%15s", prenom); count = count + 1 ; printf ("Numero de telephone ?"); scanf ("%10s", numtel); count = count + 1 ; fecriture (count, nom, prenom, numtel); } while (count <= 0 || count > 1); fclose (sortie); } } break; default: break; } return EXIT_SUCCESS; }
"Vous qui entrez ici, abandonnez toute espérance." Dante
Rien qu'en voyant fecriture, on se dit "y'a quelque chose qui manque".
Ce qui me surprend le plus, c'est que ça compile...
Très mauvais, ça...
Code : Sélectionner tout - Visualiser dans une fenêtre à part scanf ("%s", nomfich);
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Ah oui ? Que manque-t il stp ?Envoyé par Médinoc
"Vous qui entrez ici, abandonnez toute espérance." Dante
- Pour fecriture() : Le type des paramètres.
- Pour scanf() : Une limite de taille.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Merci pour ta réponse j'ai mis ça:Envoyé par Médinoc
Mais j'ai toujours le meme problème je vois vraiment pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65 #include <stdio.h> #include <stdlib.h> /*****************************************************************************/ /*************************** FONCTION ECRITURE *******************************/ /*****************************************************************************/ void fecriture (int count, char nom, char prenom, char numtel, FILE * sortie) { if (count == 3) { fprintf (&sortie, "%s;%s;%d", &nom, &prenom, &numtel); } } /******************************************************************************/ /*************************** PROGRAMME PRINCIPAL ******************************/ /******************************************************************************/ int main (void) { char nomfich[21] = ""; char nom[16] = ""; char prenom[16] = ""; char numtel[11] = ""; int menu = 0; int count = 0; printf (" 0- Creation d'un Nouveau Fichier ?\n" " 1- Modification d'un Fichier existant ?\n"); scanf ("%d", &menu); switch (menu) { case 0: { printf ("Nom du fichier a creer ?"); scanf ("%20s", nomfich); FILE *sortie = fopen (nomfich, "w"); if (sortie != NULL) { do { printf ("Nom ?"); scanf ("%15s", nom); count = count + 1 ; printf ("Prenom ?"); scanf ("%15s", prenom); count = count + 1 ; printf ("Numero de telephone ?"); scanf ("%10s", numtel); count = count + 1 ; fecriture (count, nom, prenom, numtel, sortie); } while (count <= 0 || count > 1); fclose (sortie); } } break; default: break; } return EXIT_SUCCESS; }
"Vous qui entrez ici, abandonnez toute espérance." Dante
Et ça compile?
(les caractères en rouge sont à supprimer)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 void fecriture(int count, char const * nom, char const * prenom, char const * numtel, FILE * pSortie) { if (count == 3) { fprintf(pSortie, "%s;%s;%s", &nom, &prenom, &numtel); } }
PS: Je n'arriverai sans doute jamais à comprendre que des gens trouve plus lisible de séparer une fonction de sa parenthèse ouvrante...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Ah oki, pourrais tu m'expliquer à quoi servent les "const *" stp ? et le "p" devant "sortie" ?Envoyé par Médinoc
"Vous qui entrez ici, abandonnez toute espérance." Dante
- * : Ce n'est pas UN caractère qu'il faut envoyer à la fonction, mais un pointeur sur le premier caractère de chaque tableau.
- const : Parce qu'on ne modifie pas les caractères pointés, alors pouquoi l'autoriser?
- pSortie: Parce que c'est un réflexe à prendre quand on débute: Toujours signaler "pointeur" dans le nom, ça évite de faire des bétises (per exemple, le & qui était devant était de trop, tu te retrouvais avec un FILE**. Tu aurais appelé ton FILE* pSortie dès le début, ça aurait pu te paraître suspect...).
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Oki merci beaucoup pour tes explicationsEnvoyé par Médinoc
J'ai besoin d'un avis je voudrais faire une fonction de saisie mais je ne sais pas comment m'y prendre car dans ce cas là il faudrait que je retourne plusieurs valeurs (nom, prenom,... + count) et je ne sais pas si c'est posible, l'est-ce ? svp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 #include <stdio.h> #include <stdlib.h> /*****************************************************************************/ /*************************** FONCTION SAISIE *********************************/ /*****************************************************************************/ int fsaisie(int count) { printf ("Nom ?"); scanf ("%15s", nom); count = count + 1 ; printf ("Prenom ?"); count = count + 1 ; printf ("Numero de Telephone ?"); scanf ("%10s", numtel); count = count + 1 ; printf ("Adresse Mail ?"); scanf ("%29s", adrmail); count = count + 1 ; printf ("Adresse Postale ?"); scanf ("%59s", adrpost); count = count + 1 ; return (count) ; }
"Vous qui entrez ici, abandonnez toute espérance." Dante
Regle d'or. avant d'utiliser une fonction nouvelle, lire la doc. Ca parait évident, mais apparament, il est bon d'insister...Envoyé par Jiraiya42
http://man.developpez.com/
Pas de Wi-Fi à la maison : CPL
Il faut utiliser une structure.Envoyé par Jiraiya42
Comment apprends-tu le C ? Tu suis un cours, un tuto, tu as un livre ?
Pas de Wi-Fi à la maison : CPL
Oui c'est évident c'est pour ça que j'ai cherché l'utilisation de fprintf hierEnvoyé par Emmanuel Delahaye
"Vous qui entrez ici, abandonnez toute espérance." Dante
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager