Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ENTREPRISE(VISUAL C++)


Information sur la source

Catégorie :Base de données Niveau : Débutant Date de création : 14/05/2002 Date de mise à jour : 14/05/2002 22:58:44 Vu / téléchargé: 8 833 / 871

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

Description

Ce petit prog "sert" à bien gérer les employés dans une entreprise.
Mais bon, je l'est surtout fait pour apprendre à maitriser les fichiers(création, ouverture, lecture, écriture...).
 

Source

  • /*********************************************
  • *fileone.cpp *
  • *Coded by : Heero Yuhi *
  • * *
  • *Descrition: *
  • *Ce programme sert à façiliter la gestion *
  • *des employés dans une entreprise. *
  • * *
  • *e-mail: *
  • *heeroyuhi@hotmail.com *
  • *
  • Note(s): *
  • * *
  • *********************************************/
  • #include <stdio.h> //Pour printf et scanf
  • #include <string.h> //Pour stricmp et strnicmp
  • /*********************************************
  • *Déclaration des constantes. *
  • *********************************************/
  • const short MAX = 10;
  • const short MAX2 = 30;
  • FILE* fichier = NULL;
  • //Structure contenant les caractéristiques des employés
  • struct Employe
  • {
  • char nom[MAX2];
  • char prenom[MAX2];
  • char age[MAX];
  • char date_arrivee[MAX2];
  • char emploi[MAX2];
  • char paye[MAX2];
  • } employe;
  • /*********************************************
  • *Déclaration des fonctions *
  • *********************************************/
  • int what(char entree[]);
  • void help(void);
  • void newE(char fnom[], int error);
  • void open(char fnom[], int error);
  • int save(Employe employe, char fnom[]);
  • /*********************************************
  • *Fonction principale *
  • *********************************************/
  • int main(void)
  • {
  • bool sortir = false;
  • char entree[MAX2];
  • int choix = 0;
  • char fnom[MAX2];
  • int error = 0;
  • printf("\n\n\tBonjour.\n\nPour avoir de l'aide, tapez \"help\""
  • " \x85 l'invite de commande.\n");
  • while(!sortir)
  • {
  • do
  • {
  • if(choix == 5)
  • printf("\nVous avez effectue une mauvaise entree.\nVeuillez taper "
  • "\"help\" pour consulter l'aide.\n");
  • printf("\ngemp> ");
  • scanf("%s", &entree);
  • choix = what(entree);
  • } while(choix == 5);
  • switch(choix)
  • {
  • case 1: sortir = true;
  • break;
  • case 2: help();
  • break;
  • case 3: newE(fnom, error);
  • break;
  • case 4: open(fnom, error);
  • break;
  • default: break;
  • }
  • }
  • printf("\n\tAu revoir.\n\n");
  • return 0;
  • }
  • /*********************************************
  • *Fonction affichant l'aide a l'écran *
  • *********************************************/
  • void help(void)
  • {
  • static bool how_many = false;
  • if(!how_many)
  • {
  • printf("\n\tBienvenue dans l'aide.\n");
  • how_many = true;
  • }
  • printf("\n new: creation d'un nouveau fichier employe"
  • "\n create: \""
  • "\n exit: quitte le programme"
  • "\n quit: \""
  • "\n bye: \""
  • "\n help: menu d'aide"
  • "\n ?: \""
  • "\n open: ouvre un fichier employe"
  • "\n load: \"\n");
  • }
  • /*********************************************
  • *Fonction déterminant quelle commande a *
  • *entré l'utilisateur *
  • *********************************************/
  • int what(char entree[])
  • {
  • if(!(strcmp(entree, "exit")) || !(strcmp(entree, "quit")) || !(strcmp(entree, "bye")))
  • return 1;
  • else if(!(strcmp(entree, "help")) || !(strcmp(entree, "?")))
  • return 2;
  • else if(!(strcmp(entree, "new")) || !(strcmp(entree, "create")))
  • return 3;
  • else if(!(strncmp(entree, "open", 4)) || !(strncmp(entree, "load", 4)))
  • return 4;
  • else
  • return 5;
  • }
  • /*********************************************
  • *Fonction qui crée un nouveau fichier employé*
  • *********************************************/
  • void newE(char fnom[], int error)
  • {
  • printf("\nVeuillez entrer les donnees demandees concernant"
  • " l'employe(e).\nson nom : ");
  • scanf("%s", &employe.nom);
  • printf("son prenom : ");
  • scanf("%s", &employe.prenom);
  • printf("son age : ");
  • scanf("%s", &employe.age);
  • printf("la date de son arrivee dans l'entreprise : ");
  • scanf("%s", &employe.date_arrivee);
  • printf("son emploi : ");
  • scanf("%s", &employe.emploi);
  • printf("le montant de sa paye(par mois) : ");
  • scanf("%s", &employe.paye);
  • printf("Veuillez \x85 present entrer le nom du fichier : ");
  • scanf("%s", fnom);
  • fichier = fopen(fnom,"rt");
  • if(!fichier) //Si le fichier existe déjà, il
  • { //ne faut pas l'écraser
  • error = save(employe, fnom);
  • if(error)
  • printf("Une erreur est survenue pendant la creation du fichier %s.", fnom);
  • }
  • else
  • {
  • printf("Un fichier du m\x88me nom existe d\x82j\x85.");
  • fclose(fichier);
  • }
  • }
  • /*********************************************
  • *Fonction servant à consulter et/ou modifier *
  • *un ficher déjà existant *
  • *********************************************/
  • void open(char fnom[], int error)
  • {
  • short choice = 1;
  • printf("open> ");
  • scanf("%s", fnom);
  • fichier = fopen(fnom, "rt");
  • if(!fichier)
  • {
  • printf("\nUne erreur est survenue durant l'ouverture du fichier %s.", fnom);
  • return ;
  • }
  • rewind(fichier);
  • fread(employe.nom, sizeof(employe.nom), 1, fichier);
  • fseek(fichier, MAX2, SEEK_CUR);
  • fread(employe.prenom, sizeof(employe.prenom), 1, fichier);
  • fseek(fichier, MAX2, SEEK_CUR);
  • fread(employe.age, sizeof(employe.age), 1, fichier);
  • fseek(fichier, MAX, SEEK_CUR);
  • fread(employe.date_arrivee, sizeof(employe.date_arrivee), 1, fichier);
  • fseek(fichier, MAX2, SEEK_CUR);
  • fread(employe.emploi, sizeof(employe.emploi), 1, fichier);
  • fseek(fichier, MAX2, SEEK_CUR);
  • fread(employe.paye, sizeof(employe.paye), 1, fichier);
  • fclose(fichier);
  • for(;;)
  • {
  • printf("\nDonnees : \n1.nom : %s\n2.prenom : %s"
  • "\n3.age : %s\n4.date d'arrivee : %s\n5.emploi : %s\n6.paye : %s\n"
  • "\nQuelle donnee voulez-vous modifier\n"
  • "(Pour arr\x88ter d'entrer des donnees, tapez '0') : ",
  • employe.nom, employe.prenom, employe.age, employe.date_arrivee,
  • employe.emploi, employe.paye);
  • scanf("%hd", &choice);
  • if(!choice)
  • break;
  • printf("Veuillez entrer la nouvelle donnee : ");
  • switch(choice)
  • {
  • case 1: scanf("%s", &employe.nom);
  • break;
  • case 2: scanf("%s", &employe.prenom);
  • break;
  • case 3: scanf("%s", &employe.age);
  • break;
  • case 4: scanf("%s", &employe.date_arrivee);
  • break;
  • case 5: scanf("%s", &employe.emploi);
  • break;
  • case 6: scanf("%s", &employe.paye);
  • break;
  • }
  • }
  • error = save(employe, fnom);
  • if(error)
  • printf("Une erreur est survenue pendant l'ecriture dans le fichier %s.", fnom);
  • return;
  • }
  • /*********************************************
  • *Fonction qui sauvegarde les donnees *
  • *dans le fichier specifie. *
  • *********************************************/
  • int save(Employe employe, char fnom[])
  • {
  • fichier = fopen(fnom, "wt"); //Création ou ouverture du fichier employé
  • if(!fichier) //Vérification
  • return 1;
  • rewind(fichier); //On se place au début du fichier
  • //Ecriture des données dans le fichier créé
  • fwrite(employe.nom, sizeof(employe.nom), 1, fichier);
  • fseek(fichier, MAX2, SEEK_CUR);
  • fwrite(employe.prenom, sizeof(employe.prenom), 1, fichier);
  • fseek(fichier, MAX2, SEEK_CUR);
  • fwrite(employe.age, sizeof(employe.age), 1, fichier);
  • fseek(fichier, MAX, SEEK_CUR);
  • fwrite(employe.date_arrivee, sizeof(employe.date_arrivee), 1, fichier);
  • fseek(fichier, MAX2, SEEK_CUR);
  • fwrite(employe.emploi, sizeof(employe.emploi), 1, fichier);
  • fseek(fichier, MAX2, SEEK_CUR);
  • fwrite(employe.paye, sizeof(employe.paye), 1, fichier);
  • printf("\nDonnees sauvergardees.");
  • fclose(fichier);
  • return 0;
  • }
