|
Trouver une ressource
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
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.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Comparez les prix Nouvelle version
|