我的任务是创建一个猜谜游戏,用户可以输入数据类型,并且程序必须返回相同格式的数据。或者程序将输出数据,用户必须输入具有相同格式的内容......
这是项目描述:
对于这个项目,您将基于所使用的简单数据类型创建猜谜游戏 在C#中。你的程序应输出一个数字,并根据值和格式, 用户必须输入与数字(或字符)格式匹配的数据类型。 然后程序将提示是否可以使用较小的数据类型来保存它 值。您的程序还应该提供游戏的反向选项。如果你输入一个 值,然后它应输出正确的数据类型。 这个程序应该使用byte,sbyte,int,uint,short,ushort,long,ulong,char,float, double,decimal和string。 提示:循环语句和分支将真正帮助您控制您的方式 程序处理数据。
/*referenced http://www.gamedev.net/topic/462388-guess-the-number-game-c/ */
using System;
using System.Collections.Generic;
using System.Text;
namespace Guess
{
class Program
{
static void Main(string[] args)
{
while (true)
{
string Value = 0;
string UserValue = 0;
int Switch = GenerateNumber(1,13);
Console.WriteLine("I want to play a guessing game... do you want to guess first? (1=yes or 0=no) \r\n");
int intTemp = Convert.ToInt32(Console.Readline());
if(intTemp == 0)
{
Console.WriteLine("\r\n OK... I will guess first... please type in a value: \r\n");
UserValue = Console.Readline();
if(
/*randomly picks a datatype case */
switch(Switch);
{
case 1:
/*byte*/
break;
case 2:
/*sbyte*/
break;
case 3:
/*int*/
break;
case 4:
/*uint*/
break;
case 5:
/*short*/
break;
case 6:
/*ushort*/
break;
case 7:
/*long*/
break;
case 8:
/*ulong*/
break;
case 9:
/*char*/
break;
case 10:
/*float*/
break;
case 11:
/*double*/
break;
case 12:
/*decimal*/
break;
case 13:
/*string*/
break;
}
我无法想出将字符串和字符与其他数据类型区分开来的逻辑。我知道,对于他们中的大多数人,我只能做一个if语句来确定数据类型是否在一定范围内,有人可以请我填写一些关于如何做到这一点的逻辑吗?
答案 0 :(得分:2)
char
完全一个字符。
string
是 n 个字符集合(基本上)。
因此,如果输入的类型为字符串,并且只有一个字符,则 可以是
对于其他数据类型,如果输入字符串不是该数据类型的有效值,则TryParse
将失败。
答案 1 :(得分:0)
您无法区分表示为字符串和1长度字符串的字符。 (char - >字符串隐式转换将隐藏原始类型差异。) 你可以(必须)假设长度将在char和string之间选择。