注册 登录
编程论坛 C++教室

单数怎么变复数啊?

tszhao 发布于 2008-03-08 12:50, 2376 次点击
//make_plural函数是将单词的单数变复数的,请问各位该怎么改这个程序啊?
#include <iostream>
#include <string>
using namespace std;
int main()
{
    string make_plural(string &);
    string str;
    cout<<make_plural("success")<<endl;
    cout<<make_plural("failure")<<endl;
    return 0;
}
string make_plural(string &str)
{
    string str1;
    str1=str+'s';
    return str1;
}
8 回复
#2
tszhao2008-03-08 14:15
怎么没有人帮我哈?!~谢谢大家了,帮帮我!
#3
wfx_best2008-03-08 14:56
str 是输入参数,必须给它传递一个变里,而你给它传的是字符串常量
"success","failure"   这是语法错误
把函数原型改成  string make_plural(string); 就可以了
别忘了声明和定义两个地方都要改过来.
#4
wfx_best2008-03-08 15:02
或者你还可以改成这样,使用引用:
#include <iostream>
#include <string>
using namespace std;
int main()
{
    void make_plural(string&);
    string str1="success";
    string str2="failure";
    make_plural(str1);
    make_plural(str2);
    cout<<str1<<endl;
    cout<<str2<<endl;
    return 0;
}
void make_plural(string &str)
{
    str=str+'s';
}
#5
aipb20072008-03-08 15:07
有的单词 单复数同型
有的加S,有的加ES,有的变Y为I加ES。
#6
wfx_best2008-03-08 15:17
版主说的对
这还要对单词进一步分析才能加上后缀
还得再设计一个分析单词的函数
看来我只是改正了楼主的语法错误
不过这个分析单词的函数还得楼主操心了.....呵
#7
wfx_best2008-03-08 15:24
话说回来,要说把几个单词单数变复数,做个函数练习练习是可以的
但要把很多个或所有的单词变复数,那这个数据库可大咯.
而且不是所有的单词都可以变复数的
.........越想越恐怖.........
#8
tszhao2008-03-08 15:50
晕!!~我只是练习练习啊!!~呵呵!!~~~
#9
wfx_best2008-03-08 16:03
回复 8# 的帖子
练习照上面的程序改进改进也就 OK 了
1