/*********************************************
*fileone.cpp                                                             *
*Coded by : Heero Yuhi                                            *
*                                                                            *
*Descrition:                                                             *
*Ce programme sert à façiliter la gestion                   *
*des employés dans une entreprise.                          *
*        	                                                          *
*e-mail:					 *
*heeroyuhi@hotmail.com		     *
*		
Note(s):								     *
*											 *
*********************************************/

#include <stdio.h>		//Pour printf et scanf
#include <string.h>		//Pour stricmp et strnicmp

/*********************************************
*Déclaration des constantes.                                     *
*********************************************/
const short MAX = 10;
const short MAX2 = 30;

FILE* fichier = NULL;

//Structure contenant les caractéristiques des employés
struct Employe
{
	char nom[MAX2];				
	char prenom[MAX2];
	char age[MAX];
	char date_arrivee[MAX2];
	char emploi[MAX2];
	char paye[MAX2];
} employe;

/*********************************************
*Déclaration des fonctions					 *
*********************************************/
int what(char entree[]);
void help(void);
void newE(char fnom[], int error);
void open(char fnom[], int error);
int save(Employe employe, char fnom[]);

/*********************************************
*Fonction principale						 *
*********************************************/
int main(void)
{
	bool sortir = false;
	char entree[MAX2];
	int choix = 0;
	char fnom[MAX2];
	int error = 0;
	
	printf("\n\n\tBonjour.\n\nPour avoir de l'aide, tapez \"help\""
		   " \x85 l'invite de commande.\n");

	while(!sortir)
	{
		do
		{
			if(choix == 5)
				printf("\nVous avez effectue une mauvaise entree.\nVeuillez taper "
					   "\"help\" pour consulter l'aide.\n");

			printf("\ngemp> ");
			scanf("%s", &entree);

			choix = what(entree);
		} while(choix == 5);

		switch(choix)
		{
			case 1: sortir  = true;
					break;
			case 2: help();
					break;
			case 3: newE(fnom, error);
					break;
			case 4: open(fnom, error);
					break;
			default: break;
		}
	}
	printf("\n\tAu revoir.\n\n");

	return 0;
}

