第九讲 C#练习题
1、接收一个整数N 如果N是正数就输出1·N
如果是负数就提示出错输出
由丰老师提供 -_-~
2、编一个程序,从三个红球,五个白球,六个黑球中任意取出八个球,且其中必须有白球,输出所有可能的方案。
3、编一个程序,楼梯有n阶阶梯,每次只能走一阶或者两阶,问,有多少种走法?
以上由王珂老师提供。
4、小超市
100 9.5
200 9
300 8.5
400 8
每次输入实际金额 显示折后价 并且显示本次节省多少钱
5、网吧充值
利用while循环一直执行
定义会员机构体
在循环外部定义一个集合用于存放会员结构体(用户名、密码、余额)
每次循环执行一次询问
(会员管理(新增会员、删除会员、余额查询(利用用户名查询)),充值管理(充值服务、扣费服务))
会员2元一小时
10元送2元,
20元送5元,
50元送20元,
100元送50元,
200元送150元。
300元以上充多少送多少
我冲多少钱 能玩多少小时 请提供具体信息。
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
struct huiyuan
{
public string name;
public string password;
public double yue;
}
static void Main(string[] aaa)
{
Console.BackgroundColor = ConsoleColor.White;
Console.ForegroundColor = ConsoleColor.Black;
Console.Clear();
ArrayList Ul=new ArrayList();
while (true)
{
try
{
Console.WriteLine("请输入您要执行的操作:(1、会员管理\t2、充值管理)");
int x=Convert.ToInt32( Console.ReadLine());
m(x, Ul);
}
catch (Exception)
{
}
}
}
static void m(int x, ArrayList al)
{
switch (x)
{
case 1:
Console.WriteLine("1、添加会员\t2、删除会员\t3、余额查询");
int xx =Convert.ToInt32( Console.ReadLine());
huiyuanfuwu(xx, al);
break;
case 2:
Console.WriteLine("1、充值服务\t2、扣费服务");
int xxx = Convert.ToInt32(Console.ReadLine());
chongzhiguanli(xxx,al);
break;
default:
break;
}
}
static void chongzhiguanli(int x,ArrayList al)
{
switch (x)
{
case 1:
Console.Write("请输入要充值的用户名:");
string sname = Console.ReadLine();
foreach (huiyuan item in al)
{
if (item.name==sname)
{
Console.WriteLine("当前余额为:"+item.yue);
Console.Write("请输入充值金额:");
double m=Convert.ToInt32(Console.ReadLine());
chongzhi(m,al,sname);
break;
}
}
break;
default:
break;
}
}
static void chongzhi(double m, ArrayList al,string sname)
{
double x = 0;//奖励金额
if (m>=10&&m<20)
{
x = 2;
}
else if (m >= 20 && m < 50)
{
x = 5;
}
else if (m >= 50 && m < 100)
{
x = 20;
}
else if (m >= 100 && m < 200)
{
x = 50;
}
else if (m >= 200 && m < 300)
{
x = 150;
}
else if (m >= 300)
{
x = m;
}
else
{
x = 0;
}
huiyuan temp=new huiyuan();
for (int i = 0; i < al.Count; i++)
{
temp=((huiyuan)al[i]);
if (temp.name==sname)
{
temp.yue += Convert.ToDouble(m + x);
Console.WriteLine("本次充值成功,充值金额为" + m + "。奖励金额为:" + x + ".充值后余额为:" + temp.yue);
al.Insert(i, temp);
al.RemoveAt(i + 1);
break;
}
}
}
static void huiyuanfuwu(int x, ArrayList al)
{
switch (x)
{
case 1:
huiyuan h = new huiyuan();
Console.Write("请输入用户名:");
h.name = Console.ReadLine();
Console.Write("请输入密码:");
h.password = Console.ReadLine();
h.yue = 0;
al.Add(h);
break;
case 2:
Console.Write("请输入要删除的用户名:");
string dname = Console.ReadLine();
foreach (huiyuan item in al)
{
if (item.name==dname)
{
al.Remove(item);
Console.WriteLine("删除成功!");
break;
}
}
break;
case 3:
Console.Write("请输入要查询的用户名:");
string sname = Console.ReadLine();
foreach (huiyuan item in al)
{
if (item.name==sname)
{
Console.WriteLine("当前余额为:"+item.yue);
}
}
break;
default:
break;
}
}
}
}
第九讲 C#练习题的更多相关文章
- Stanford机器学习---第九讲. 聚类
原文:http://blog.csdn.net/abcjennifer/article/details/7914952 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归 ...
- PE格式第九讲,资源表解析
PE格式第九讲,资源表解析 一丶熟悉Windows管理文件的方法 首先,为什么标题是这个,主要是为了下边讲解资源方便,因为资源结构体很乱.如果直接拿出来讲解,那么就会很晕. 1.windows管理文件 ...
- Linux第九讲随笔 -进程管理 、ps aux 、
Linux第九讲1,进程管理 Linux在执行每一个程序时,就会在内存中为这个程序建立一个进程,以便让内核可以管理这个运行中的进程,进程是系统分配各种资源,进程调度的基本单位. 怎么查看进程 一.ps ...
- python学习第九讲,python中的数据类型,字符串的使用与介绍
目录 python学习第九讲,python中的数据类型,字符串的使用与介绍 一丶字符串 1.字符串的定义 2.字符串的常见操作 3.字符串操作 len count index操作 4.判断空白字符,判 ...
- Linux基础知识第九讲,linux中的解压缩,以及软件安装命令
目录 Linux基础知识第九讲,linux中的解压缩,以及软件安装命令 一丶Linux Mac Windows下的压缩格式简介 2.压缩以及解压缩 3.linux中的软件安装以及卸载 1.apt进行安 ...
- C语言第九讲,结构体
C语言第九讲,结构体 一丶结构体的定义 在C语言中,可以使用结构体(Struct)来存放一组不同类型的数据.结构体的定义形式为: struct 结构体名{ 结构体所包含的变量或数组 }; 结构体是一种 ...
- 第九讲_图像生成 Image Captioning
第九讲_图像生成 Image Captioning 生成式对抗网络 Generative Adversarial network 学习数据分布:概率密度函数估计+数据样本生成 生成式模型是共生关系,判 ...
- Linux性能优化实战学习笔记:第九讲
一.中断的魅力 1.中断在生活的魅力 比如你订了一份外卖,但是不确定外卖什么时候送到,也没有别的方法了解外卖的进度,但是,配送员送外卖是不等人的,到了你这儿没人取的话,就直接走人了.所以你指能苦苦等着 ...
- MySQL实战45讲学习笔记:第九讲
一.今日内容概要 今天的正文开始前,我要特意感谢一下评论区几位留下高质量留言的同学.用户名是 @某.人 的同学,对文章的知识点做了梳理,然后提了关于事务可见性的问题,就是先启动但是后提交的事务,对数据 ...
随机推荐
- Ant打包Android代码生成apk文件
可參考下面,实现一套代码不同渠道的打包 http://blog.csdn.net/liuhe688/article/details/6679879 http://cnn237111.blog.51ct ...
- ItelliJ基于Gradle创建及发布Web项目(二)
上一篇介绍了IteliJ创建WEB项目的过程,这一篇介绍一下和本地WEB服务器(以Tomcat为例)的关联方法和发布流程. WEB服务器的关联 1. 点击IDE右上角的一个带有三角形标识的按钮,如下图 ...
- TCP/UDP,SOCKET,HTTP,FTP 简析
(一)TCP/UDP,SOCKET,HTTP,FTP简析 TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层: 网络层:IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议 传 ...
- vsftpd問題集
vsftpd无法看到文件:226 Transfer done (but failed to open directory). 原因:目录不是一个 world_readable目录 解决方法:在配置文件 ...
- CentOS 删除桌面环境
帮客户买了一个vps, 结果里面装了一堆没用的软件,所以全部删掉 CentOS 桌面安装大多都是 以软件包的 形式安装 所以 最好是设置好 国内的yum 源, 然后执行: >yum groupl ...
- MS SQL表字段自增相关的脚本
--查询表是否有自增字段 SELECT OBJECTPROPERTY(OBJECT_ID('[表名]'), 'TableHasIdentity') --查询表的自增字段 SELECT COLUMN_N ...
- 如何查看Linux操作系统的位数
如何查看Linux操作系统的位数 1.编程实现: 在程序中返回sizeof(int)的值,返回的结果是操作系统的字节数.若返回4则是32位操作系统,返回8即是64位. 2.2.getconf命令: g ...
- java运算符优先级和结合性
运算符 结合性 [ ] . ( ) (方法调用) 从左向右 ! ~ ++ -- +(一元运算) -(一元运算) 从右向左 * / % 从左向右 + - 从左向右 << >> & ...
- NYOJ 467 中缀式变后缀式
做了表达式求值那道题之后做的 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描写叙述 人们的日常习惯是把算术表达式写成中缀式,但对于机器来说更"习惯于"后 ...
- Git出现error: Your local changes to the following files would be overwritten by merge: ... Please, commit your changes or stash them before you can merge.的问题解决(Git代码冲突)
在使用git pull拉取服务器最新版本时,如果出现error: Your local changes to the following files would be overwritten by m ...