佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 760|回复: 3

求助~C++~新手

[复制链接]
发表于 10-4-2016 08:59 PM | 显示全部楼层 |阅读模式
我想求助是:
我的2道问题,如果都是先给他invalid input先,才回答正确答案,应该是4+4=8分才对,可是我的一上述方法(先给他invalid input 后,才回答正确答),最后我才拿到4分罢了,就是拿不到8分~~敬请帮忙。。。

#include <iostream>
#include <string>

using namespace std;
int main()
{
        string name;
        char ans;
        int mark = 0;


        cout << "****************************************" << endl;
        cout << "Welcome To Questionnaire About Oral Health Care" << endl;
        cout << "****************************************" << endl;
        cout << "Please Enter Your Name:" << endl;
        getline(cin, name);
        cout << "**************************************** " << endl;



        cout << "1)What do you use for cleaning your teeth?" << endl;
        cout << "a.Brush + toothpaste only\nb.Brush + toothpaste + dental floss" << endl;
        cin >> ans;


        if (ans == 'a' || ans == 'b' || ans == 'A' || ans == 'B')
        {
                if ((ans == 'b') || (ans == 'B'))
                {

                        mark += 4;

                }

        }
        else
        {
                do
                {
                        mark = +0;
                        cout << "Invalid input!" << endl;
                        cout << "Please enter a or b" << endl;
                        cout << "Try again : " << endl;
                        cin >> ans;
                        if ((ans == 'b') || (ans == 'B'))
                        {
                                mark += 4;
                        }
                }

                while (ans != 'a' && ans != 'b' && ans != 'A' && ans != 'B');
        }



        cout << "2)How often do you brush your teeth each day?" << endl;
        cout << "a.Twice a day\nb.Once a day" << endl;
        cin >> ans;



        if (ans == 'a' || ans == 'b' || ans == 'A' || ans == 'B')
        {
                if ((ans == 'a') || (ans == 'A'))
                {

                        mark = +4;

                }

        }
        else
        {
                do
                {
                        mark = +0;
                        cout << "Invalid input!" << endl;
                        cout << "Please enter a or b" << endl;
                        cout << "Try again : " << endl;
                        cin >> ans;
                        if ((ans == 'a') || (ans == 'A'))
                        {
                                mark = +4;
                        }
                }

                while (ans != 'a' && ans != 'b' && ans != 'A' && ans != 'B');
        }

        cout << "\nThe total mark is: " << endl;
        cout << mark << endl;

        if (mark >= 0 && mark <= 48)
        {
                cout << "You're FAILED!" << endl;
        }
        else if (mark >= 48 && mark <= 80)
        {
                cout << "Not bad!" << endl;
        }
        else
        {
                cout << "You're EXCELLENT!" << endl;
        }

        return 0;
}

回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 10-4-2016 09:00 PM | 显示全部楼层
请无视几多分fail几多分excellent那些= =! 谢谢
回复

使用道具 举报

 楼主| 发表于 11-4-2016 09:19 AM | 显示全部楼层
解决了,谢谢
回复

使用道具 举报

发表于 24-4-2016 08:22 PM | 显示全部楼层
好简单
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT


本周最热论坛帖子本周最热论坛帖子

ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 5-8-2025 09:30 PM , Processed in 0.116679 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表