/*********************************************
*Fonction affichant l'aide a l'écran		 *
*********************************************/
void help(void)
{
	static bool how_many = false;

	if(!how_many)
	{
		printf("\n\tBienvenue dans l'aide.\n");
		how_many = true;
	}

	printf("\n new:    creation d'un nouveau fichier employe"
		   "\n create:             \""
		   "\n exit:   quitte le programme"
		   "\n quit:               \""
		   "\n bye:                \""
		   "\n help:   menu d'aide"
		   "\n ?:          \""
		   "\n open:   ouvre un fichier employe"
		   "\n load:           \"\n");
}

/*********************************************
*Fonction déterminant quelle commande a		 *
*entré l'utilisateur						 *
*********************************************/
int what(char entree[])
{
	if(!(strcmp(entree, "exit")) || !(strcmp(entree, "quit")) || !(strcmp(entree, "bye")))
		return 1;
	else if(!(strcmp(entree, "help")) || !(strcmp(entree, "?")))
		return 2;
	else if(!(strcmp(entree, "new")) || !(strcmp(entree, "create")))
		return 3;
	else if(!(strncmp(entree, "open", 4)) || !(strncmp(entree, "load", 4)))
		return 4;
	else
		return 5;
}

/*********************************************
*Fonction qui crée un nouveau fichier employé*
*********************************************/
void newE(char fnom[], int error)
{
	printf("\nVeuillez entrer les donnees demandees concernant"
		   " l'employe(e).\nson nom : ");
	scanf("%s", &employe.nom);
	
	printf("son prenom : ");
	scanf("%s", &employe.prenom);

	printf("son age : ");
	scanf("%s", &employe.age);
		
	printf("la date de son arrivee dans l'entreprise : ");
	scanf("%s", &employe.date_arrivee);

	printf("son emploi : ");
	scanf("%s", &employe.emploi);
	
	printf("le montant de sa paye(par mois) : ");
	scanf("%s", &employe.paye);
	
	printf("Veuillez \x85 present entrer le nom du fichier : ");
	scanf("%s", fnom);

	fichier = fopen(fnom,"rt");

	if(!fichier)			//Si le fichier existe déjà, il
	{						//ne faut pas l'écraser
		error = save(employe, fnom);

		if(error)
			printf("Une erreur est survenue pendant la creation du fichier %s.", fnom);
	}
	else
	{
		printf("Un fichier du m\x88me nom existe d\x82j\x85.");
		fclose(fichier);	
	}
}

