您的位置:程序门 -> .net技术 -> c#



这个控制台程序怎么写?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


这个控制台程序怎么写?
发表于:2007-03-29 08:09:07 楼主
这个控制台程序怎么写?   在下面代码中在标题处如果输入为空,我提示他不能为空,继续输入标题,就是下面的注解部分?还有我输入完一本书,我提示他还是否要输入另外一本.如果选择y   在重新输入谢谢

      static   void   main(string[]   args)
                {
                        arraylist   list   =   new   arraylist();
                       
                        bookclass   ebook   =   new   bookclass();  
                      console.writeline( "input   book   title: ");  
                        string   _title   =   console.readline();   //如果输入空有提示,但我还想停留在输入title   这个行里面,不是跳到input   book   author: ",也就是输入空,就叫他一直输入,直到不为空为止.要怎么写?

                        ebook.title   =   _title;
                      console.writeline( "input   book   author: ");
                    string   _author   =     console.readline();
                    ebook.author   =   _author;
                    console.writeline( "input   book   cost: ");
                    try
                    {
                            float   _cost   =   float.parse(console.readline().tostring());
                            ebook.cost   =   _cost;
                    }
                    catch
                    {
                            console.writeline( "please   input   availibly   float ");
                    }
                    console.writeline( "input   book   copies: ");
                    try
                    {
                            int   _copies   =   int.parse(console.readline().tostring());
                    }
                    catch
                    {
                            console.writeline( "please   input   availibly   int ");
                    }
                    console.readline();
            //         list.add(ebook);
                  //   foreach   (
                }
      class   bookclass
        {
                private   string   title;
                private   string   author;
                private   float   cost;
                private   int   copies;
                public   string   title
                {
                        get
                        {
                              return   title;
                        }
                        set
                        {
                                if   (value   ==   " ")
                                {
                                        console.writeline( "error,   title   not   allow   null   ,please   input   again ");
                                }
                                else
                                {
                                        title   =   value;
                                }
                        }
                }
                public   string   author
                {
                        get
                        {
                                return   author;
                        }
                        set
                        {
                                if   (value   ==   " ")
                                {
                                        console.writeline( "error,   author     not   allow   null   ,please   input   again ");
                                }
                                else
                                {
                                        author   =   value;
                                }
                        }
                }
                public   float   cost
                {
                        get
                        {
                                return   cost;
                        }
                        set
                        {
                                if   (value   ==float.nan)  
                                {
                                        console.writeline( "error,   cost     not   allow   null   ,please   input   again ");
                                }
                                else
                                {
                                        cost   =   value;
                                }
                        }
                }
                public   int   copies
                {
                        get
                        {
                                return   copies;
                        }
                        set
                        {
                                if   (value==null   )
                                {
                                        console.writeline( "error,   copies     not   allow   null   ,please   input   again ");
                                }
                                else
                                {
                                        copies   =   value;
                                }
                        }
                }
                private   void   print()
                {
                                console.writeline( "this   book   title   is   "+title+ "   author   is   "+   author   + "   cost   = "   +cost.tostring()+   "     copies= "+copies.tostring());
                }
        }
发表于:2007-03-29 08:11:521楼 得分:0
这个程序不建议你到这来问,因为这是一个学习程序很好的开端,又不是特别难,你自己想想应该可以解决!
发表于:2007-03-29 08:15:332楼 得分:0
都是在form底下写,第一次写控制台程序.又急着要用没有办法,帮帮忙吧!
发表于:2007-03-29 08:24:273楼 得分:0
console下就是读取输入内容,可以根据readline()方法返回的字符串来判断,就如解析命令行中的命令一样。
发表于:2007-03-29 08:30:404楼 得分:0
大家都不肯回答,就问大家哪里有控制台基础知识的网站?谢谢各位,真的急用
发表于:2007-03-29 08:35:215楼 得分:0
如何:创建   c#   控制台应用程序    

本主题旨在使您在生成最简单形式的   c#   程序(控制台应用程序)时熟悉   visual   c#   速成版   开发环境。控制台应用程序在命令行执行所有的输入和输出,因此对于快速试验语言功能和编写命令行实用工具,它们是理想的选择。

注意  
在开发   windows   窗体应用程序时也将遇到本节中讨论的开发环境的功能,因此,请不要仅因为您不打算编写控制台应用程序就跳过本节!
 

在本节中,您将学习:

如何创建新的控制台应用程序。

如何在代码编辑器中使用书签。

如何查看解决方案资源管理器。

如何使代码保持良好的格式。

如何使用   intellisense   更快更准确地输入代码。

如何生成并运行您的应用程序。

在该任务中创建的程序将使用   system.io   命名空间中的类获取并显示包含在   c:\   目录中的所有文件及其大小的列表。您可以这些代码为基础,开发用于在目录中搜索特定文件名的实用工具。

创建   c#   控制台应用程序
在“文件”菜单上,单击“新建项目”。

出现“新建项目”对话框。该对话框列出   visual   c#   速成版   可以创建的不同默认应用程序类型。

选择“控制台应用程序”作为项目类型,并将应用程序的名称更改为“列出文件”。

默认位置应是恰当的,但您始终可以根据需要输入新路径。

单击“确定”。

