10dayC语言项目 《后宫选妃》
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——后宫选妃
import java.util.Date; import java.util.Scanner;import javax.swing.JOptionPane; import javax.swing.J ...
- 你想体验后宫选妃吗?js带你体验后宫选妃
你想体验后宫选妃吗?js带你体验后宫选妃 1.点击开始,启动定时器,获取当前时间置于文本框中,每隔10秒记录下来选中的妃子,点击去重,可以去除重复的妃子名 2.点击停止,停止选妃 效果实现: 代码实现 ...
- java后宫选妃文字版
package ImperialHaremOrSeraglio; import java.util.Scanner; /** 后宫选妃 @author 大杨 *@date 2019年8月17日 上午1 ...
- 老九C语言41课项目实战-皇帝的后宫
Tips: 1.二维数组里面高维可以不要,低维需要保留. 2.if(strcmp(tempName,names[i]) == 0) 需要引入头文件 #include <string.h> ...
- C语言写一个很好玩的皇帝的后宫小游戏
C语言写一个很好玩的皇帝的后宫小游戏 前言 先演示一下 上源码 总结 前言 只是单纯喜欢C语言,闲着无事把以前学习的时候的案例编了一下,都是很基础的代码,for,swich,if这些,基础好的看完后完 ...
- C语言小游戏(皇帝和他的后宫)
小游戏(皇帝和他的后宫) 今天我们来玩一个C语言的小游戏,皇帝和他的后宫.(所有代码我放在github上了,在文章末尾) 这个游戏是仿照着老九学堂的C语言课程写得.这里面运用了二维数组的相关知识. 游 ...
- 朕亦甚想你——从后宫管理看阿里云访问控制(上)
相关文章:"朕亦甚想你"--从后宫管理看阿里云访问控制(下) 由后宫开始 后宫是一个江湖,这里有锦衣玉食的生活.汉宫秋月的孤寂.生杀予夺的权势.鸡犬升天的恩宠.后宫是皇上的私人 ...
- 二维数组练手小程序--后宫管理
前言 学习C语言两个星期,用这个小小的文字游戏练手. 这个程序的知识点是: 二维数组.循环.各种基础的函数. 内容和创意 都来源于网易云课堂→老九零基础学编程 的教学课程(https://study. ...
- [开源] C语言项目实战 - 虚拟鼠标 - VirtualMouse
C语言项目实战 - 虚拟鼠标 - VirtualMouse 目录 关于软件 软件介绍 使用帮助 项目介绍 源码及软件下载 知识点扫描 热键的使用 鼠标事件的模拟 字体的选用 开机自启动的设置 为软件添 ...
- 如何使用visual studio 2017创建C语言项目
使用visual studio 2017创建一个C语言项目,步骤如下: (1)打开Visual Studio 2017环境后出现欢迎界面,如图1所示. 图1 Visual Studio 2017欢迎 ...
最新文章
- python 更新pip 失败问题总结
- RSA遭骇 Token 换?不换?
- 完美解答35K月薪的MySQL面试题(四)MySQL是如何加行锁的?
- .net core2.0下Ioc容器Autofac使用
- 网易云的朋友给我这份339页的Android面经,满满干货指导
- Js实现div随鼠标移动的方法
- 奇迹世界服务器不响应,sun-奇迹世界 目前常见问题解决方法
- 玩转Bootstrap(JS插件篇)-第1章 模态弹出框 :1-2 动画过渡
- php对接V免签支付教程_Thinkphp开源版v免签支付系统支付宝/微信_免签约收款回调...
- ios手机上java最好的编辑器_程序员编程利器:20款最好的免费的IDEs和编辑器
- hosts该文件已设置为只读的解决方法
- logback springProperty 标签不起作用
- HTML基本知识学习 2021-04-08
- 通常家庭说的100M宽带,下载速度是?
- 2022备赛蓝桥杯给大家的建议与提醒和资料,值得认真看一下,多拿几十分
- C# 获取图片,Pdf中的文字
- pandas数据拼接
- Jquery字符UrlEncode 编码、解码 --C#UrlEncode
- 优雅整洁的 Java 代码命名技巧,风之极·净化
- 新研究显示尿石素A (Mitopure®)可改善线粒体健康,减少关节软骨损伤并减轻骨关节炎疼痛
热门文章
- 华为机试:统计射击比赛成绩
- 服务器限制网页只能跳转过来,限制网页只能在微信打开
- @property详细解读
- Linux Puppet基础知识
- mysql interval啥意思_MySQL interval()函数
- 十年工作经验的中层员工如何在大厂生存?
- 中国LVDT RVDT传感器市场现状研究分析与发展前景预测报告(2022)
- Maven异常:0.0.1-SNAPSHOT: Could not find artifact
- 利用python进行微信好友数据分析
- 推荐一些stm32和DSP的学习视频和教程(资料)