/*********************************************
*Fonction servant à consulter et/ou modifier *
*un ficher déjà existant					 *
*********************************************/
void open(char fnom[], int error)
{
	short choice = 1;
	
	printf("open> ");
	scanf("%s", fnom);
	
	fichier = fopen(fnom, "rt");

	if(!fichier)
	{
		printf("\nUne erreur est survenue durant l'ouverture du fichier %s.", fnom);
		return ;
	}

	rewind(fichier);
	fread(employe.nom, sizeof(employe.nom), 1, fichier);
	
	fseek(fichier, MAX2, SEEK_CUR);
	fread(employe.prenom, sizeof(employe.prenom), 1, fichier);	
	
	fseek(fichier, MAX2, SEEK_CUR);
	fread(employe.age, sizeof(employe.age), 1, fichier);

	fseek(fichier, MAX, SEEK_CUR);
	fread(employe.date_arrivee, sizeof(employe.date_arrivee), 1, fichier);

	fseek(fichier, MAX2, SEEK_CUR);
	fread(employe.emploi, sizeof(employe.emploi), 1, fichier);

	fseek(fichier, MAX2, SEEK_CUR);
	fread(employe.paye, sizeof(employe.paye), 1, fichier);
	
	fclose(fichier);

	for(;;)
	{
		printf("\nDonnees : \n1.nom : %s\n2.prenom : %s"
			   "\n3.age : %s\n4.date d'arrivee : %s\n5.emploi : %s\n6.paye : %s\n"
			   "\nQuelle donnee voulez-vous modifier\n"
			   "(Pour arr\x88ter d'entrer des donnees, tapez '0') : ",
			   employe.nom, employe.prenom, employe.age, employe.date_arrivee,
			   employe.emploi, employe.paye);
		scanf("%hd", &choice);

		if(!choice)
			break;

		printf("Veuillez entrer la nouvelle donnee : ");
		
		switch(choice)
		{
			case 1: scanf("%s", &employe.nom);
					break;
			case 2: scanf("%s", &employe.prenom);
					break;
			case 3: scanf("%s", &employe.age);
					break;
			case 4: scanf("%s", &employe.date_arrivee);
					break;
			case 5: scanf("%s", &employe.emploi);
					break;
			case 6: scanf("%s", &employe.paye);
					break;
		}
	}
	
	error = save(employe, fnom);

	if(error)
		printf("Une erreur est survenue pendant l'ecriture dans le fichier %s.", fnom);

	return;
}

