/*********************************************
*Fonction qui crée un nouveau fichier employé*
*********************************************/
void id::newE (char fnom[], int error)
{
cout << endl << "Veuillez entrer les donnees demandees concernant l'employe(e)." << endl << "son nom : ";
cin >> nom;
cout << "son prenom : ";
cin >> prenom;
cout << "son adresse : ";
cin >> adresse;
cout << "son ville : ";
cin >> ville;
cout << "son code postale : ";
cin >> code_poste;
cout << "son numero de tel : ";
cin >> num_tel;
cout << "son numero de port : ";
cin >> num_port;
cout << "sa date de naissance : ";
cin >> date_naissance;
cout << "la date de son arrivee dans l'entreprise : ";
cin >> date_arrivee;
cout << "son emploi : ";
cin >> emploi;
cout << "le montant de sa paye(par mois) : ";
cin >> paye;
fnom = "BdD employe";
fichier = fopen(fnom,"rt");
if(!fichier) //Si le fichier existe déjà, il
{ //ne faut pas l'écraser
error = id.save(employe, fnom);
if(error)
cout << "Une erreur est survenue pendant la creation du fichier " << fnom ;
}
else
{
cout << "Un fichier du m\x88me nom existe d\x82j\x85." ;
fclose(fichier);
}
}
/*********************************************
*Fonction servant à consulter et/ou modifier *
*un ficher déjà existant *
*********************************************/
void id::open(char fnom[], int error)
{
short choice = 1;
fnom = "BdD employe";
fichier = fopen(fnom, "rt");
if(!fichier)
{
cout << endl << "Une erreur est survenue durant l'ouverture du fichier " << fnom;
return ;
}
switch(choice)
{
case 1: cin >> nom;
break;
case 2: cin >> prenom;
break;
case 3: cin >> adresse;
break;
case 4: cin >> ville;
break;
case 5: cin >> code_poste;
break;
case 6: cin >> num_tel;
break;
case 7: cin >> num_port;
break;
case 8: cin >> date_naissance;
break;
case 9: cin >> date_arrivee;
break;
case 10: cin >> emploi;
break;
case 11: cin >> paye;
break;
}
}
error = id::save(employe, fnom);
if(error)
cout << "Une erreur est survenue pendant l'ecriture dans le fichier " << fnom;
return;
}
/*********************************************
*Fonction qui sauvegarde les donnees *
*dans le fichier specifie. *
*********************************************/
int id::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(nom, sizeof(nom), 1, fichier);
leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 201017 4 oct. 2004 à 13:23
premiere chose, pk avoir mis stdio.h?????tu utilise que des cin et cout......?
deuxieme chose, je veux bien t'aider mais j'ai pas de compilo sous la main, dc je peux pas tester pour trouver rapidement les erreurs, stp post aussi tes erreurs, ca sera plus simple pour nous
cs_pascal13
Messages postés3Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention 5 octobre 2004 4 oct. 2004 à 13:54
ha vi dsl!
c parce que au debut j avais mis des printf et scanf ...
puis je l ai modifier et g oublier de l enlever!
voici les erreurs:
C:\Documents and Settings\Administrateur.OLYMPE\Bureau\Travaux c++\exo cpp\essay01\ess.cpp(26) : error C2143: syntax error : missing ';' before '*'
C:\Documents and Settings\Administrateur.OLYMPE\Bureau\Travaux c++\exo cpp\essay01\ess.cpp(26) : error C2501: 'FILE' : missing storage-class or type specifiers
C:\Documents and Settings\Administrateur.OLYMPE\Bureau\Travaux c++\exo cpp\essay01\ess.cpp(26) : error C2501: 'fichier' : missing storage-class or type specifiers
C:\Documents and Settings\Administrateur.OLYMPE\Bureau\Travaux c++\exo cpp\essay01\ess.cpp(326) : warning C4508: 'main' : function should return a value; 'void' return type assumed
Error executing cl.exe.
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 4 oct. 2004 à 16:13
Salut,
Les 3 premières erreurs sont dûes à l'absence de "stdio.h". Tu dois garder #include <stdio.h> car la structure FILE est définie dans ce fichier. Il ne te restera donc qu'une erreur et un petit warning. Quand j'aurai le temps je testerai ton code.
A+
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 4 oct. 2004 à 19:50
Salut,
Je viens de tester ton code. Ca marche après avoir corrigé quelques petites erreurs. Les voici:
1- L'accolade de fin de definition de la classe doit être suivi d'un "point virgule" comme ceci: }; //fin de class id
2- Une bonne douzaine de nouvelles erreurs apparaissent. Les variables "nom", "prenom" etc ne sont pas déclarées. C'est la structure "employe" qui est déclarée. Il faudra donc écrire par exemple "employe.nom" ,"employe.prenom" etc... exemple:
cin >> employe.nom; pareil pour les autres.
3-L'appel suivant est incorrect : error = id.save(employe, fnom);
Il fallait écrire: error = id::save(employe, fnom);
4-Reste un petit warning pas méchant car le tableau "entree" est declaré dans la fonction main sans être utilisé.
Une fois toutes ces petites erreurs d'inattention corrigées, tout rentre dans l'ordre.
Bonne programmation.