begin process at 2012 02 08 09:56:18
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de données

 > ENTREPRISE(VISUAL C++)

ENTREPRISE(VISUAL C++)


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
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é :9 992 / 917

Auteur : HeeroYuhi

Ecrire un message privé
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

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip JACKPOT(C++)

 Sources de la même categorie

GESTION DE FICHIER ET DOSSIER + AUTRES par shinji63
Source avec une capture CONVERTISSEUR par smartties
Source avec Zip CREATION D'UN FICHIER DBF (EN C) par Stanel
Source avec Zip STRUCTURE DES FICHIERS DBF par Stanel
Source avec Zip Source avec une capture GESTION DES ENTREES/ SORTIES AVEC CODEBARRE par YvaddavY

Commentaires et avis

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 ???

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é.

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 !

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...

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!

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!

Commentaire de magic_Nono le 28/09/2004 17:14:12

je regarde & posterai mon com...

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...

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...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales