Rechercher : dans
Par :

[C] corrigé.moi.cet.exercice.svp

Dernière réponse le 4 mai 2008 à 19:03:24 rachad, le 25 déc 2005 à 16:47:37 
 Signaler ce message aux modérateurs

Slt

j'espere bien que vs me corrigé cette exercice en language c :

#include <stdio.h>
#include <conio.h>

void main ()
{int i=0,n;
char nom[20],prenom[20];
float moy[20];
clrscr();
printf("Donner le nombre des eleves\n");
scanf("%d",&n);
for (i=0;i<n;i++)
{
clrscr();
printf("nom :");
scanf("%s",nom[i]);
printf("prenom :");
scanf("%s",prenom[i]);
printf("note =");
scanf("%f",&moy[i]);
}
for (i=0;i<n;i++)
printf("%s %s %f\n",nom[i],prenom[i],moy[i]);
getch();
}



et merci bcp.

2

Manu, le 25 déc 2005 à 23:21:17

Ca fait longtemps que j'ai pas fait du c en console mais je dirais que le problème vient de scanf("%s",nom[i]); et scanf("%s",nom[i]); :
je ne crois pas que la commande scanf te permette de saisir du texte (et que si tu lui envoie du texte elle renvoie 0)
Il me semble que la commande pour saisir une chaine est gets

Répondre à Manu

3

nicO.2x45, le 25 déc 2005 à 23:34:58

Bonsoir Manu !!

SI normalement le %s marche aussi pour les chaines de caractères, mais en effet il vaut mieux utiliser le gets. Par contre, je ne sais plus si le gets se trouve dans la librairie stdio.h ou si il se trouve dans string.h !!! (Et puis je l'avoue, j'ai pas le courage un 25/12 à me replonger illico presto dans mes cours !!! Même si j'adore la prog !!! ;p)

Par contre, Rachad, il est impératif si tu utilise le gets pour enregistrer tes chaines de caractères, que tu places un getchar(), ou un getch(), après chaque scanf, il me semble, sinon tu auras des piti problemes avec !!! :)

Bonne soirée :) nicO.2x45 alias Le_Foudroyeur :)

Répondre à nicO.2x45

4

kilian, le 26 déc 2005 à 04:09:18

Bonjour,

Ce serait bien de nous donner un minimum d'indice sur le problème, sur l'erreur....

Deviner l'énoncé du problème et chercher en quoi il y a une erreur sans la moindre indication, c'est fatiguant, d'autant plus quand il s'agit d'un language qui fait mal à la tête comme le C.

Le soucis est dans les tableaux nom et prenom.

char nom[20],prenom[20]; 

Ce sont des tableaux de caractères que tu as déclaré (ou chaines de caractères) et non pas des tableaux de chaines de caractères comme tu l'aurais voulu je suppose.
Car dans :
scanf("%s",nom[i]); 

Là par exemple tu essaie de mettre une chaine de caractère dans un emplacement réservé à un seul caractère.
En gros dans nom[20] tu ne peux stocker qu'un seul nom.

Mais tu peux déclarer des tableaux de chaines de caractères comme ceci:
char nom[100][20],prenom[100][20]; 

Voilà deux tableaux de 100 chaines caractères pouvant chacune contenir 20 caractères. Ca veut dire que le nombre d'élèves ne devra pas excéder 100, l'idéal serait d'utiliser des tableaux dynamiques, mais comme je ne connais pas ton niveau en C, je ne m'avance pas là-dessus.

Voilà, donc à priori tes scanf fonctionneront bien comme ça en déclarant tes tableaux comme je t'ai montré.

Répondre à kilian

5

nicO.2x45, le 26 déc 2005 à 13:01:39

Bonjour !!!

Exact, avec ce que j'avais dit, ce ne sera pas un tableau de chaine de caractère (a moins qu'il ne prévois de rentrer qu'un seul mot pour nom et prénom (ce que j'avais pensé)), sinon, pour les tableaux de chaines de caractères, on peut aussi déclarer avec le char**
:) nicO.2x45 alias Le_Foudroyeur :)

