| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 
 | /*Lire trois fichiers de données et écrire sur un quatrième fichier*/
 
 
 
#include<stdio.h>
#include<stdlib.h>
 
float paie(char*, float, float); /* function prototype */
 
int main(void)
{
	char no_emp[4], nom[11]; 
	int jour1, jour2, jour3, jour4, jour5;
	float taux, salaire_brut, taxe, a_deduct, salaire_net, paie_cumulee, taxe_cumulee, a_deduct_cumulee, nbr_heures;  
 
	FILE *fp1, *fp2, *fp3, *fp4;   
	/*
		fp1 = fopen ("employees.txt")
		fp2 = fopen ("GeneralPay.txt")
		fp3 = fopen ("Wk11102009.txt")
		fp4 = fopen ("PaieSemaineCourante.txt")
 
	*/
 
	/* fopen ouvre le fichier. Exit le pgm en cas de problème */
	if ((fp3 = fopen("Wk13102009.txt", "r")) == NULL)
	{
		printf("\n\tImpossible de lire Wk13102009.txt\n");
	}
	else
	{	
		if ((fp1 = fopen("employees.txt", "r")) == NULL)
			{
				printf("\n\tImpossible de lire employees.txt\n");
			}
		else
		{
			if ((fp2 = fopen("GeneralPay.txt", "r+")) == NULL)
				{
					printf("\n\tImpossible de lire GeneralPay.txt\n");
				}
			else
			{
				if ((fp4 = fopen("PaieSemaineCourante.txt", "a")) == NULL)
						{
							printf("\n\tImpossible de lire PaieSemaineCourante.txt.txt.\n");
						}
						else
						{
 
 
							while (!feof(fp3))
							{
 
 
								fscanf(fp3, "%s%d%d%d%d%d", no_emp, &jour1, &jour2, &jour3, &jour4, &jour5);
								fscanf(fp1, "%s%s%f",   no_emp, nom, &taux);
								fscanf(fp2, "%s%f%f%f", no_emp, &paie_cumulee, &taxe_cumulee, &a_deduct_cumulee );
 
								nbr_heures = jour1 + jour2 + jour3 + jour4 + jour5;
 
								salaire_brut = paie( no_emp, nbr_heures, taux);
 
								taxe = salaire_brut * 0.30;
 
								a_deduct = salaire_brut * 0.08;
 
								salaire_net = salaire_brut - taxe - a_deduct;
 
								//mise à jour des donnes cumulées dans GeneralPay.txt
								paie_cumulee += salaire_net;
								taxe_cumulee += taxe;
								a_deduct_cumulee += a_deduct;
 
								//écrire une ligne dans le fichier PaieSemaineCourante.txt
								fprintf(fp4, "%s %s %.5f %2d %.5f %.2f %.2f %.2f%.2f\n", no_emp, nom, taux, 
									nbr_heures, salaire_brut, salaire_net, paie_cumulee, taxe_cumulee, a_deduct_cumulee);
 
								//écrire une ligne GeneralPay.txt
								fprintf(fp2, "%s%.2f %.2f %.2f\n", no_emp, paie_cumulee, taxe_cumulee, a_deduct_cumulee);
 
                              	//remise des variables à zéro
								nbr_heures = 0;
								salaire_brut = 0;
								taxe = 0;
								a_deduct = 0;
								salaire_net = 0;
 
 
							}//fin de la boucle while
							fclose(fp2);
							fclose(fp1);
							fclose(fp4);
 
 
				}
			}
 
		fclose(fp3);	
		}
 
	}
	printf("Program terminé sans normalement !\n\n\n");
	system("pause");
	return 0;
 
}
 
 
 
float paie( char *no_empo, float nbr_heures, float taux)
{
 
	float s_brut;
 
 
 
		s_brut = nbr_heures * taux;
 
 
 
	return (s_brut);
 
} |