CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Problème C# compilation error CS1513 et CS1022

Fauchombre
Fauchombre
Niveau 4
02 février 2022 à 21:59:54

Salut,

J'ai voulu faire un exercice en C# pour m'entrainer mais je ne comprend pas pourquoi, j'ai ces erreurs (titre) alors que chacune de mes "{" a bien une "}" correspondante.

Mon code en question:

namespace exercice1
{
public const double PI = 3.14;
public class CCercle
{
public double Rayon;
public double Perimetre;
public double Aire;
public CCercle (double rayon)
{
Rayon = rayon;
Aire = PI * (rayon * rayon);
Perimetre = 2 * PI * rayon;
}
}

class Programme
{
static void Main(string[] args)
{
public CCercle c = new CCercle(6.25);
}
}
}

Quelqu'un pourrait m'aider svp ? Je ne comprend vraiment pas.

de_nada_cono
de_nada_cono
Niveau 10
02 février 2022 à 23:09:47
namespace exercice1
{
    public class CCercle
    {
        public const double PI = 3.14;
        public double Rayon;
        public double Perimetre;
        public double Aire;
        public CCercle(double rayon)
        {
            Rayon = rayon;
            Aire = PI * (rayon * rayon);
            Perimetre = 2 * PI * rayon;
        }    
    }
    class Programme
    {
        static void Main(string[] args)
        {
            CCercle c = new CCercle(6.25);
        }
    }
}
de_nada_cono
de_nada_cono
Niveau 10
02 février 2022 à 23:12:38

1) tu définissais ta variable PI en dehors d'une classe
2) tu avais mis le mot clé public à la création de ton objet CCercle, ce qui n'est pas valide

Fauchombre
Fauchombre
Niveau 4
03 février 2022 à 09:31:33

1) Ah oui effectivement
2) Bizarre, j'ai vu des vidéos dans lesquels ils utilisaient le mot clé public pour une class

Ah et comment t'as fait pour afficher mon code ainsi dans ton premier message ? :hap:

Fauchombre
Fauchombre
Niveau 4
03 février 2022 à 09:33:10

J'ai fait les corrections que tu m'as dit et essayé de compiler mais j'ai toujours les deux erreurs

(désolé pour le double post)

Message édité le 03 février 2022 à 09:33:23 par Fauchombre
Fauchombre
Fauchombre
Niveau 4
03 février 2022 à 11:24:16

Ah oui c'est bon, j'avais enlevé le public lorsque je crée la classe CCercle...

Merci !

Message édité le 03 février 2022 à 11:24:28 par Fauchombre
de_nada_cono
de_nada_cono
Niveau 10
03 février 2022 à 11:38:46

Le 03 février 2022 à 09:31:33 :
1) Ah oui effectivement
2) Bizarre, j'ai vu des vidéos dans lesquels ils utilisaient le mot clé public pour une class

Ah et comment t'as fait pour afficher mon code ainsi dans ton premier message ? :hap:

tu peux utiliser la balise <code></code> pour afficher ton code proprement

Message édité le 03 février 2022 à 11:40:57 par de_nada_cono
Fauchombre
Fauchombre
Niveau 4
04 février 2022 à 00:09:20

Merci !

Fauchombre
Fauchombre
Niveau 4
06 février 2022 à 11:53:23

Salut, j'ai encore un problème :svp: , donc je reposte sur ce topic pour éviter d'en recréer un :hap:

Je ne comprend pas pourquoi mais j'ai une erreur CS0200 dans ma méthode "AfficherEmploye" (c'est à la fin, j'ai noté quelle ligne c'était) alors que les attributs que j'utilise ne sont pas en lecture seule.

using System;

namespace Employé
{
    class Employe
	{
		public const int DateActuelle = 2022;
		public string Matricule;
		public string Nom {get; set;}
		public string Prenom {get; set;}
		readonly public int DateNaissance;
		readonly public int  DateEmbauche;
		double Salaire;
		public Employe(string matricule, string nom, string prenom, int dateNaissance, int dateEmbauche, double salaire)
		{
			Matricule = matricule;
			Nom = nom;
			Prenom = prenom;
			DateNaissance = dateNaissance;
			DateEmbauche = dateEmbauche;
			Salaire = salaire;
		}
		public static int Age(int dateNaissance)
		{
			return (DateActuelle - dateNaissance);
		}
		public static int Anciennete(int dateEmbauche)
		{
			return (DateActuelle - dateEmbauche);
		}
		public static void AugmentationDuSalaire(ref double salaire, int dateEmbauche)
		{
			if (Anciennete(dateEmbauche) < 5)
			{
				salaire = salaire * 1.02;
			}else if (Anciennete(dateEmbauche) < 10)
			{
				salaire = salaire * 1.05;
			}else
			{
				salaire = salaire * 1.10;
			}
		}
		public static void AfficherEmploye (Employe a)
		{
			Console.WriteLine($"{a.Matricule}");
			if ((a.Prenom[0] < 'z') && (a.Prenom[0] > 'a'))
			{
				a.Prenom[0] = Char.ToUpper(a.Prenom[0]); //Erreur CS0200
			}
		}
	}
}
Message édité le 06 février 2022 à 11:53:49 par Fauchombre
Magrozz
Magrozz
Niveau 7
06 février 2022 à 21:18:06

Le 06 février 2022 à 11:53:23 :
Salut, j'ai encore un problème :svp: , donc je reposte sur ce topic pour éviter d'en recréer un :hap:

Je ne comprend pas pourquoi mais j'ai une erreur CS0200 dans ma méthode "AfficherEmploye" (c'est à la fin, j'ai noté quelle ligne c'était) alors que les attributs que j'utilise ne sont pas en lecture seule.

using System;

namespace Employé
{
    class Employe
	{
		public const int DateActuelle = 2022;
		public string Matricule;
		public string Nom {get; set;}
		public string Prenom {get; set;}
		readonly public int DateNaissance;
		readonly public int  DateEmbauche;
		double Salaire;
		public Employe(string matricule, string nom, string prenom, int dateNaissance, int dateEmbauche, double salaire)
		{
			Matricule = matricule;
			Nom = nom;
			Prenom = prenom;
			DateNaissance = dateNaissance;
			DateEmbauche = dateEmbauche;
			Salaire = salaire;
		}
		public static int Age(int dateNaissance)
		{
			return (DateActuelle - dateNaissance);
		}
		public static int Anciennete(int dateEmbauche)
		{
			return (DateActuelle - dateEmbauche);
		}
		public static void AugmentationDuSalaire(ref double salaire, int dateEmbauche)
		{
			if (Anciennete(dateEmbauche) < 5)
			{
				salaire = salaire * 1.02;
			}else if (Anciennete(dateEmbauche) < 10)
			{
				salaire = salaire * 1.05;
			}else
			{
				salaire = salaire * 1.10;
			}
		}
		public static void AfficherEmploye (Employe a)
		{
			Console.WriteLine($"{a.Matricule}");
			if ((a.Prenom[0] < 'z') && (a.Prenom[0] > 'a'))
			{
				a.Prenom[0] = Char.ToUpper(a.Prenom[0]); //Erreur CS0200
			}
		}
	}
}

Les string sont immuables en C#.
Tu peux faire qqch du genre à la place :

a.Prenom = char.ToUpper(a.Prenom[0]) + a.Prenom.Substring(1);
Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment