我需要创建一个与用户互动并根据用户输入做出响应的AI程序。我在这方面经验不多,已经花了几个小时了,哈哈。我在网上查了一些资料,但我想我应该发布我的代码,看看能不能得到一些帮助/建议。
基本上,这个AI是用来帮助数学的。我已经让程序自我介绍并询问用户需要帮助的地方,但当我输入“加法”、“减法”等时,它只是输出数字,而应该回应“太好了,我会帮助你进行加法!/(或者用户输入的任何内容)”
程序首次运行的截图:http://prntscr.com/elw7b4输入用户需要帮助的内容后的截图:http://prntscr.com/elw7ky(显然目前有点混乱,我先做了计算器,所以它会给出额外的结果。)
在输入以下代码之前,计算器是可以工作的:(如你所见 http:// prntscr.com /elwavs 只有两个链接,因为我的声望值不足10)
void Inpsum(){cout << "Hello, my name is Eva! I am able to help you with basic Maths! How may I be of Assistance today?" << endl;float inpsum;cin >> inpsum;cout << "Great!, I will help you with " << (inpsum) << endl;}
但是输入上述代码后,计算器就坏了。
这是完整的代码:
#include <iostream>#include <cstdlib>#include <cmath>#include <iomanip>using namespace std;//user inputs what he needs help with/program outputvoid Inpsum(){ cout << "Hello, my name is Eva! I am able to help you with basic Maths! How may I be of Assistance today?" << endl;cin >> inpsum;cout << "Great!, I will help you with " << (inpsum) << endl;}//addition functionvoid Add() {float add1, add2;cout << "Please enter two values you want added together" << endl;cin >> add1;cin >> add2;cout << "The answer is: " << (add1 + add2) << endl;}//subtraction functionvoid Subt() {float subt1, subt2;cout << "Please enter two values you want subtracted" << endl;cin >> subt1;cin >> subt2;cout << "The answer is: " << (subt1 - subt2) << endl;}//division functionvoid Div(){ float div1, div2; cout << "Please enter two values you want divided" << endl; cin >> div1; cin >> div2; cout << "The answer is: " << (div1 / div2) << endl;}//multiplication functionvoid Mult() {float mult1, mult2;cout << "Please enter two values you want multiplacted" << endl;cin >> mult1;cin >> mult2;cout << "The answer is: " << (mult1 * mult2) << endl;}int main(){Inpsum(); //user inputs what they want help withAdd();Subt();Div();Mult(); return 0 ; }
基本上 – 我已经设置好了计算器,它原本是可以工作的。但是在尝试实现用户与程序之间的输入和输出时,我犯了错误,导致一切都坏了。程序没有说“太好了,我会帮助你进行加法”,而是说“太好了,我会帮助你进行 -134567432”
我不是要求别人帮我做,而是希望有人能指引我正确的方向,这样我以后就知道该怎么做了。
回答:
请注意,你使用 float inpsum;
来定义 inpsum
,但你试图存储的是字符串或单词。它们是不兼容的。你可以了解更多关于C++中的数据类型和字符串的知识。