Entreprise(visual c++)

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 / Exemple :


/*********************************************

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

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.