我想问问,如何使得在在条件语句中获取的值给予到主程序中
运用函数返回值的功能
int checkText(TextMath* abs, int year, int moon, int day)
{
for (int i = 0; i < abs->m_Math; i++)
{
if (abs->InFormation[i].Year == year && abs->InFormation[i].Moon == moon && abs->InFormation[i].Day == day)
{
return i;
}
}
return -1;
}
void modeText(TextMath* abs)
{
int year = 0;
int moon = 0;
int day = 0;
cout << "请填写年份" << endl;
while (true)
{
cin >> year;
if (year > 0)
{
cout << "请添写月份: " << endl;
while (true)
{
cin >> moon;
if (moon >= 1 && moon <= 12)
{
cout << "请添写日数: " << endl;
while (moon == 1 || moon == 3 || moon == 5 || moon == 7 || moon == 8 || moon == 10 || moon == 12)
{
cin >> day;
if (day >= 1 && day <= 31)
{
int ret = checkText(abs, year, moon, day);
break;
}
cout << "请填写正确的日数" << endl;
}
while (moon == 4 || moon == 6 || moon == 9 || moon == 11)
{
cin >> day;
if (day >= 1 && day <= 30)
{
int ret = checkText(abs, year, moon, day);
break;
}
cout << "请填写正确的日数" << endl;
}
while (moon == 2)
{
cin >> day;
if (year % 4 == 0)
{
if (day >= 1 && day <= 29)
{
int ret = checkText(abs, year, moon, day);
break;
}
}
else
{
if (day >= 1 && day <= 28)
{
int ret = checkText(abs, year, moon, day);
break;
}
}
cout << "请填写正确的日数" << endl;
}
}
cout << "请填写有效月数" << endl;
}
}
cout << "请输入有效年份" << endl;
}
if (ret == -1) // 这里会出错,未识别标符
{
cout << "无可修改记录" << endl;
}
else
{
cout << "正在修改" << endl;
cout << "请添写修改年份: " << endl;
int year = 0;
while (true)
{
cin >> year;
if (year > 0)
{
abs->InFormation[abs->m_Math].Year = year;
break;
}
cout << "请输入有效年份" << endl;
}
cout << "请添写修改月份: " << endl;
int moon = 0;
while (true)
{
cin >> moon;
if (moon >= 1 && moon <= 12)
{
abs->InFormation[abs->m_Math].Moon = moon;
break;
}
cout << "请填写有效月数" << endl;
}
cout << "请添写修改日数: " << endl;
int day = 0;
while (moon == 1 || moon == 3 || moon == 5 || moon == 7 || moon == 8 || moon == 10 || moon == 12)
{
cin >> day;
if (day >= 1 && day <= 31)
{
abs->InFormation[abs->m_Math].Day = day;
break;
}
cout << "请填写正确的日数" << endl;
}
while (moon == 4 || moon == 6 || moon == 9 || moon == 11)
{
cin >> day;
if (day >= 1 && day <= 30)
{
abs->InFormation[abs->m_Math].Day = day;
break;
}
cout << "请填写正确的日数" << endl;
}
while (moon == 2)
{
cin >> day;
if (year % 4 == 0)
{
if (day >= 1 && day <= 29)
{
abs->InFormation[abs->m_Math].Day = day;
break;
}
}
else
{
if (day >= 1 && day <= 28)
{
abs->InFormation[abs->m_Math].Day = day;
break;
}
}
cout << "请填写正确的日数" << endl;
}
cout << "修改后的该天天气如何" << endl;
string weather;
cin >> weather;
abs->InFormation[abs->m_Math].Weather = weather;
cout << "布置完成,请输入修改正文 " << endl;
cout << endl;
string text;
cin >> text;
abs->InFormation[abs->m_Math].Text = text;
cout << endl;
cout << "记录完成" << endl;
abs->m_Math++;
}
system("pause");
system("cls");
}
请问怎么解决啊