/*********************************************
*Fonction qui sauvegarde les donnees		 *
*dans le fichier specifie.					 *
*********************************************/
int save(Employe employe, char fnom[])
{
	fichier = fopen(fnom, "wt");	//Création ou ouverture du fichier employé
		
	if(!fichier)		//Vérification
		return 1;
		
	rewind(fichier);			//On se place au début du fichier

	//Ecriture des données dans le fichier créé
	fwrite(employe.nom, sizeof(employe.nom), 1, fichier);
		
	fseek(fichier, MAX2, SEEK_CUR);
	fwrite(employe.prenom, sizeof(employe.prenom), 1, fichier);

	fseek(fichier, MAX2, SEEK_CUR);
	fwrite(employe.age, sizeof(employe.age), 1, fichier);

	fseek(fichier, MAX, SEEK_CUR);
	fwrite(employe.date_arrivee, sizeof(employe.date_arrivee), 1, fichier);

	fseek(fichier, MAX2, SEEK_CUR);
	fwrite(employe.emploi, sizeof(employe.emploi), 1, fichier);

	fseek(fichier, MAX2, SEEK_CUR);
	fwrite(employe.paye, sizeof(employe.paye), 1, fichier);
	
	printf("\nDonnees sauvergardees.");

	fclose(fichier);

	return 0;
}


















			
 

Conclusion

Je vais bientôt rajouter 2 ou 3 petites fonctions en plus style effacer un fichier ou rajout automatique d'un suffixe au nom du fichier.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de demvil le 11/02/2003 23:40:23

Salut j'aimerai savoir comment faire pour lire toute la ligne par exemple si on tape "Marie Claire" dans le prénom Marie sera compter et Claire sera compter pour l'autre question donc j'aimerai savoir comment lire toute la ligne ???

signaler à un administrateur
Commentaire de wannie le 26/06/2003 10:31:35

Salut .

J'ai tester ton prog est je trouve completement débile de creer un fichier pour chaque employé.
Si le fichier est déjà existant il n'enregistre pas l'employé.
Pourquoi ne pas pouvoir ajouter à la suite d'un fichier.

Enfin c'est mon avis. Je trouve que tu cherche la simplicité.

signaler à un administrateur
Commentaire de soumpro le 06/04/2004 18:10:07

Exceptionnel !
C'est meme le programme le plus proche de l'environnement win3.1 !
Bravo 20/10 !

signaler à un administrateur
Commentaire de kenjimax le 03/07/2004 13:52:48

Le code est clair, ca me plait !

Par contre je trouve dommage que la plupart des programmes utilisent les structures. Pourquoi ne pas utiliser les classes ? Cela permet ensuite de jouer avec l'heritage, l'encapsulation, le polymorphisme, etc...

signaler à un administrateur
Commentaire de titanium13 le 09/07/2004 13:49:34

Ciao personnellement je trouve ta source très bien elle explique bien aux débutant qulqs fnctions très utiles!!! @t next!

signaler à un administrateur
Commentaire de titanium13 le 09/07/2004 13:49:45

Ciao personnellement je trouve ta source très bien elle explique bien aux débutant qulqs fnctions très utiles!!! @t next!

signaler à un administrateur
Commentaire de magic_Nono le 28/09/2004 17:14:12

je regarde & posterai mon com...

signaler à un administrateur
Commentaire de thecyril1 le 09/05/2005 22:19:09

Bah c plus du C que du C++...
C'est vrai qu'il serait plus interessant d'utiliser les classes...

signaler à un administrateur
Commentaire de mohammed amine le 19/08/2006 17:46:40

salut,
Pourquoi ne pas utiliser les classes ? ca vous permet de jouer avec l'heritage et par la suite tu peut gérer pas seulement les employées mais aussi les manager ,les commercials,les salaries,...
c'est trés intéressant.
@++

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,359 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.