gpt4 book ai didi

C++ 处理 'struct' 和字符串

转载 作者:行者123 更新时间:2023-11-28 06:58:39 24 4
gpt4 key购买 nike

我的 C++ 代码有问题,我想在每个日期添加 'n' 个学生,但是当我与 if 比较时出现错误,这是我的代码

#include <iostream>
#include <stdio.h>
#include <string.h>
struct Address
{
char city[20];
char street[20];
};
struct University
{
char name1[20],name2[20],name3[20];
};
struct student
{
char name[20];
char degree[20];
University un;
Address add;
};

using namespace std;
int main (){

student st[20];
int n,i,j;
do{cin>>n;}while(n<=0 || n>20);

for(i=0;i<n;i++)
{
cout<<" Name Of student "<<i+1<<"\n";
cin>>st[i].name;

cout<<" Degree Of student "<<i+1<<"\n";
cin>>st[i].degree;

cout<<" University 1 \n";
cin>>st[i].un.name1;
cout<<" University 2 \n";
cin>>st[i].un.name2;
cout<<" University 3 \n";
cin>>st[i].un.name3;

cout<<" Enter The City Of student "<<i+1<<"\n";
cin>>st[i].add.city;

cout<<" Enter The Street Of student "<<i+1<<"\n";
cin>>st[i].add.street;

cout<<"\n* * * * * * * * * * * * * * * * * * * *\n";

}

for(i=0;i<n;i++)
if(st[i].degree == "phD")
cout<<st[i].name<<" is OK";

cout<<endl;
return 0;
}

所以,我想检查学生是否有“phD”然后输出他的名字,但是我得到一个错误,输入日期后没有输出,为什么?当我将“degree”的日期类型更改为 string 时,我在 if Say (is not a member of ' student')。但我真的很想用 char 来做,能帮帮我吗?

最佳答案

对于像 char city[20]; 这样的成员,您应该改为考虑 std::string 类型。它提供了您在比较中使用的相等运算符 (==) 和其他几个功能。

关于C++ 处理 'struct' 和字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22845127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com