Discuz! Board

 找回密码
 立即注册
查看: 1184|回复: 5

老师,我想问一下为什么它给我把第17行报错?

[复制链接]

5

主题

8

帖子

1118

积分

金牌会员

Rank: 6Rank: 6

积分
1118

波波 Lv:5
发表于 2023-12-23 18:40:45 | 显示全部楼层 |阅读模式
#include <iostream>
using namespace std;
int main()
{
        int n;
        cin>>n;
        struct staff
        {
                string name;
                float salary;
                int year;  
        };
        for (int i=0;i<n;i++)
        {
                cin.get(staff);
        }
        cout<<name<<year*500+salary;
}
回复

使用道具 举报

660

主题

846

帖子

243万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2435559

烈空座 Lv:100
发表于 2023-12-23 20:16:27 | 显示全部楼层
[C++] 纯文本查看 复制代码
#include <iostream>
using namespace std;
int main()
{
        int n;
        cin>>n;
        struct staff//这是结构体类型,不是变量 
        {
                string name;
                float salary;
                int year;  
        };//结构体有了,但缺少结构体变量的声明 
                //可以这样声明变量 staff s[10]; 
        for (int i=0;i<n;i++)
        {
                cin.get(staff);//结构体变量引用不是这么做的,可以看下弹球代码里是怎么做的
                                //比如这样写 
                                //cin>>s[i].name; 
        }
        cout<<name<<year*500+salary;
}
回复

使用道具 举报

5

主题

8

帖子

1118

积分

金牌会员

Rank: 6Rank: 6

积分
1118

波波 Lv:5
 楼主| 发表于 2023-12-23 22:47:12 | 显示全部楼层

老师那这样对不对?

#include <iostream>
using namespace std;
int main()
{
        int n;
        cin>>n;
        struct staff
        {
                string name;
                float salary;
                int year        ;  
        };       
               
        staff s[10];
        for (int i=0;i<n;i++)
        {
                cin>>s[i].name;
                cin>>s[i].salary;
                cin>>s[i].year;
        }
        cout<<s[n].name<<endl;
        cout<<s[n].year*500+s[n].salary;
}
回复

使用道具 举报

660

主题

846

帖子

243万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2435559

烈空座 Lv:100
发表于 2023-12-24 14:41:29 | 显示全部楼层
应该输出所有人的涨薪结果吧,上面只输出了一个。
回复

使用道具 举报

5

主题

8

帖子

1118

积分

金牌会员

Rank: 6Rank: 6

积分
1118

波波 Lv:5
 楼主| 发表于 2023-12-24 20:50:56 | 显示全部楼层

老师那这样做对不对?

#include <iostream>
using namespace std;
int main()
{
        int n;
        cin>>n;
        struct staff
        {
                string name;
                float salary;
                int year        ;  
        };      
               
        staff s[10];
        for (int i=0;i<n;i++)
        {
                cin>>s[i].name;
                cin>>s[i].salary;
                cin>>s[i].year;
        }
        cout<<s[i].name<<endl;
        cout<<s[i].year*500+s[i].salary;
}
回复

使用道具 举报

660

主题

846

帖子

243万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2435559

烈空座 Lv:100
发表于 2023-12-25 19:51:29 | 显示全部楼层
[C] 纯文本查看 复制代码
#include <iostream>
using namespace std;
int main()
{
        int n;
        cin>>n;
        struct staff
        {
                string name;
                float salary;
                int year        ;  
        };      
               
        staff s[10];
        for (int i=0;i<n;i++)
        {
                cin>>s[i].name;
                cin>>s[i].salary;
                cin>>s[i].year;
        }
        cout<<s[i].name<<endl;//既然是循环输出,这儿的for循环该加上
        cout<<s[i].year*500+s[i].salary;
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-5-29 22:26 , Processed in 0.061946 second(s), 31 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.. 技术支持 by 巅峰设计

快速回复 返回顶部 返回列表