visual   c#   速成版   为您的项目创建一个以项目标题命名的新文件夹,然后打开   visual   c#   速成版   主窗口,包括代码窗格,您将在其中输入和编辑构成应用程序的   c#   源代码。

 
注意窗口顶部的工具栏。该工具栏包含各种图标,用于创建、加载和保存项目、编辑源代码、生成应用程序以及隐藏和显示构成   visual   c#   速成版   环境的其他窗口。该工具栏的最右端的五个图标用来打开重要的窗口,如“解决方案资源管理器”和“工具箱”。将鼠标指针放在其中任一图标上可获取弹出工具提示帮助。

注意  
书签使您可以从源代码中的一个位置快速跳转到另一位置,因此它对于编写大型程序很有用。要创建书签,请单击“切换书签”图标或按   ctrl+b+t。边距中会显示一个青色标记。使用同样的过程可删除现有的书签。您可以创建任意数量的书签,并且可以使用“下一个”和“上一个”书签图标或按   ctrl+b+n   和   ctrl+b+p   在它们之间跳转。
 

确保“解决方案资源管理器”是可见的,方法是单击屏幕右端的“解决方案资源管理器”选项卡或工具栏中的“解决方案资源管理器”图标。

“解决方案资源管理器”是非常有用的窗格,因为它显示构成项目的各种文件。该项目中最重要的文件是“program.cs”文件,它包含应用程序的源代码。

 
如果希望使   visual   c#   速成版   的显示保持美观整洁,了解如何打开和隐藏“解决方案资源管理器”之类的窗口非常重要。默认情况下,“解决方案资源管理器”是可见的。如果要隐藏“解决方案资源管理器”,请单击其标题栏中的“自动隐藏”图标(图钉图标),或打开“解决方案资源管理器”标题栏中的“选项”菜单并启用“自动隐藏”。其他窗口(如“类视图”和“属性”)也有这些图标。

在“代码编辑器”中键入类名“console”   。

如果“解决方案资源管理器”仍挡住“代码”窗格,请在“代码”窗格中单击一次以隐藏“解决方案资源管理器”。现在单击   main   方法内的左大括号   ({)   的右边,然后按   enter   键开始新行。注意编辑器如何自动缩进光标。  

注意  
“代码编辑器”始终尝试将代码格式保持为标准的、易于阅读的布局。如果代码开始显得杂乱,您可以重新格式化整个文档,方法是单击“高级”,然后单击“编辑”菜单中的“设置文档格式”,或者按   ctrl+e+d。
 

键入   c#   类名或关键字时,您可以选择:自行键入完整的单词,或者让   intellisense   工具(“代码”窗格的一部分)帮您完成。例如,当键入“c”时,将显示单词的弹出列表,因为   intellisense   尝试预测您要键入的单词。在这种情况下,您将看不到刚才显示的单词“console”,因此要么向下滚动列表,要么继续键入单词“console”。当“console”在列表中突出显示时,按   enter   或   tab,或者双击它,console   将添加到代码中。

 
使用   intellisense   的好处是可以保证大小写和拼写是正确的。键入代码还是让   intellisense   帮您完成,完全由您决定。

键入一个句点和方法名   writeline。

在   console   后键入句点时,将立即显示另一个   intellisense   列表。该列表包含属于   console   类的所有可能的方法和属性。您需要   writeline   方法,并且应该能够在列表的底部看到它。自行完成键入   writeline   或按向下键以选择它,然后按   enter   或   tab   或双击它。writeline   将添加到代码中。

 
键入左括号。您将立即看到   intellisense   的另一项功能   —   方法签名,它显示为工具提示消息。在本例中,您可以看到   19   个不同的签名,并可以通过单击向上键和向下键浏览它们。

键入字符串“该程序列出目录中的所有文件。”

键入引号内的消息,并添加一个右括号。您将看到显示一条红色波浪下划线,提醒您缺少某些符号。键入一个“分号”   (;),下划线将消失。

完成程序。

键入或复制并粘贴以下代码来完成程序:

c#   复制代码
static   void   main(string[]   args)
{
        console.writeline( "this   program   lists   all   the   files   in   the   directory: ");

        system.io.directoryinfo   dir   =   new   system.io.directoryinfo(@ "c:\ ");

        foreach   (system.io.fileinfo   file   in   dir.getfiles( "*.* "))
        {
                console.writeline( "{0},   {1} ",   file.name,   file.length);
        }
        console.readline();
}

程序中的最后一行是   console.readline();,它使程序在按   enter   键之前暂停。如果省略此行,命令行窗口将立即消失,您将看不到程序的输出。如果您正在创建始终从命令行控制台中使用的命令行实用工具,可能需要省去对   readline()   方法的调用。

运行程序。

现在您的第一个程序已完成,可以编译和运行了。要执行此操作,请按   f5   或单击工具栏中的“开始”图标。

 
在程序编译和运行后,将打开“控制台”窗口,并显示文件及其大小的列表。按   enter   键退出该程序。

如果您不熟悉   c#   编程,阅读   c#   语言入门(visual   c#   速成版)一节并试验某些语言示例会是一个好方法。如果希望了解关于   visual   c#   速成版   开发环境和如何创建   windows   应用程序的更多信息,请继续到下一节如何:创建   c#   windows   应用程序。
发表于:2007-03-29 08:37:196楼 得分:0
写成函数     while循环
while(readtitle()   ==   " ")
{
      error();
}


快速检索

最新资讯
热门点击