登录注册
上海交通大学论坛 > 咨询部落 > 浏览当前帖子 手机版 关闭左侧栏
这个程序有什么问题啊……编了两三个小时了
返回本版】  【发表帖子】  【回复帖子 浏览量  9374      回帖数 11
柴郡猫    等级  

楼主 发表于  2014/9/16 5:25:27    编 辑   


//设计的一个猜数字的游戏。七次机会
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

int main()
{
int num1,num2,num3,a,b,c,m,n,i;
bool suc;

srand(time(NULL));

suc=0;
num1=rand()*10/(RAND_MAX+1);
num2=num1;
while (num2==num1)num2=rand()*10/(RAND_MAX+1); //使三个数不相等
num3=num2;
while (num3==num2||num3==num1)num3=rand()*10/(RAND_MAX+1);//上面三步出随机数

for (i=7;i>=1;--i){ //少了这个大括号结果总是显示剩余0次
m=0;n=0;

cout<<"请输入你猜的三位数(还有"<<i<<"次机会) ";
cin>>a>>b>>c;


if (a==num1) m++;//位置与数字是否一致
else{if (b==num2||c==num3) n++;}//另外两位

if (b==num2) m++;//位置与数字是否一致
else {if (a==num1||c==num3) n++;}//另外两位

if (c==num3) m++;//位置与数字是否一致
else {if(a==num1||b==num2) n++;}//另外两位

if (m=3)cout<<"恭喜你猜对了。"<<endl;
else{cout<<m<<"A"<<n<<"B"<<endl;}} // 少了这个大括号结果总是显示剩余0次

if (suc==0) cout<<"很遗憾你没有在规定次数内猜对。答案是"<<a<<b<<c<<endl;

return 0;
}






求大神指导指导



小波    等级  

2 楼 发表于  2014/9/16 21:24:51    编 辑   


没人帮忙吗



醉蚊    等级  

3 楼 发表于  2014/9/17 6:19:19    编 辑   


猜个数字而已 为什么要分成个十百分别比较呢……
先去吃饭,回来后要是没人解决就跑跑看吧



孤独浪人    等级  

4 楼 发表于  2014/9/17 17:15:05    编 辑   


好吊的样子
时尚简约国际范儿,高端大气windows phone!



chinaboy    等级  

5 楼 发表于  2014/9/18 9:25:44    编 辑   


小错误if(m=3),改为if(3==m);另外,猜对时succ忘记赋值



85147674    等级  

6 楼 发表于  2014/9/18 23:28:18    编 辑   


才两三个小时,别着急啊,慢慢调



微笑炸弹    等级  

7 楼 发表于  2014/9/19 17:21:53    编 辑   


慢慢来…



yayou    等级  

8 楼 发表于  2014/9/20 7:32:47    编 辑   


3个小时,不急,前几天为了编个多元定积分的求解,编到凌晨3点



四丝思    等级  

9 楼 发表于  2014/9/20 18:26:37    编 辑   


假如num1=1 num2=2 num3=3
你猜0 2 3 的话 正确答案应该是 2A0B啊
按你的这个运行下去 是2A1B
不知道你那三个if是怎么想的....
同是大一新生 互助共勉!



zjr6655    等级  

10 楼 发表于  2014/9/21 20:39:26    编 辑   


第一次作业就来问



1 2
表情
所有内容均为会员自愿发表,并不代表本站立场.
论坛帮助 会员认证删帖申请 联系我们