Addition en C#

Résolu
hektor 1 Messages postés 129 Statut Membre -  
reaverlost Messages postés 168 Statut Membre -
Bonjour a tous

Je suis debutant en programmation et j'essaie actuellement un programme tres simple,
effectuer une addition.
voici le code :

int A, B, C;
Console.WriteLine("nombre 1");
A = Console.ReadLine();
Console.WriteLine("nombre2");
B = Console.ReadLine();
C = A + B;
Console.WriteLine("le resultat est :" + C);
Console.ReadLine;



Mais a chaque fois la liste d'erreur (visual C# 2008) affiche:

impossible de convertir implicitement le type "string" en "int"

Quel est le probleme??

merci de votre aide

13 réponses

Yorundr Messages postés 315 Statut Membre 44
 
Salut,

c'est très simple, en fait la méthode Console.WriteLine, ne peut afficher qu'une string (Chaine de caractère), ou une concaténation de string.

Or, ton C est un entier, il faut donc au préalable le convertir en string. Pour cela tu peux utiliser System.Convert.ToString


Console.WriteLine("le resultat est :" + System.Convert.ToString(C));
3
Neyte Messages postés 122 Statut Membre 16
 
je ne pense pas que tu puisse faire A = Console.ReadLine();

essaye A = int.Parse(Console.ReadLine());

également

essaye de remplacer :

Console.WriteLine("le resultat est :" + C);

par

Console.WriteLine("le resultat est :" + C.ToString());
0
hektor 1 Messages postés 129 Statut Membre
 
J'ai suivi ton conseil mais maintenant la liste d'erreur affiche:

Une référence d'objet est requise pour la propriété, la méthode ou le champ non statique

le message s'affiche pour les trois variables
0
Neyte Messages postés 122 Statut Membre 16
 
Quel est le nom de ta fonction?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Neyte Messages postés 122 Statut Membre 16
 
essaye avec sa :

static void Main(string[] args)
{
int A, B, C;
Console.WriteLine("nombre 1");
A = int.Parse(Console.ReadLine());
Console.WriteLine("nombre2");
B = int.Parse(Console.ReadLine());
C = A + B;
Console.WriteLine("le resultat est :" + C.ToString());
Console.ReadLine();
}
0
LDMBatman Messages postés 99 Statut Membre 39
 
La réponse de Neyte est la bonne. Problème résolu? :)
0
Neyte Messages postés 122 Statut Membre 16
 
ou alors C.ToString() tout simplement
0
LDMBatman Messages postés 99 Statut Membre 39
 
La méthode Console.ReadLine() stock le résultat via un return dans le type string.

Donc
int A <= string 
ne peut que générer une erreur si aucun Parse n'est fait
0
hektor 1 Messages postés 129 Statut Membre
 
Merci pour vos reponse.
Effectivement le code source de Neyte fonctionne correctement.
Il fallait donc convertir mes variables "int" en "string".
0
holow1 Messages postés 739 Statut Membre 71
 
converti tout les variables A,B,C non je crois c'est pas bon car c'est ta converti A ,et B quand tu veux faire l'addition il va faire la concaténation il faut juste converti la varaibles C en string

C.toString();
0
doncjavascript
 
The "Read" and "ReadLine" methods are the main ways of acquiring data from the standard input stream. "ReadLine" reads a whole line of characters from the buffer up to the point where the first end line character ("\n") is found. It outputs its data as "string" (experienced C++

//---J'ai trouvé ça, traduit approximativement:
"Read" et "Readline" methods sont les façon principale d'acquérir des données d'un point d'entrée. Readline lit une ligne entière de caractères du buffer au point ou la ligne prend fin(lorsque q'un \n est trouvé). Il retourne une donnée de type "string"



Bienvenu dans le monde joyeux(mais pas tant que ça) du typage de données. En effet chaque variable correspond à un type : entier (int) chaine de caractéres(string) etc...On ne peut additioner que des int et readline fournit une chaine de caractéres.


Je peut pas dire mieux en C#, essaie de trouver un tuto sur les variables qui montre une addition dans ce langage.
0
reaverlost Messages postés 168 Statut Membre 21
 
Salut,

Essayes :

int A, B, C;
Console.WriteLine("nombre 1");
A = int.Parse(Console.ReadLine());
Console.WriteLine("nombre2");
B = int.Parse(Console.ReadLine());
C = A + B;
Console.WriteLine("le resultat est :" + C);
Console.ReadLine;
0
reaverlost Messages postés 168 Statut Membre 21
 
Mince j'avais pas vu "Afficher les commentaires"...

Sorry :D
0