Console.WriteLine() et les types int [Résolu]

cs_v1 9 Messages postés jeudi 22 janvier 2004Date d'inscription 28 novembre 2005 Dernière intervention - 25 nov. 2005 à 11:28 - Dernière réponse : MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention
- 25 nov. 2005 à 17:08
Bonjour à tous,
Voilà je débute en C# et j'ai fait un petit programme super simple qui demande les caractéristiques d'un PC, mais j'ai un problème lorsque je demande l'âge du PC (en souligné italique sur le prog), le compilateur m'indique qu'il ne peut pas implicitement convertir les chaînes en entier. Pourtant j'ai bien précisé que nOld est un entier dans ma définition de classe (public class computer). Qu'est-ce qui cloche ?


using System;


namespace Hello


{


/// <summary>


/// description de mon PC


/// </summary>


public class Class1



{


public static void Main(string[] args)


{


//Création d'un objet de la classe Tower


Tower MyTower = new Tower ();


Console.WriteLine("Entrez le nom du microprocesseur : ");


MyTower.sCpuName = Console.ReadLine();


Console.WriteLine("Entrez le nom de la carte graphique");


MyTower.sGpuCard = Console.ReadLine ();


Console.WriteLine("Entrez le nom et la taille du disque dur");


MyTower.sHDDrive = Console.ReadLine();


Console.WriteLine("Entrez le nom de la carte mère");


MyTower.sMasterCard = Console.ReadLine ();


Console.WriteLine("Entrez le nom de la carte son");


MyTower.sSndCard = Console.ReadLine();


//Création de l'ordinateur


Computer MyComputer = new Computer ();


Console.WriteLine("Entrez le nom de la personne ayant assemblé l'ordinateur");


MyComputer.sManufacturer = Console.ReadLine();


Console.WriteLine("Entrez le nom que vous avez donné à l'ordinateur");


MyComputer.sName = Console.ReadLine ();


Console.WriteLine("Entrez l'âge du PC" <gras>);


MyComputer.nOld = Console.ReadLine<gras>();


}


}


}


public class Computer


{


public string sManufacturer;


public string sName;


public int nOld;


public Tower tower;


}


public class Tower


{


public string sCpuName;


public string sHDDrive;


public string sMasterCard;


public string sGpuCard;


public string sSndCard;


}
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 25 nov. 2005 à 11:35
3
Merci
Console.WriteLine("Entrez l'âge du PC"<gras>);


<gras>MyComputer.nOld = Int.Parse(Console.ReadLine<gras>());

Sébastien FERRAND
[MVP C#]

Merci sebmafate 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 68 internautes ce mois-ci

Commenter la réponse de sebmafate
Meilleure réponse
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 25 nov. 2005 à 12:00
3
Merci
Int.Parse... en gros, c'est crée un int à partir de la chaine de caractères

Sébastien FERRAND
[MVP C#]

Merci sebmafate 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 68 internautes ce mois-ci

Commenter la réponse de sebmafate
cs_v1 9 Messages postés jeudi 22 janvier 2004Date d'inscription 28 novembre 2005 Dernière intervention - 25 nov. 2005 à 11:52
0
Merci
Ok, maintenant ça marche, mais qu'est-ce que int.Parse(Console.ReadLine()) "dit" à mon programme ? Ou plus simplement, à quoi sert généralement Parse ?
Commenter la réponse de cs_v1
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 25 nov. 2005 à 12:04
0
Merci
Le petit lien qui va bien : Int32.Parse :-)

/*
coq
MVP Visual C#
*/
Commenter la réponse de cs_coq
cs_v1 9 Messages postés jeudi 22 janvier 2004Date d'inscription 28 novembre 2005 Dernière intervention - 25 nov. 2005 à 12:11
0
Merci
Encore une question de débutant, sébastien, après je te fout la paix.
Si j'ai bien compris, il faut utiliser Parse car Console.ReadLine()
Commenter la réponse de cs_v1
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 25 nov. 2005 à 12:13
0
Merci
car Console.ReadLine() retourne une string

Sébastien FERRAND
[MVP C#]
Commenter la réponse de sebmafate
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 25 nov. 2005 à 17:08
0
Merci
... et que tu as déclaré nOld en int, c'est comme si tu mettais du café dans une boité a sucre (meme si ca a priori, ca fonctionne. la boite a sucre va pas te renvoyer d'erreur )
Mx
Commenter la réponse de MorpionMx

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.