Répondre à nicO.2x45

6

doualeh, le 5 déc 2006 à 17:40:04

Salut, moi c doualeh de djibouti et concernant votre exercice , je dirait k'il est juste dans le sens ou on veux simplement afficher le nom,prenomet la note dans un tableau.
si c'est seulement ca le but de ce programme j'opte a dire k'il est juste .

bonne chance .(etudiant en master [analyste programmeur])

Répondre à doualeh

7

naimanaima, le 12 oct 2007 à 17:07:08

#include <stdio.h>
#include <stdlib.h>

int main ()
{int i,n;
char nom[20],prenom[20];
float moy[20];

printf("Donner le nombre des eleves\n");
scanf("%d",&n);
for (i=0;i<n;i++)
{

printf("nom :");
scanf("%s",nom[i]);
printf("prenom :");
scanf("%s",prenom[i]);
printf("note =");
scanf("%f",&moy[i]);
}
for (i=0;i<n;i++)
printf("%s %s %f\n",nom[i],prenom[i],moy[i]);
system("pause");return 0;
}

Répondre à naimanaima

8

fanni1234, le 4 déc 2007 à 14:06:23

Tu sais koi il faut mieux d'utiliser une structure ici pour ke tu puisse donner des infos sur une personne sans problemme
comme ex:
struct etudiant{
char nom[20];
char prenom[20];
int moy;
};
mais quand tu vx inserer les infos consernant une personne il faut appler la structure dans le prog comme
#include <stdio.h>
#include <stdlib.h>
struct etudiant
{
char nom[20];
char prenom[20];
float moy; };
void main ()
{int i,n;

etudiant etud;
printf("Donner le nombre des eleves\n");
scanf("%d",&n);
for (i=0;i<n;i++)
{
printf("nom :");
scanf("%s",etud.nom);
printf("prenom :");
scanf("%s",etud.prenom);
printf("note =");
scanf("%f",&etud.moy);
}
for (i=0;i<n;i++)
printf("%s %s %f\n",etud.nom,etud.prenom,etud.moy);
system("pause");
}

Répondre à fanni1234

9

randomize, le 2 fév 2008 à 14:19:03

Salam mec, c est mohammed maroc! consernant votre exercice je pense qu il faut utiliser les structures, sin non il fau fusioner les deux boucle et enlevé dans scanf les [] et ça va marcher!! mais l affichage des infos va etre paralellement avec l insertion!!!lol

Répondre à randomize

16

mahouda, le 15 mar 2008 à 17:38:16

Bonjour,
est ce que vous pouvez me m'aider a faire un programme en assembleur de tri croissant

Répondre à mahouda

10

belhauss, le 3 fév 2008 à 00:06:09

Mai bon urtilise la fonction gets !!!!
#include <stdio.h>
#include <conio.h>

void main ()
{int i=0,n;
char nom[20],prenom[20];
float moy[20];
clrscr();
printf("Donner le nombre des eleves\n");
scanf("%d",&n);
for (i=0;i<n;i++)
{
clrscr();
printf("nom :");
gets(nom);
printf("prenom :");
gets(prenom);
printf("note =");
scanf("%f",&moy[i]);
}
for (i=0;i<n;i++)
printf("%s %s %f\n",nom,prenom,moy);
getch();
}

Répondre à belhauss

11

etudient, le 12 fév 2008 à 19:45:55

Ecrire un programme c permettant de lancer la commande passée en argument

Répondre à etudient

fiddy, le 12 fév 2008 à 19:48:32

Salut,

Etudiant, tu voudrais pas qu'on fasse ton travail à ta place aussi ?
Cherche un peu et poste tes recherches, et dis nous ce qui te bloque ;)

Cordialement
Google is your friend

Répondre à fiddy

12

