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 -
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.
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.
A voir également:
- Probléme avec un programme
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Forcer la fermeture d'un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Message programmé iphone - Guide
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.