Probléme avec un programme

Résolu
BloodKnight Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -  
ta9tou9a Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je ne sais pas c'est quoi le problème de ce programe :
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>#include<string.h>
#include<time.h>
#include<windows.h>
struct departement {
float numdept;
char nomdept[20];
char lieudpt[20];
};
struct employes{
float cod;
char nom[20];
char datemb[88];
float slr;
float cms;
float numdept;
};
typedef struct employes emp;
typedef struct departement dep;
void saisir(emp t,FILE *fei)
{
int n=0,test;
printf("*** donner les informations sur les employees ***\n");
printf("*** pour soritr donner le code zero ***\n");
fei=fopen("employés.txt","w");
test=1;
do
{
printf("*** donner le code du %d employee ***\t\n",n+1);
scanf("%f",&t.cod);
test=t.cod;
printf("*** donner le nom du %d employee ***\t\n",n+1);
scanf("%s",t.nom);
printf("*** donner la date d'embauche du %d employee ***\t\n",n+1);
scanf("%s",t.datemb);
printf("*** donner le salaire du %d employee ***\t\n",n+1);
scanf("%f",&t.slr);
printf("*** donner la comission du %d employee ***\t\n",n+1);
scanf("%f",&t.cms);
printf("*** donner le numero du departement du %d employee ***\t\n",n+1);
scanf("%f",&t.numdept);
fwrite(&t,sizeof(emp),1,fei);
n++;

} while(test=!0);
fclose(fei);
}
int main()
{
FILE *fei;
emp e;
int n;
saisir(e,fei);
getch();
return 1;
}

même si je donne un code qu est zero la boucle while ne s'arrête pas.
merci d'avance les amis.

2 réponses

le père
 
Bonjour

en première approche :
il faut mettre (test!=0)
pas (test=!0)
1
ta9tou9a Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   2
 
bonjour, s'il vous plait quel est le prob sans ce programe :

program moyenne;
uses wincrt;
const k=31;
type tab1 = array [5..k] of real;

procedure saisie(var n: real;var t: tab1);
var
i: integer;

begin
repeat
write('donner la taille du tableau =' );readln(n);
until (n in [5..31]);
for i:=1 to n do
begin
write('donner t[ ', i,']:'); readln(t[i]);
end;
end;

procedure tri(n:real; var t:tab1);
procedure permut(var x,y: real);
var
a: real;
begin
x:=a;
a:=y;
y:=x;
end;

var
t: tab;
j: integer;
echange: boolean;
begin
repeat echange:= false;
for j:=1 to n do
begin
if t[j]>t[j+1] then permut();
echange:= true;
end;
n:=n-1; until (n=1) or (non(echange));
end;

procedure taux(var m: integer; t:tab1; a: real );
var
m: inetger;
i: integer;
begin
m:=0;
for i:=1 to n do
if (t[i]>=10) then m:=m+1;
a:=((m/n)*100);
write('le taux de reussite est ',a,'%');
end;
var
n: real;
t: tab1;


begin
saisie(n,t);
tri(n,t);
write('la moyenne la plus elevee est ',t[n]);
taux(var m: integer; t:tab1; a: real)
end.
0
BloodKnight Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
merci j ai pas fait attention
j ai un autre problem mon ami comment puis je lire a partir de ce fichier :) merci beaucoup
0