Bonjour j'ai actuellement 16 ans je suis un passionné d'informatique et je me suis mis a la prog a l'age de 13 ans . J'ai débuté avec un language web statique le xhtml et css. Maintenant je fais du language C et je voudrais devenir programmeur quoi qu'il arrive. Je ne suis pas un expert mais je maitrise déjà les bases telles que définir une struture , pointeur, fonction, headers , prototype, arithmétique de base(opérateur) ect... ce n'est pas énorme mais j'ai énormément soif d'apprendre
, je demande un petit peux d'aide comme je suis autodidacte ce n'est pas trés simple de coder seul et sans projet... S'il y a des personnes pour m'enseigner les techniques avancées du language C ou en discutée je vous serais éternellement reconnaissant , cordialement ![]()
c'est difficile de savoir quoi te dire sans avoir une bonne connaissance de ton niveau. Peut etre tu as un programme fini a partager afin que l'on jete un oeil et en fasse un commentaire?
bonjour =) beh je n'ai pas un trés bon niveau j'ai un niveau du site du zero c'est tout =D , okey j'étais justement entrain de codé je vais te l'envoyer merçi de ton aide j'ai quelque petite question sur mon programme ce n'est pas énorme mais je débute =)mille fois merçi.
int main(int argc, char *argv[])
{
typedef struct yassine yassine;
struct yassine
{
char prenom[20];
char nom[20];
int age;
};
yassine *vie_de_yassine = NULL;
vie_de_yassine = malloc(sizeof(yassine));
if(vie_de_yassine == NULL)
{
exit(0);
}
// 2eme structure.
typedef struct biographie biographie;
struct biographie
{
char vie[250];
char hooby[250];
char metier[30];
int portable[11];
};
typedef struct tableaux_personne tableaux_personne;
struct tableaux_personne
{
char prenom[20];
char nom[20];
int age;
};
int *pointeur = NULL;
pointeur = malloc(sizeof(int));
if(pointeur == NULL)
{
exit(0);
}
biographie *bio_yassine = NULL;
bio_yassine = malloc(sizeof(biographie));
if(bio_yassine == NULL)
{
exit(0);
}
printf("\nBonjour comment t'appelle tu ?\n");
scanf("%s", vie_de_yassine->prenom);
printf("\nQuel est ton nom de famille?\n");
scanf("%s", vie_de_yassine->nom);
printf("\nQuel age as-tu?\n");
scanf("%d", &vie_de_yassine->age);
if(vie_de_yassine->age < 17)
{
printf("\nDonc tu t'appelle %s %s , tu as %d ans et tu es mineur.\n", vie_de_yassine->prenom , vie_de_yassine->nom, vie_de_yassine->age);
}
else if(vie_de_yassine->age < 19)
{
printf("\nDonc tu t'appelle %s %s , tu as %d ans et tu es majeur.\n", vie_de_yassine->prenom , vie_de_yassine->nom, vie_de_yassine->age);
}
else
{
printf("\nTu t'appelle donc %s %s et tu viens juste d'avoir ta majoritee donc %d ans.\n", vie_de_yassine->prenom, vie_de_yassine->nom, vie_de_yassine->age);
}
printf("\nQuel sont tes loisirs?\n");
scanf("%s", bio_yassine->hooby);
printf("\nQue veux tu faire de ta vie a l'heure d'aujourd'hui?\n");
scanf("%s", bio_yassine->vie);
printf("\nQuel est ton numero de telephone?\n");
scanf("%d", bio_yassine->portable);
printf("\nQuelle est le metier que tu veux faire?\n");
scanf("%s", bio_yassine->metier);
int i = 0;
//
printf("\nPassons a un autre questionnaire .\n");
printf("\nCombien as-tu d'amis ?\n");
scanf("%d", pointeur);
tableaux_personne *formulaire = NULL;
formulaire = malloc(sizeof(tableaux_personne) * *pointeur);
for(i = 0; i < *pointeur; i++)
{
printf("Quelle age a la personne numero %d :\n", i + 1);
scanf("%d", &formulaire[i].age);
printf("Comment s'appelle la personne numero %d ?\n", i + 1);
scanf("%s", formulaire[i].prenom);
printf("Quelle est son nom de famille ?\n");
scanf("%s", formulaire[i].nom);
}
return 0;
}
Voili voilouuuu , bon je sais ce n'est pas top =\ mais bon bon... je me suis entrainer sur l'allocation dynamique . Et je demande que a apprendre
j'éspére un jour devenir développeur de jeux vidéo mon but c'est qu'a 18 ans je connaisse déjà le c++ et un petit peux de c++ quand méme voir un MAX ^^
désolé je suis fatigué je voulais dire connaitre le C et un petit peux de c++ voir un MAX j'ai travailler toute la nuit sorry pour ce lapsus.
C'est pas mal du tout. La pochaine fois poste sur pastebin c'est beaucoup plus clair quand meme que sur les templates web de jv.com
Sinon ok pour apprendre le C sur le SDZ mais par pitie pas pour le C++. Fais une recherche sur ce forum mais le mieux c'est d'aller sur developpeur.com
okey merçi tbop2 je suis pas encore fort mais je compte le devenir et encore merçi de ton aide si tu as de bon gros tuto n'hésite pas a poster ![]()
http://pastebin.com/NYcJNd7m
deux choses.
-indente ton code proprement, ca aide grandement la lisibilite du programme
-n'utilise pas de "magic number" comme par exemple "char vie[250];" Le jour ou tu devras changer cette taille de 250, si le nombre apparait a plein d'endroit dans le code, ca va devenir merdique. Prefere l'utilisation de constante symbolique (const int ou #define, je ne sais plus si le premier marche en C ici)
Il faut absolument que tu apportes plus de soin a tes noms de fonctions, de structures et de variables. Tu as declare exactement trois fois la meme structure avec des noms differents. Garde une structure et nomme tes variables en consequences sinon l'interet des structures est totalement perdue.
On appelle pas une fonction "fonction" c'est incomprehensible, que fais ta fonction ? A quoi sert elle ? Ca doit etre resume a travers le nom. C'est d'ailleurs tres illogique d'appeler une variable et une structure yassine pour apres demander a l'utilisateur le prenom.... C'est quoi ton prenom yassine ?!
Pareil pour mastruct.h, c'est un tres mauvais nom, elle fait quoi ta structure ?
ON NE DEFINIT RIEN DANS LE MAIN !!! D'ailleurs quitte a paraitre pour un newbie aujourd'hui j'etais pas au courant que l'on pouvait definir quoi que ce soit dans une fonction en C++ (alors en C j'en parle meme pas). Ca parait chelou car du coup on fait des struct a la volee en plein milieu d'instructions conditionnelles.... il compile ton code au moins ?
Essaye de tout garder en anglais dans ton code, ca assure a ton code d'etre directement comprehensible par le monde entier lorsque tu dois poster de l'aide sur les forums (parce que tous les forums specialises sont de toute facon maintenus en anglas). Et puis ca fait pas de mal a cet age la de toute facon de pratiquer son anglais quand on connait le niveau minable apporte par l'education nationale en france dans cette langue vivante.
Bonne continuation et n'hesite pas a poster un code corrige avec toutes nos remarques prises en compte d'ici peu. ![]()
Cons marche pas en C de memoire il faut passer par les #define oui.
okey chef
oui mon code compile
mais comme redis en haut j'apprend , ce n'étais que un code pour étudier l'alloction dynamique rien de plus rien de moins , je vais le recomposer pour vous dans l'après midi et je vous donnerais l'adresse url pastebin.D'accord donc je récapitule ce que je peux faire donc mettre le nom de mes variables en anglais et redéfinir mes structures car je crois que j'avais mis deux fois la même je potasse après
mici pour les remarques constructives.
Regarde tes mp .
voila =) http://pastebin.com/wFFgg9jP , bon au niveau de l'anglais je ne l'ai pas refais j'ai fait juste un rename de mon headers que j'ai appellé structure car il contient les structures, j'ai mis des defines pour évité de redéfinir chaque variables dans le codes sources mais seeulement sur une structure parceque c'est juste pour l'exemple sa ne sers pas a grand chose dans mon minuscule code
; Sinon j'éspére que ce code est un petit peux plus lisible
sur ceux beh je vais continué à bosser dessus et ensuite aprendre à gerer un API; Hésiter pas à poster des remarques et tbop2 pour l'instant je suuis minable en anglais =) je mettrais mes noms de variables et mes fonctions ect.... en anglais plus tard j'apprendrais l'anglais et je mis consacrerais quand j'aurais fini d'apprendre à bien maitriser le C \ C++ et minimum la SDL ; IL me reste 2 ans si je boss à fond il n'y a pas de raison que je n'y arrive pas je pense ... enfin j'éspère ![]()
Avis d'une connaissance nulle en anglais : code en anglais, tu auras le niveau "anglais technique" en quelques mois.
C'est avéré, il a au moins le niveau technique. Et aussi courant maintenant (de fait, travail en France pour une boîte New-Yorkaise).
Salut killer. Ta refactorisation des structures autrefois repetitives semble pas mal. Meme si je ne comprends toujours pas ce que tu as dans structure.h.... parce que justement ca ne veut toujours rien dire ! :D Nomme ce header de facon a ce que l'on comprenne ce qu'il y a dedans.
Pareil pour le pointeur appele.... pointeur ! A quoi sert-il ? Quelle est sa signification ? Impossible a savoir en appelant les choses par un nom general qui ne veut rien dire.
Tu sais la programmation a la base ce n'est guerre plus que mettre des mots sur des chiffres, et ranger ca de maniere optimale et lisible... C'est "presque" rien de plus. Donc soigne le nom de tes variables, de tes fonctions, de tes structures, fais du code self-explanatory comme on dit.... Tiens de l'anglais ! Ton niveau en anglais est nul ? D'un, tu fais partie d'une generation qui va devoir s'exprimer en Anglais donc a 17 ans il est temps de se bouger les fesses un peu si tu ne peux meme pas ecrire deux trois mots de vocabulaires. De deux, une fois de plus ton code doit etre comprehensible par le monde entier. De trois, toutes les docs et forums interessants seront toujours en anglais, tu ne peux pas evoluer en programmation sans savoir parler anglais donc franchement on a tout de meme connu pire comme motivation non ? ;)
Et la fameuse variable vie_de_yassine dans laquelle on va remplir un prenom qui ne sera pas Yassine quelques lignes de code apres.... pas tres logique tout ca.
Allez un dernier effort, change tous les noms qui ne veulent rien dire, retraduit tout ca en anglais (yen a pour grosso modo 5 mn....), compile et poste ton code.
Bon courage l'ami