一道题

// Test.cpp : Defines the entry point for the console application.
//

#include <stdafx.h>
#include <stdio.h>
#include  <math.h>
#include <string.h>

class Animal
{
	public:
		char name[15];
		int health;
		int love;
};

class Dog:public Animal
{
	public:
		char strain[15];
};

class Penguin:public Animal
{
	public:
		char sex[15];
};

void SetProperty(Animal *animal);

int main()
{
   int i,j,N;
   printf("请输入一个大于0的数表示开始!\n");
   while(scanf("%d",&N)&&N!=0)                 //输入0表示结束
   {
	   printf("欢迎来到宠物商店!");
	   printf("输入您要购买的宠物类型(1.狗  2.企鹅):");
	   scanf("%d",&i);
	   printf("\n");

	   if(i==1)
	   {
		   Dog *dog=new Dog();
		   SetProperty(dog);
		   printf("请选择品种(1.京巴  2.拉布拉多):输入1或2:");
		   scanf("%d",&j);
		   if(j==1)
		   {
			   strcpy(dog->strain,"京巴");
		   }
		   else
		   {
			   strcpy(dog->strain,"拉布拉多");
		   }
		   printf("宠物的自白:\n");
		   printf("我叫:%s,健康值是:%d ,与主人亲密度是:%d ,品种是:%s\n",dog->name,dog->health,dog->love,dog->strain);
	   }
	   else
	   {
		   Penguin *penguin=new Penguin();
		   SetProperty(penguin);
		   printf("请选择性别(1.Q妹  2.Q仔):");
		   scanf("%d",&j);
		   if(j==1)
		   {
			   strcpy(penguin->sex,"Q妹");
		   }
		   else
		   {
			   strcpy(penguin->sex,"Q仔");
		   }
		   printf("宠物的自白:\n");
		   printf("我叫:%s,健康值是:%d,与主人亲密度是:%d,性别是:%s\n",penguin->name,penguin->health,penguin->love,penguin->sex);
	   }
   }

   return 0;
}

void SetProperty(Animal *animal)
{
    printf("请出入宠物的姓名:自己输入一个名字:");
	scanf("%s",animal->name);
	printf("请输入与主人的亲密度:输入0-100的数字:");
	scanf("%d",&animal->love);
	printf("请输入健康值:输入0-100的数字:");
    scanf("%d",&animal->health);
}

  

时间: 2024-10-08 15:06:12

一道题的相关文章

hd1496----&gt;这道题是水水的数论吗?

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1496 题意: Consider equations having the following form: a*x1^2+b*x2^2+c*x3^2+d*x4^2=0 a, b, c, d are integers from the interval [-50,50] and any of them cannot be 0.It is consider a solution a system ( x1,x

6月26号.NET面试题(程序题部分)只要做懂这3道题肯定能脱离菜鸟称号!

说明:1.如果只是想知道正确答案,拷贝代码到vs中运行就行了   2.这3道题我不会做,求指点(只需要告诉我考察的知识点就行了~) 1.下面的代码有什么错误吗,如果有如何改正?(我感觉没错呀~~) public class A { public virtual void F() { Console.WriteLine("A.F"); } } public abstract class B : A { public abstract override void F(); } 2.一道综合

闭包的一道题,不懂闭包的100%答不出来

A.45       B.55      C.90     D.100     E.0 闭包是什么?简单来说,就是存在内存中不会销毁,而这道题就是这样 虽然settimeout设置0ms,但是还是会被放在等待队列,虽然每次循环都执行了,但是只是注册了这个匿名函数,而不会执行函数中的表达式,虽然没有return,这就形成了闭包,把变量i保存起来,已注册的匿名函数就会当时“和自己有联系”的变量i取出来,所以这道题的答案是100 涉及到的知识点:js引擎单线程.闭包.settimeout 说的不是特别

[ACM] SDUT 2886 Weighted Median (省赛最悲剧的一道题)

Weighted Median Time Limit: 2000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 For n elements x1,?x2,?...,?xn with positive integer weights w1,?w2,?...,?wn. The weighted median is the element xk satisfying  and  , S indicates  Can you compute the weighte

每日一道题2014/7/23

10015 - Hankson的趣味题 Time Limit: 1000MSMemory Limit: 65535KB DescriptionHanks 博士是BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫Hankson.现在,刚刚放学回家的Hankson 正在思考一个有趣的问题.今天在课堂上,老师讲解了如何求两个正整数c1 和c2 的最大公约数和最小公倍数.现在Hankson 认为自己已经熟练地掌握了这些知识,他开始思考一个“求公约数”和“求公倍数”之类问题的“逆问题”,这

一道题引发的惨案

昨天在一个cocos2d-x的群里,有群友发了一个问题求答案,当时自已也一下子没想到什么好的写法,这时候有个群友写了一个比较少见的代码方法,当时一看到这代码,我有一种如糊灌顶的感受,因为自已平时基本没用这种写法,今日在别的群,我就发了这道题让大家讨论一下,结果没想到,引发了各种争吵和讨论,有写得不好却自以为是的,有写得好却看不起别人的写法,有写得很好却十分低调的,十分精彩,也算是为群里热闹了一下气氛,QQ群也变成了社会市井的一个浓缩了,呵呵. 以下贴上问题和昨天那位群友写的代码,我觉得精彩的地方

leetCode解题报告5道题(十)

Disk Schedule Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2368    Accepted Submission(s): 333 Problem Description 有很多从磁盘读取数据的需求,包括顺序读取.随机读取.为了提高效率,需要人为安排磁盘读取.然而,在现实中,这种做法很复杂.我们考虑一个相对简单的场景.磁

关于 double sort 这道题的思考

声明 笔者最近意外的发现 笔者的个人网站http://tiankonguse.com/ 的很多文章被其它网站转载,但是转载时未声明文章来源或参考自 http://tiankonguse.com/ 网站,因此,笔者添加此条声明. 郑重声明:这篇记录<关于 double sort 这道题的思考>转载自 http://tiankonguse.com/ 的这条记录:http://tiankonguse.com/record/record.php?id=651 前言 前言的前言 昨天本来写好了这篇记录,

一道题浅析 i++,++i,i+1及(引用)&amp;i的区别

我们可能很清楚i++,++i和i+1级&i的概念,但在实际运用中我们就有可能很容易搞混淆.特别是在递归中区别它们就显得尤为重要了.那首先我们先看一段利用递归逆序字符串的代码,你能回答出这段代码的正确输出吗? #include <iostream> using namespace std; void print(char *s); void print(char *s){ if(*s) { print(++s); cout<<*s<<endl; } } int m

关于图连通性的几道题(水)

POJ 2186 强连通分量缩点 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 6 int en[10010], col[10010], dfn[10010], low[10010], stack[10010], tot[10010], chu[10010]; 7 bool ins[10010]; 8 int n, m, esize, dtime