Erreur Accessibilité incohérente en c#
Résolu
iliass0408
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
L0ci Messages postés 110 Date d'inscription Statut Membre Dernière intervention -
L0ci Messages postés 110 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
On ns a demandé de faire un prog de gestion de stagiaire, voici mon code:
le compilateur m'affiche l'erreur suivante:
Erreur 1 Accessibilité incohérente : le type de paramètre 'MenuEtudEx4.Program.etd' est moins accessible que la méthode 'MenuEtudEx4.Program.ajouter(System.Collections.Generic.List<MenuEtudEx4.Program.etd>, MenuEtudEx4.Program.etd)' D:\DebutC#\MenuEtudEx4\MenuEtudEx4\Program.cs 56 28 MenuEtudEx4
Je ne vois pas ce que c'est, aidez moi svp.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MenuEtudEx4
{
class Program
{
struct etd
{
public string nom;
public string prenom;
public string filiere;
public int annee;
public double[] notes;
}
static void Main(string[] args)
{
string choix="";
List<etd> maliste = new List<etd>();
etd e1=new etd();
do
{
menu(choix);
switch (choix)
{
case "1": ajouter(maliste,e1);break;
case "2": rechercher(maliste);break;
case "3": modifier(maliste, e1);break;
case "4": supprimer(maliste);break;
case "6": Console.WriteLine("A la prochaine");break;
default: Console.WriteLine("entrer un choix de 1 à 6");break;
}
Console.ReadKey();
} while ( (choix!="6"));
}
public static void menu(string ch)
{
Console.WriteLine("|-----Gestion des notes des étudiants-------|");
Console.WriteLine("|----Programme rélaisé par -----|");
Console.WriteLine("|-------------------------------------------|");
Console.WriteLine("|1--> Pour ajouter un étudiant |");
Console.WriteLine("|2--> Pour rechercher un étudiant |");
Console.WriteLine("|3--> Pour modifier un étudiant |");
Console.WriteLine("|4--> Pour supprimer un étudiant |");
Console.WriteLine("|5--> Pour trier les étudiants |");
Console.WriteLine("|6--> Pour quitter |");
Console.WriteLine("/t entrer votre choix /t");
ch = Console.ReadLine();
}
public static void ajouter(List<etd> maliste1,etd E)
{
Console.Write("Entrer nom:"); E.nom = Console.ReadLine();
Console.Write("Entrer prénom:"); E.prenom = Console.ReadLine();
Console.Write("Entrer filière:");E.filiere = Console.ReadLine();
Console.Write("Entrer année:"); E.annee = int.Parse(Console.ReadLine());
Console.WriteLine("Entrer les notes:"); E.notes = new double[3];
for (int i = 0; i < E.notes.Length; i++)
{
Console.Write("Entrer une note:"); E.notes[i] = double.Parse(Console.ReadLine());
Console.Write("\n");
}
Console.WriteLine("Etudiant bien ajouté!");
maliste1.Add(E);
}
public static void rechercher(List<etd>list)
{
String n = string.Empty;
int p = -1, k = 0;
Console.WriteLine("Entrer le nom de l'étudiant");
n = Console.ReadLine();
foreach (etd element in list)
{
if (element.nom == n)
p = k;
else k++;
}
if (p >= 0)
{
Console.Write(list[p].nom + " " + list[p].prenom + " " + list[p].filiere + " " + list[p].annee);
Console.Write(" Ses notes:");
for (int i = 0; i < list[p].notes.Length; i++)
{
if (i == list[p].notes.Length - 1)
Console.Write(list[p].notes[i]);
else
Console.Write(list[p].notes[i] + ",");
}
Console.Write("\n");
}
else
Console.Write("Pas d'enregistrement");
}
public static void modifier(List<etd> liste,etd e)
{
string n1 = "";
int p1 = -1, k1 = 0;
Console.WriteLine("entrer le nom à modifier:");
n1 = Console.ReadLine();
foreach (etd element in liste)
{
if (element.nom == n1)
p1 = k1;
else k1++;
}
if (p1 >= 0)
{
Console.Write("Entrer nom:");
e.nom = Console.ReadLine();
Console.Write("Entrer prénom:");
e.prenom = Console.ReadLine();
Console.Write("Entrer filière:"); e.filiere = Console.ReadLine();
Console.Write("Entrer année:"); e.annee = int.Parse(Console.ReadLine());
Console.WriteLine("Entrer les notes:");
e.notes = new double[3];
for (int i = 0; i < e.notes.Length; i++)
{
Console.Write("Entrer une note:"); e.notes[i] = double.Parse(Console.ReadLine());
Console.Write("\n");
}
liste[p1] = e;
}
else
Console.Write("Pas denregistrements");
}
public static void supprimer(List<etd> liste2)
{
string n2 = "";
int p1 = -1; int k1 = 0;
Console.Write("Sasissez le nom de l'étudiant à supprimer:");
n2 = Console.ReadLine();
foreach (etd element in liste2)
{
if (element.nom == n2)
p1 = k1;
else k1++;
}
if (p1 >= 0)
liste2.RemoveAt(p1);
else
Console.Write("Pas denregistrements");
}
}
}
On ns a demandé de faire un prog de gestion de stagiaire, voici mon code:
le compilateur m'affiche l'erreur suivante:
Erreur 1 Accessibilité incohérente : le type de paramètre 'MenuEtudEx4.Program.etd' est moins accessible que la méthode 'MenuEtudEx4.Program.ajouter(System.Collections.Generic.List<MenuEtudEx4.Program.etd>, MenuEtudEx4.Program.etd)' D:\DebutC#\MenuEtudEx4\MenuEtudEx4\Program.cs 56 28 MenuEtudEx4
Je ne vois pas ce que c'est, aidez moi svp.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MenuEtudEx4
{
class Program
{
struct etd
{
public string nom;
public string prenom;
public string filiere;
public int annee;
public double[] notes;
}
static void Main(string[] args)
{
string choix="";
List<etd> maliste = new List<etd>();
etd e1=new etd();
do
{
menu(choix);
switch (choix)
{
case "1": ajouter(maliste,e1);break;
case "2": rechercher(maliste);break;
case "3": modifier(maliste, e1);break;
case "4": supprimer(maliste);break;
case "6": Console.WriteLine("A la prochaine");break;
default: Console.WriteLine("entrer un choix de 1 à 6");break;
}
Console.ReadKey();
} while ( (choix!="6"));
}
public static void menu(string ch)
{
Console.WriteLine("|-----Gestion des notes des étudiants-------|");
Console.WriteLine("|----Programme rélaisé par -----|");
Console.WriteLine("|-------------------------------------------|");
Console.WriteLine("|1--> Pour ajouter un étudiant |");
Console.WriteLine("|2--> Pour rechercher un étudiant |");
Console.WriteLine("|3--> Pour modifier un étudiant |");
Console.WriteLine("|4--> Pour supprimer un étudiant |");
Console.WriteLine("|5--> Pour trier les étudiants |");
Console.WriteLine("|6--> Pour quitter |");
Console.WriteLine("/t entrer votre choix /t");
ch = Console.ReadLine();
}
public static void ajouter(List<etd> maliste1,etd E)
{
Console.Write("Entrer nom:"); E.nom = Console.ReadLine();
Console.Write("Entrer prénom:"); E.prenom = Console.ReadLine();
Console.Write("Entrer filière:");E.filiere = Console.ReadLine();
Console.Write("Entrer année:"); E.annee = int.Parse(Console.ReadLine());
Console.WriteLine("Entrer les notes:"); E.notes = new double[3];
for (int i = 0; i < E.notes.Length; i++)
{
Console.Write("Entrer une note:"); E.notes[i] = double.Parse(Console.ReadLine());
Console.Write("\n");
}
Console.WriteLine("Etudiant bien ajouté!");
maliste1.Add(E);
}
public static void rechercher(List<etd>list)
{
String n = string.Empty;
int p = -1, k = 0;
Console.WriteLine("Entrer le nom de l'étudiant");
n = Console.ReadLine();
foreach (etd element in list)
{
if (element.nom == n)
p = k;
else k++;
}
if (p >= 0)
{
Console.Write(list[p].nom + " " + list[p].prenom + " " + list[p].filiere + " " + list[p].annee);
Console.Write(" Ses notes:");
for (int i = 0; i < list[p].notes.Length; i++)
{
if (i == list[p].notes.Length - 1)
Console.Write(list[p].notes[i]);
else
Console.Write(list[p].notes[i] + ",");
}
Console.Write("\n");
}
else
Console.Write("Pas d'enregistrement");
}
public static void modifier(List<etd> liste,etd e)
{
string n1 = "";
int p1 = -1, k1 = 0;
Console.WriteLine("entrer le nom à modifier:");
n1 = Console.ReadLine();
foreach (etd element in liste)
{
if (element.nom == n1)
p1 = k1;
else k1++;
}
if (p1 >= 0)
{
Console.Write("Entrer nom:");
e.nom = Console.ReadLine();
Console.Write("Entrer prénom:");
e.prenom = Console.ReadLine();
Console.Write("Entrer filière:"); e.filiere = Console.ReadLine();
Console.Write("Entrer année:"); e.annee = int.Parse(Console.ReadLine());
Console.WriteLine("Entrer les notes:");
e.notes = new double[3];
for (int i = 0; i < e.notes.Length; i++)
{
Console.Write("Entrer une note:"); e.notes[i] = double.Parse(Console.ReadLine());
Console.Write("\n");
}
liste[p1] = e;
}
else
Console.Write("Pas denregistrements");
}
public static void supprimer(List<etd> liste2)
{
string n2 = "";
int p1 = -1; int k1 = 0;
Console.Write("Sasissez le nom de l'étudiant à supprimer:");
n2 = Console.ReadLine();
foreach (etd element in liste2)
{
if (element.nom == n2)
p1 = k1;
else k1++;
}
if (p1 >= 0)
liste2.RemoveAt(p1);
else
Console.Write("Pas denregistrements");
}
}
}
A voir également:
- Hns-accessible-system-folder
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Java code erreur 1603 ✓ - Forum Windows
7 réponses
Bonjour,
essaie de déclarer ta structure en public:
l'erreur survient car ta méthode ajouter est public mais ta structure ne l'est pas. Ta structure est donc plus protégée que la méthode, d'ou l'erreur.
essaie de déclarer ta structure en public:
public struct etd { public string nom; public string prenom; public string filiere; public int annee; public double[] notes; }
l'erreur survient car ta méthode ajouter est public mais ta structure ne l'est pas. Ta structure est donc plus protégée que la méthode, d'ou l'erreur.
Merci l'erreur est résolu, mais le programme ne tourne pas bien, j'ai qq chose qui ne va pas bien dans mon switch; lorsque j'entre un choix il ne s'exécute pas, il me donne le message déclaré dans (default) :entrer un choix de 1 à 6.....???
Aidez moi svp
Aidez moi svp
Bonjour,
l'erreur, je pense, vient du fait que la valeur rentrée par l'utilisateur n'est pas celle qui est dans le switch:
Si tu veux ré-afficher ton menu entier a chaque fois il suffit de le mettre dans le do{}
l'erreur, je pense, vient du fait que la valeur rentrée par l'utilisateur n'est pas celle qui est dans le switch:
menu(); //tu affiches ton menu do { choix= Console.ReadKey(); //tu lis l'entrée et tu affectes la //variable qui passe dans le switch switch (choix) { case "1": ajouter(maliste,e1);break; case "2": rechercher(maliste);break; case "3": modifier(maliste, e1);break; case "4": supprimer(maliste);break; case "6": Console.WriteLine("A la prochaine");break; default: Console.WriteLine("entrer un choix de 1 à 6");break; } } while ( (choix!="6")); } public static void menu() { Console.WriteLine("|-----Gestion des notes des étudiants-------|"); Console.WriteLine("|----Programme réalisé par -----|"); Console.WriteLine("|-------------------------------------------|"); Console.WriteLine("|1--> Pour ajouter un étudiant |"); Console.WriteLine("|2--> Pour rechercher un étudiant |"); Console.WriteLine("|3--> Pour modifier un étudiant |"); Console.WriteLine("|4--> Pour supprimer un étudiant |"); Console.WriteLine("|5--> Pour trier les étudiants |"); Console.WriteLine("|6--> Pour quitter |"); Console.WriteLine("/t entrer votre choix /t"); }
Si tu veux ré-afficher ton menu entier a chaque fois il suffit de le mettre dans le do{}
Merci pour ton aide ça marche, une dernière question svp, si je veux trier mes stagiaires par ordre alphabétique, comment je vais procéder
merci pour votre aide
merci pour votre aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
eh bien si tes étudiants sont dans une base de données il suffit d'ajouter un ORDER BY 'nom_de_la_colonne' a la fin de ta requête.
eh bien si tes étudiants sont dans une base de données il suffit d'ajouter un ORDER BY 'nom_de_la_colonne' a la fin de ta requête.
As-tu essayé ta_liste.Sort() ?
https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1?redirectedfrom=MSDN&view=netframework-4.8
https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1?redirectedfrom=MSDN&view=netframework-4.8