abdess111, le 24 fév 2008 à 23:25:23

Lt tt le monde
il yas plusieurs erreur dans ce programme
on peu pas saisir une chaine de caractere pas la fonction scanf si nn on fai une boucle.voiala un exemple
for("i=0;i<n;i++)
{printf("saisi un caractere");
scanf("%c",&nom[i]) mais ca marche pas par ce que lutilisateur doit saisi le nom caractere par caractere et cest pas juste
cest pour ca on utilise un pointeur et on aloue lespace illimité pous le nom
voila un exemple:
noublie jamais que si tu utilse les pointeurs il fo appelle un bebloitéq #incluse<stdlib.h> et noublie pas aussi que pour utiliser la fonction gets il fau #include<string.h> voila un exemple
_____________________________
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{
char *nom;
nom=malloc(sizeof(char));
printf("saisi votre nom");
gets(nom);
puts(nom);
}
ce programme est bien compilé

puts cest comme printf on peu meme faire
for(i=0;i<n;i++)
{
printf("%c",*(p+i));
}
par ca on va affiché caractere par caractere
alors cest mieux detuliser puts
bon courage pr t le monde

Répondre à abdess111

13

ismail, le 10 mar 2008 à 17:04:03

A propo de la declaration int i=0 est fausse car t'es besoin d'incrementé le i
alors on la declaré par int i;

et pour les tableaux tu les declare comme ça par exemple
printf("%s",liste[i].nom) et voila le prbleme a ete resoudre

Répondre à ismail

14

ismail, le 10 mar 2008 à 17:04:07

A propo de la declaration int i=0 est fausse car t'es besoin d'incrementé le i
alors on la declaré par int i;

et pour les tableaux tu les declare comme ça par exemple
printf("%s",liste[i].nom) et voila le prbleme a ete resoudre

Répondre à ismail

15

lanaine007, le 15 mar 2008 à 16:08:23

Soit un triangle abc rectangle en a tel que:
ab=8cm et bc=9cm
A/construire le triangle abc.
B/calculer la longueurAC.On donnera la valeur exacte en cm,puis la valeur approchée arrondie au dixième de cm.
C/Calculer le sinus de l'angla ABC et en déduir une valeur approchée dela mesure de l'angle ABC, arrondie à 0.1°prés.
D/Calculer, en justifiant le calcul, le rayon du cercle circonscrit au triangla ABC.




aider moi!!!!!!!!!!!!

Répondre à lanaine007

17

fiddy, le 17 mar 2008 à 13:30:01

Et la politesse ? Bonjour, ..., c'est un luxe ? http://www.commentcamarche.net/ccmguide/ccmcharte respect autrui.php3
Google is your friend

Répondre à fiddy

18

audry, le 21 avr 2008 à 19:39:04

// EXERCICE 1
#include<stdio.h>
#include<conio.h>
// FONCTION DE SAISIE
void saisie(int n, int T[])
{
for(int i=0;i<n;i++)
{
scanf("%d",&T[i]);
}
}

// FONCTION DE CALCUL
int calcul(int n, int T[], int a, int b)
{
int p;
p=0;
for(int i=0;i<n;i++)
{
if(T[i]==a && T[i+1]==b)
{
p=p+1;
}
}
return p;
}

// FONCTION PRINCIPALE
int main ()
{
int n,a,b,r,;
printf("entrer taille du tableau= ");
scanf("%d",&n);
int T[n];
saisie(n,T);
printf("entrer la valeur de a et de b,\n");
scanf("%d %d",&a,&b);
r=calcul(n,T,a,b);
}

testé le dit comment faire pour pas que l'ecran disparaisse pendant l'execution

Répondre à audry

19

 farid87, le 4 mai 2008 à 19:03:24

Salut svp je veut la corraction de cette exo svp en plus tout possible :ecrire le programe assembleur mips r3000 ki permis d afficher les majuscules quand il faut

Répondre à farid87