oulala… c'est plutôt horrible…
Je ne compte pas faire le travail à ta place, mais je vais t'expliquer certains points.
a. Tout d'abord, lorsque tu créés un objet comme int tableau[TAILLE], l'objet tableau est un pointeur. Un pointeur contient l'adresse d'un objet, et non pas l'objet lui-même.
b. Ensuite, if(salaire>12541,31) n'a pas de sens en C. Tu dois l'écrire de cette façon : if((salaire>12541) && (salaire>31)).
c.
1 2 3
| char noms;
/* ... */
scanf("%s",&noms); |
Lorsque tu utilises scanf(), l'objet dans lequel la saisie de l'utilisateur va être placé DOIT avoir été alloué avant.
Tu peux déclarer noms de cette façon :
BUFFER_SIZE représentant une taille suffisament importante pour que l'utilisateur puisse entrer le nom en entier sans créer d'erreur de mémoire. BUFFER_SIZE est la taille limite de caractères que l'utilisateur pourra entrer.
Comme je l'ai dit plus haut, l'objet déclaré ici sera donc un pointeur (puisque l'on vient de créer un tableau), donc plus besoin d'ajouter le & dans ta fonction scanf():
d. Continuons…
printf("les personnes dont le salaire est superieur au smic sont :\n",noms);
Lorsque tu utilises printf() et que tu rajoutes des arguments (ici tu as mis noms), tu dois expliquer où est-ce qu'il doit insérer cet argument. Je précise que non, il n'est pas ajouté automatiquement à la fin.
À l'intérieur de ta chaîne de caractère ("les personnes dont le salaire est superieur au smic sont :\n"), tu dois rajouter un indicateur correspondant au type de l'argument ajouté. Si tu en utilises plusieurs, tu dois rajouter les arguments dans l'ordre respectif où ils sont indiqués dans ta chaîne de caractère par les indicateurs.
Parmi les indicateurs, voici les plus courants:
%s -> chaîne de caractère (char * ou char[])
%c -> caractère (char)
%d -> entier (int)
%f -> nombre réel (float)
Dans ton cas ce la donne:
printf("les personnes dont le salaire est superieur au smic sont :%s\n",noms);
e. Je continue…
Tu peux utiliser ce que tu as écrit, mais il y a plus simple:
f. Lorsque je lis ton code, je remarque que plusieurs choses ne sont pas cohérentes.
Tu as définis la structure MaStructure mais tu ne t'en sers pas.
Tu déclares des variables que tu n'utilises pas.
somme=somme+salaire; donne somme = 0 + 0;.
Et essaie d'aérer et d'indenter correctement ton code, ça le rendra beaucoup plus facile à lire et à corriger.
Bon bref, il te reste pas mal de choses à revoir.
Bonne chance tout de même et bon développement
Partager