1、下旨选妃, 即新增加一位新的妃子,然后其他妃子的好感度减 10 点。

2、 翻牌宠幸, 主要是改变妃子的等级状态,增加其好感度,减少其他妃子好感度。

3、 打入冷宫, 即删除一位妃子,然后其他所有的妃子好感度加 10 点。

4、 朕的爱妃呢 主要查找功能,根据输入的名字查找妃子信息。

#include <stdio.h>
#include <string.h>void menu();
void state_list(char names[10][10] , char levels[10][10] , int loves[10] , int count);
int fun1(char names[10][10] , char levels[10][10] , int loves[10] , int count);
void fun2(char names[10][10] , char levels[10][10] , int loves[10] , int count);
void level_rise(char name[10] , char level[10] ,char levels[10][10] ,int temp);
int fun3(char names[10][10] , char levels[10][10] , int loves[10] , int count);
void fun4(char names[10][10] , char levels[10][10] , int loves[10] , int count);int main()
{int days=1,n;//时间,选项“1,2,3,4 ” int count=4; //当前已有妃子的数目  char names[10][10]={"沉鱼","落雁","闭月","羞花"};//妃子姓名 char levels[10][10]={"贵妃","妃","嫔","贵人"};//妃子等级;皇贵妃,贵妃(100-90),妃(89-80),嫔(79-70),贵人(69-65),常在(64-60),答应
//    char levelz[10][10]={"皇后","皇贵妃","贵妃","妃","嫔","贵人","常在","答应"};int loves[10]={90,80,70,65}; //好感度 while(1){printf("第%d天:\n", days++);menu();scanf("%d",&n);getchar();if(n==1)    //调用选项1 count = fun1(names , levels ,  loves, count);if(n==2)    //调用选项2
            fun2(names , levels ,loves, count);    if(n==3)    //调用选项3 count = fun3(names , levels ,  loves, count); if(n==4)    //调用选项4
            fun4(names , levels ,  loves, count);    }return 0;
}
//选项菜单
void  menu()
{printf("1.皇帝陛下下旨选妃!\t\t(增加)\n"); printf("2.翻牌宠幸,嘿嘿嘿\t\t(修改状态)\n"); printf("3.打入冷宫,滚滚滚\t\t(删除)\n"); printf("4.爱妃!朕的爱妃你在哪?\t(查找)\n"); printf("陛下请选择:");
}
//1.皇帝陛下下旨选妃(增加)即新增加一位新的妃子,然后其他妃子的好感度减 10 点。
int fun1(char names[10][10] , char levels[10][10] , int loves[10] , int count)
{int i;char name[10];printf("爱江山更爱美人,万家千丽一点红~\n");printf("娘娘名讳:");scanf("%s",name); printf("\n");int flag=0;for(i=0;i<count;i++){    if(strcmp(names[i],name)==0)flag=1;}if(flag!=1){    strcpy( names[count] , name );strcpy( levels[count] , "妃" ); //新纳入宫中的妃子都深得皇上喜爱,初始等级都为“妃 ” loves[count]=80;                //初始好感度80 for(i=0;i<count;i++)loves[i]-=10;count++;printf("新增妃子,其他妃嫔好感度-10\n");        }        else{printf("美人已在后宫之中,陛下太贪心了呢!");} printf("\n");state_list(names , levels ,  loves, count);    //调用状态列表 printf("\n");return count;        //新纳入了妃子,数目增加
}
//2.翻牌宠幸,嘿嘿嘿(修改状态)主要是改变妃子的等级状态,增加其好感度,减少其他妃子好感度。
void fun2(char names[10][10] ,char levels[10][10] , int loves[10] , int count)
{char name[10];int i,temp;printf("陛下请输入今晚要宠幸的妃子的姓名:");scanf(" %s",name); for(i=0;i<count;i++){if(strcmp(names[i],name)==0){temp=i;loves[temp]+=10;}            }for(i=0;i<temp;i++){loves[i]-=10;}for(i=temp+1;i<count;i++){loves[i]-=10;}char level[10];strcpy( level , levels[temp]);level_rise( name , level , levels, temp );   //调用等级提升函数 printf("\n");printf("憔悴容华怯对春,寂寞宫殿锁闭门。\n");printf("此身却羡宫中树,不失芳时雨露思。\n");printf("我恨这深宫清冷,所有娘娘好感度-10!\n");printf("\n");state_list( names , levels , loves , count);printf("\n");}
//等级提升,宠幸一次等级提升一级
void level_rise(char name[10] , char level[10], char levels[10][10] ,int temp)
{if(strcmp(level,"贵人")==0){strcpy( levels[temp] , "嫔" );}    if(strcmp(level,"嫔")==0){strcpy( levels[temp] , "妃" );}    if(strcmp(level,"妃")==0){strcpy( levels[temp] , "贵妃" );}    if(strcmp(level,"贵妃")==0){strcpy( levels[temp] , "皇贵妃" );}    if(strcmp(level,"皇贵妃")==0)strcpy( levels[temp] , "皇后" );printf("\n");printf("***************************\n");printf("Duang~%s的等级提升到%s\n",name,levels[temp]);printf("***************************\n");
}
//3.打入冷宫,滚滚滚(删除)即删除一位妃子,然后其他所有的妃子好感度加 10 点。
int fun3(char names[10][10] , char levels[10][10] , int loves[10] , int count)
{char name[10];int i,temp;printf("陛下要将哪位娘娘打入冷宫:");scanf("%s",name); int flag=0;for(i=0;i<count;i++){    if(strcmp(names[i],name)==0){flag=1;temp=i;}        }if(flag==1){    for(i=temp;i<count;i++){strcpy( names[i] , names[i+1] );strcpy( levels[i] , levels[i+1] );loves[i]=loves[i+1];    } for(i=0;i<count-1;i++)loves[i]+=10;count--;printf("%s被打入冷宫,终于除掉这个小贱人了,哈哈哈。所有娘娘好感度+10!\n",name);        }else{printf("虚惊一场,无人打入冷宫,该吃吃该喝喝,快乐人生"); }            printf("\n");state_list(names , levels ,  loves, count);printf("\n");return count;
}
//4.爱妃!朕的爱妃你在哪?(查找)主要查找功能,根据输入的名字查找妃子信息
void fun4(char names[10][10] , char levels[10][10] , int loves[10] , int count)
{int i;char name[10];printf("陛下您要找哪位娘娘,请输入姓名:");scanf("%s",name); printf("\n");    printf("爱妃!朕可算找到你了,朕愿意为了你烽火戏诸侯!");    printf("%s的好感度+10\n",name);    printf("\n");for(i=0;i<count;i++){if(strcmp(names[i],name)==0)loves[i]+=10;            }printf("\n");state_list(names , levels ,  loves, count);printf("\n");
}
//状态列表
void  state_list(char names[10][10] , char levels[10][10] , int loves[10] , int count)
{int i;printf("%-8s%-8s%-8s\n","姓名","等级","好感度"); printf("----------------------\n");for(i=0;i<count;i++)printf("%-8s%-8s%-8d\n",names[i],levels[i],loves[i]);
}

转载于:https://www.cnblogs.com/zhujiankang/p/11270832.html

10dayC语言项目 《后宫选妃》相关推荐

  1. 小项目1——后宫选妃

    import java.util.Date; import java.util.Scanner;import javax.swing.JOptionPane; import javax.swing.J ...

  2. 你想体验后宫选妃吗?js带你体验后宫选妃

    你想体验后宫选妃吗?js带你体验后宫选妃 1.点击开始,启动定时器,获取当前时间置于文本框中,每隔10秒记录下来选中的妃子,点击去重,可以去除重复的妃子名 2.点击停止,停止选妃 效果实现: 代码实现 ...

  3. java后宫选妃文字版

    package ImperialHaremOrSeraglio; import java.util.Scanner; /** 后宫选妃 @author 大杨 *@date 2019年8月17日 上午1 ...

  4. 老九C语言41课项目实战-皇帝的后宫

    Tips: 1.二维数组里面高维可以不要,低维需要保留. 2.if(strcmp(tempName,names[i]) == 0) 需要引入头文件 #include <string.h> ...

  5. C语言写一个很好玩的皇帝的后宫小游戏

    C语言写一个很好玩的皇帝的后宫小游戏 前言 先演示一下 上源码 总结 前言 只是单纯喜欢C语言,闲着无事把以前学习的时候的案例编了一下,都是很基础的代码,for,swich,if这些,基础好的看完后完 ...

  6. C语言小游戏(皇帝和他的后宫)

    小游戏(皇帝和他的后宫) 今天我们来玩一个C语言的小游戏,皇帝和他的后宫.(所有代码我放在github上了,在文章末尾) 这个游戏是仿照着老九学堂的C语言课程写得.这里面运用了二维数组的相关知识. 游 ...

  7. 朕亦甚想你——从后宫管理看阿里云访问控制(上)

    相关文章:"朕亦甚想你"--从后宫管理看阿里云访问控制(下) 由后宫开始   后宫是一个江湖,这里有锦衣玉食的生活.汉宫秋月的孤寂.生杀予夺的权势.鸡犬升天的恩宠.后宫是皇上的私人 ...

  8. 二维数组练手小程序--后宫管理

    前言 学习C语言两个星期,用这个小小的文字游戏练手. 这个程序的知识点是: 二维数组.循环.各种基础的函数. 内容和创意 都来源于网易云课堂→老九零基础学编程 的教学课程(https://study. ...

  9. [开源] C语言项目实战 - 虚拟鼠标 - VirtualMouse

    C语言项目实战 - 虚拟鼠标 - VirtualMouse 目录 关于软件 软件介绍 使用帮助 项目介绍 源码及软件下载 知识点扫描 热键的使用 鼠标事件的模拟 字体的选用 开机自启动的设置 为软件添 ...

  10. 如何使用visual studio 2017创建C语言项目

    使用visual studio 2017创建一个C语言项目,步骤如下: (1)打开Visual Studio 2017环境后出现欢迎界面,如图1所示. 图1  Visual Studio 2017欢迎 ...

最新文章

  1. python 更新pip 失败问题总结
  2. RSA遭骇 Token 换?不换?
  3. 完美解答35K月薪的MySQL面试题(四)MySQL是如何加行锁的?
  4. .net core2.0下Ioc容器Autofac使用
  5. 网易云的朋友给我这份339页的Android面经,满满干货指导
  6. Js实现div随鼠标移动的方法
  7. 奇迹世界服务器不响应,sun-奇迹世界 目前常见问题解决方法
  8. 玩转Bootstrap(JS插件篇)-第1章 模态弹出框 :1-2 动画过渡
  9. php对接V免签支付教程_Thinkphp开源版v免签支付系统支付宝/微信_免签约收款回调...
  10. ios手机上java最好的编辑器_程序员编程利器:20款最好的免费的IDEs和编辑器
  11. hosts该文件已设置为只读的解决方法
  12. logback springProperty 标签不起作用
  13. HTML基本知识学习 2021-04-08
  14. 通常家庭说的100M宽带,下载速度是?
  15. 2022备赛蓝桥杯给大家的建议与提醒和资料,值得认真看一下,多拿几十分
  16. C# 获取图片,Pdf中的文字
  17. pandas数据拼接
  18. Jquery字符UrlEncode 编码、解码 --C#UrlEncode
  19. 优雅整洁的 Java 代码命名技巧,风之极·净化
  20. 新研究显示尿石素A (Mitopure®)可改善线粒体健康,减少关节软骨损伤并减轻骨关节炎疼痛

热门文章

  1. 华为机试:统计射击比赛成绩
  2. 服务器限制网页只能跳转过来,限制网页只能在微信打开
  3. @property详细解读
  4. Linux Puppet基础知识
  5. mysql interval啥意思_MySQL interval()函数
  6. 十年工作经验的中层员工如何在大厂生存?
  7. 中国LVDT RVDT传感器市场现状研究分析与发展前景预测报告(2022)
  8. Maven异常:0.0.1-SNAPSHOT: Could not find artifact
  9. 利用python进行微信好友数据分析
  10. 推荐一些stm32和DSP的学习视频和教程(资料)