Ajouter un patient
jun2022
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour, j'ai une classe listePatients à laquelle je dois ajouter des patients mais lors de l'ajout d'un patient il doit être associé au medecin ayant le plus petit nombre de patients déjà associés
voici mes classe listePatients , patients, medecins, listeMedecins pour être explicite et j'aimerai savoir comment ajouter un patient et lui attribuer son medecin pouvez-vous m'aider
j'ai mis aussi une image
voici mes classe listePatients , patients, medecins, listeMedecins pour être explicite et j'aimerai savoir comment ajouter un patient et lui attribuer son medecin pouvez-vous m'aider
j'ai mis aussi une image
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace TPCsharp { class ListePatients { public Patient ListePatient { get; private set; } public ListePatients() { _listePatient = new List<Patient>(); string nomFichier = "Medecin.txt"; try { using (StreamReader fichier = new StreamReader(nomFichier)) { string ligne = fichier.ReadLine(); while (ligne != null) { string[] valeurs2 = ligne.Split(';'); _listePatient.Add(new Patient(valeurs2[2], valeurs2[1], valeurs2[0])); ligne = fichier.ReadLine(); } } } catch (Exception) { } } public void ajouterUnPatient() { string prenom; string nom; int numero; Console.WriteLine("Prenom"); prenom = Console.ReadLine(); Console.WriteLine("Nom"); nom = Console.ReadLine(); while (true) { int nombrePatientsAssocies = 0; Console.WriteLine("Numero"); numero = Convert.ToInt32(Console.ReadLine()); try { while (numero < 1000 || numero > 9999) { throw new Exception("le numero doit être compris entre 1000 et 9999"); } break; } catch (Exception e) { Console.WriteLine(e.Message); } } try { foreach (var medecin in _listePatient) { //On vérifie si le numero existe dejà if (medecin.verifierNumero(numero)) { throw new Exception("Erreur impossible d'ajouter le patient le numero d'assurance existe dejà"); } } } catch (Exception e) { Console.WriteLine(e.Message); } //ajout d'un patient _listePatient.Add((new Patient(prenom, nom, numero))); try { using (StreamWriter fichier = File.AppendText("patients.txt")) { fichier.Write(numero); fichier.Write(';'); fichier.Write(prenom); fichier.Write(';'); fichier.Write(nom); fichier.WriteLine(); fichier.Close(); } } catch (Exception e) { Console.WriteLine(e.Message); } } public void afficherLesPatients() { foreach (var item in _listePatient) { Console.WriteLine("Medecin: {0},{1},{2}", item.Prenom, item.Nom, item.Numero); } } private List<Patient> _listePatient; } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace TPCsharp { class Patient:Personne { public Patient(string prenom, string nom, int numero) { _numero = numero; _prenom = prenom; _nom = nom; } public Patient(string prenom,string nom,string numero):base(prenom,nom) { _numero = Convert.ToInt32( numero); } public int Numero { get { return _numero; } set { _numero = value; } } public bool verifierNumero(int numero) { return _numero == numero; } private int _numero; } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace TPCsharp { class Medecin:Personne { public Medecin(int code) { _codeIdentification = code; } public Medecin(string prenom, string nom,string codeIdentification,string date):base(prenom,nom) { _codeIdentification = Convert.ToInt32(codeIdentification); _date = Convert.ToDateTime(date); _retraite = true; } public Medecin(string prenom, string nom, int codeIdentification) { _codeIdentification = codeIdentification; _prenom = prenom; _nom = nom; } public Medecin(string prenom, string nom,string codeIdentification):base(prenom,nom) { _codeIdentification = Convert.ToInt32(codeIdentification); } public DateTime Date { get { return _date; } set { _date = value; } } public bool Retraite { get { return _retraite; } set { _retraite = value; } } public int CodeIdentification { get { return _codeIdentification; } set { _codeIdentification = value; } } public bool verifier(int code) { return _codeIdentification==code; } private DateTime _date; private bool _retraite; private int _codeIdentification; } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace TPCsharp { class ListeMedecins { public Medecin ListeMedecin { get; private set; } public ListeMedecins() { _listeMedecin = new List<Medecin>(); string nomFichier = "medecins.txt"; try { using (StreamReader fichier = new StreamReader(nomFichier)) { string ligne = fichier.ReadLine(); while (ligne != null) { string[] valeurs2 = ligne.Split(';'); _listeMedecin.Add(new Medecin(valeurs2[2], valeurs2[1], valeurs2[0])); ligne = fichier.ReadLine(); } } } catch (Exception) { } } public void ajouterUnmedecin() { string prenom; string nom; int code; Console.WriteLine("Prenom"); prenom = Console.ReadLine(); Console.WriteLine("Nom"); nom = Console.ReadLine(); while (true) { Console.WriteLine("Identificateur"); code = Convert.ToInt32(Console.ReadLine()); try { //On lance une exception si le code n'est pas compris entre 100 et 999 while (code < 100 || code > 999) { throw new Exception("le code doit être compris entre 100 et 999"); } break; } catch (Exception e) { Console.WriteLine(e.Message); } } try { //verifie si le code existe dejà foreach (var medecin in _listeMedecin) { if (medecin.verifier(code)) { throw new Exception("Erreur"); } } } catch (Exception e) { Console.WriteLine(e.Message); } _listeMedecin.Add(new Medecin(prenom, nom, code)); try { using (StreamWriter fichier = File.AppendText("medecins.txt")) { fichier.Write(code); fichier.Write(';'); fichier.Write(prenom); fichier.Write(';'); fichier.Write(nom); fichier.WriteLine(); fichier.Close(); } } catch (Exception e) { Console.WriteLine(e.Message); } //ajout d'un médecin } public void afficherLesmedecins() { foreach (var item in _listeMedecin) { Console.WriteLine("Medecin: {0},{1},{2}", item.Prenom, item.Nom, item.CodeIdentification); } } public void ModifierUnMedecin() { int code; DateTime dateDepart; Console.WriteLine("Code identification"); code = Convert.ToInt32(Console.ReadLine()); foreach (Medecin medecin in _listeMedecin) { if (medecin.CodeIdentification == code) { try { Console.WriteLine("Date de la retraite"); dateDepart = Convert.ToDateTime(Console.ReadLine()); medecin.Date = dateDepart; medecin.Retraite = true; } catch (Exception e) { Console.WriteLine(e.Message); } } else { throw new Exception("code existe déjà"); } } } public void afficherLesStatistiques() { Console.WriteLine("Le sytème contient"); Console.WriteLine(_listeMedecin.Count + "médecins"); } public void afficherUnmedecin() { int code; Console.WriteLine("Code d'identification:"); code = Convert.ToInt32(Console.ReadLine()); Medecin medecin= trouverMedecin(code); Console.WriteLine("Code d'identification " + code + "\n"); Console.WriteLine("Nom "+ "{0} {1}" ,medecin.Nom, medecin.Prenom); } public Medecin trouverMedecin(int codeIdentification) { foreach (Medecin medecin in _listeMedecin) { if (medecin.CodeIdentification == codeIdentification) { return medecin; } } throw new Exception("Le medecin n'existe pas"); } public void MedecinActif() { int nombreMedecins = 0; foreach (Medecin medecin in _listeMedecin) { if (!medecin.Retraite) { nombreMedecins ++; } } if (nombreMedecins==0) { throw new Exception("Aucun medecin n'est actif"); } } /* public void Sauvegarder(StreamWriter nomFichier) { nomFichier.WriteLine(_listeMedecin); }*/ private List<Medecin> _listeMedecin; } }
A voir également:
- Ajouter un patient
- Ajouter un profil netflix payant - Accueil - Guide streaming
- Impossible d'ajouter un ami sur facebook - Guide
- Ajouter un compte whatsapp - Guide
- Ajouter un compte facebook - Guide
- Ajouter signature word - Guide
8 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
qu'as-tu essayé, que penses-tu que tu peux faire pour continuer cet exercice?
qu'as-tu essayé, que penses-tu que tu peux faire pour continuer cet exercice?
dana2019
Messages postés
21
Date d'inscription
Statut
Membre
Dernière intervention
Je suis bloqué c’est pour ça que j’ai demandé de l’aide auprès de vous
Bonjour
Il semble que ce soit l’exercice à la mode dans la Belle Province!
Je n’ai pas encore regardé en details (mon ordinateur n’est pas libre pour l’instant pour tester)
Dans la classe liste patients, tu lis le fichier médecin mais tu écris le fichier patient. Dans la méthode afficherPatients, tu écris Médecin dans la console, bref y’a plein de copier collé non corrigés.
Une fois corrigé tout ça, peux-tu préciser ton problème, c’est d’associer un médecin ou trouver celui-ci qui a le moins de patients ?
Il semble que ce soit l’exercice à la mode dans la Belle Province!
Je n’ai pas encore regardé en details (mon ordinateur n’est pas libre pour l’instant pour tester)
Dans la classe liste patients, tu lis le fichier médecin mais tu écris le fichier patient. Dans la méthode afficherPatients, tu écris Médecin dans la console, bref y’a plein de copier collé non corrigés.
Une fois corrigé tout ça, peux-tu préciser ton problème, c’est d’associer un médecin ou trouver celui-ci qui a le moins de patients ?
Dans les contsructeurs de Patient.
pourquoi te servir du constructeur de Personne dans l'un et pas dans l'autre?
Idem avec les constructeurs de Medecin
pourquoi te servir du constructeur de Personne dans l'un et pas dans l'autre?
public Patient(string prenom, string nom, int numero)//pas là { _numero = numero; _prenom = prenom; _nom = nom; } public Patient(string prenom, string nom, string numero) : base(prenom, nom)//mais là oui { _numero = Convert.ToInt32(numero); }
Idem avec les constructeurs de Medecin
Non c’est une erreur de copie je lis le fichier patient.txt dans ma classe patient mon problème est lorsque j’ajoute un patient je dois l’associer au médecin actif qui a moins des patient
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
A quoi cela te sers d’utiliser 2 pseudo....
A laquelle tu n’as pas répondu
problème est lorsque j’ajoute un patient je dois l’associer au médecin actif qui a moins des patientOui ton « double » l’a déjà écrit d’ou ma demande de précision
peux-tu préciser ton problème, c’est d’associer un médecin ou trouver celui-ci qui a le moins de patients ?
A laquelle tu n’as pas répondu
tu partages, une fois de plus, l'énoncé de ton exercice.
que vas-tu apprendre si nous faisons l'exercice à ta place.
je pense qu'avant d'aller plus loin, tu dois réfléchir à ce que tu as déjà fait. je vois plusieurs grosses erreurs dans cela. je t'en ai déjà mentionné certaines.
d'autres sont plus fondamentales.
que vas-tu apprendre si nous faisons l'exercice à ta place.
je pense qu'avant d'aller plus loin, tu dois réfléchir à ce que tu as déjà fait. je vois plusieurs grosses erreurs dans cela. je t'en ai déjà mentionné certaines.
d'autres sont plus fondamentales.
Bonsoir
ce que j'ai écrit là https://forums.commentcamarche.net/forum/affich-36604269-triage-en-programmation-orienter-objet-python#15 est valable, en partie, pour toi aussi
ce que j'ai écrit là https://forums.commentcamarche.net/forum/affich-36604269-triage-en-programmation-orienter-objet-python#15 est valable, en partie, pour toi aussi
Bon puisque tu n'es pas décidée à répondre à une question simple.
Je vais t'en poser une encore plus simple.
Si tu y réponds dès le premier message, je tacherai de continuer à t'aider, sinon tu n'auras qu'à espérer que d'autres membres s'intéressent à ton problème. (PS on n'est pas nombreux à répondre en C#).
Je te le rappelle, nous sommes bénévoles, et en ce qui me concerne j'ai pas envie de me prendre la tête pour obtenir l'information dont j'ai besoin, c'est pas moi qui ait besoin d'aide.
Ma question est, supposons qu'il n'y ait qu'un seul médecin, as tu une idée de comment associé les patients avec ce médecin?
Je vais t'en poser une encore plus simple.
Si tu y réponds dès le premier message, je tacherai de continuer à t'aider, sinon tu n'auras qu'à espérer que d'autres membres s'intéressent à ton problème. (PS on n'est pas nombreux à répondre en C#).
Je te le rappelle, nous sommes bénévoles, et en ce qui me concerne j'ai pas envie de me prendre la tête pour obtenir l'information dont j'ai besoin, c'est pas moi qui ait besoin d'aide.
Ma question est, supposons qu'il n'y ait qu'un seul médecin, as tu une idée de comment associé les patients avec ce médecin?