Извините за этот вопрос новичка, я пытался сделать эту программу с помощью borland 5.02, но по какой-то причине cout в if (stat) не отображается в окне консоли, когда я пишу замуж. Я не знаю, что случилось, и я застрял в течение нескольких часов. пожалуйста, помогите мне
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
int main()
{
int NIP, GOL, GP, TI, TA, JA, TG ;
char NM[20], STAT[10] ;
cout << "ID Number : " ;
cin >> NIP ;
cout << "Name : " ;
cin >> NM ;
cout << "Faction : " ;
cin >> GOL ;
if (GOL == 1)
{
GP = 1500000 ;
}
else if (GOL == 2)
{
GP = 2000000 ;
}
else
{
GP = 2500000 ;
}
cout << "Status : " ;
gets (STAT) ;
if (STAT == "Married" || STAT == "married")
{
cout << "Number of children : " << endl ;
cin >> JA ;
TI = 0.05 * GP ;
if (JA <= 3)
{
TA = 0.02 * GP * JA ;
}
else
{
TA = 0.02 * GP * 3 ;
}
}
else
{
TI = 0 ;
TA = 0 ;
}
TG = GP + TI+ TA ;
cout << endl << "-Results-" << endl ;
cout << "Your GP: " << GP << endl ;
cout << "Your TI: " << TI << endl ;
cout << "Your TA: " << TA << endl ;
cout << "Your TG: " << TG << endl ;
getch () ;
}
Обновление: я пытался изменить gets(STAT) ;
на cin >> STAT ;
раньше, но, похоже, это не дало никакого эффекта. программа выглядела так, когда я запускал их
Идентификационный номер: 0123141421
Имя: Выкмон
Фракция : 1
Статус: женат (Вот проблема)
-Полученные результаты-
Ваш GP: 1500000
Ваш ТИ: 0
Ваша ЦА: 0
Ваш ТГ: 1500000
Несмотря на то, что я написал о статусе женат, cout << "Number of children : " << endl ;
не отображалось в окне консоли. как будто if (STAT == "Married" || STAT == "married")
не работает, а "Статус: женат" считается
else
{
TI = 0 ;
TA = 0 ;
}
STAT == "Married"
Это не способ сравнения двухсимвольного массива - person Danh   schedule 06.11.2016gets()
устарел, так как не предоставляет средств для предотвращения переполнения буфера. Имена CAPS для локальных переменных - необычны.) Что вы пытались выяснить, что происходит? Подружитесь с отладчиком.cout << '|' << STAT << '|' << endl;
сразу послеstd::cin.get(STAT, sizeof STAT);
. Попробуйте"Married" == STAT
и"Married" == string(STAT)
. - person greybeard   schedule 06.11.2016main
: в C++ никогда не было неявного int. - person Cheers and hth. - Alf   schedule 06.11.2016