DEV C++ 第 69 行 [错误] ISO "for" 范围更改了"i"的名称查找 [-允许]
DEV C++ Line 69 [Error] name lookup of 'i' changed for ISO 'for' scoping [-fpermissive]
我已经为这段代码工作了一段时间,我已经编译了它,但它没有完成我想要它做的事情。
这是一个问题,所以你可以看到我在做什么。
开发一个可以解决以下问题的程序:Panamericana美国您想要修改并打印您的5名员工的信息。每一个项目都必须注明姓名、工作时间、支付基数和年龄。例如,一组典型的数据可以是:
- 40岁以上员工的全额薪酬
- 45岁以下员工的平均总薪酬
- 工资总额最高的员工的姓名和工资总额(假设没有平局(
#include<iostream>
#include<cstdlib>
#include <windows.h>
using namespace std;
struct Empleados{
char nombre[20];
char apellido[20];
double edad;
float horas;
float salporhora;
float imp;
float salbruto;
float salneto;
}emp[2];
int main(){
int posM = 0, posm = 0;
float sal=40;
float impuesto = 200;
float sa,prom45;
float mayor = 0, menor = 99999;
for(int i=0;i<2;i++)
{
fflush(stdin);
cout<<"Introduzca nombre del empleado: ";
cin.getline(emp[i].nombre,20,'n');
cout<<"Introduzca Apellido del empleado: ";
cin.getline(emp[i].apellido,20,'n');
cout<<"Introduzca su edad: ";
cin>>emp[i].edad;
cout<<"Introduzca sus horas de trabajo: ";
cin>>emp[i].horas;
cout<<"Pago por hora: ";
cin>>emp[i].salporhora;
cout<<"n";
}
for(int i=0;i<2;i++){
sa = emp[i].salbruto * 1.5;
emp[i].salbruto = sa + (emp[i].horas * emp[i].salporhora);
}
for(int i=0;i<2;i++){
if (emp[i].salneto > mayor){
mayor = emp[i].salneto;
posM = i;
}
if (emp[i].salneto < menor){
menor = emp[i].salneto;
posm = i;
}
}
for (int i=0;i<2;i++){
emp[i].imp = emp[i].salbruto * 0.20;
emp[i].salneto = emp[i].salbruto - emp[i].imp;
}
cout<<"NOMBRE"<<"t "<<"APELLIDO"<<"t "<<"HORAS"<<"t "<<"SUELDO"<<"t "<<"EDAD"<<"t "<<"TOTAL"<<"t "<<"IMP%"<<"t "<<"NETO"<<"n";
cout<<emp[i].nombre<<"t "<<emp[i].apellido<<"t "<<emp[i].horas<<"t "<<emp[i].salporhora<<"t "<<emp[i].edad<<"t "<<emp[i].salbruto<<"t "<<emp[i].imp<<"t "<<emp[i].salneto<<"n";
for(int i=0;i<2;i++){
if (emp[i].edad >= 40){
cout<<"Los Pagos totales de los empleados de almenos 40 "<<emp[i].salneto<<"n";
}
if (emp[i].edad < 45){
prom45 = emp[i].salneto/2;
cout<<"El Promedio de Los Pagos totales de los empleados de menos de 45 anos "<<prom45<<"n";
}
}
cout<<"nEl empleado con mayor salario es: "<<emp[posM].nombre<<endl;
cout<<"Que tiene un salario de: "<<posM<<endl;
Sleep (5000);
cout<<"nGracias Por su Tiempo"<<endl;
return 0;
}
您在一些地方定义了i
,但它们的生存期&范围都限于它们各自的CCD_ 2循环。
但是这里
cout<<emp[i].nombre<<"t "<<emp[i].apellido<<"t "<<emp[i].horas<<"t "<<emp[i].salporhora<<"t "<<emp[i].edad<<"t "<<emp[i].salbruto<<"t "<<emp[i].imp<<"t "<<emp[i].salneto<<"n";
您正在使用i
,但在此范围中没有定义i
。这就是错误的原因。
也许您的意思是将其包含在上面的for
循环中?
for (int i=0;i<2;i++){
emp[i].imp = emp[i].salbruto * 0.20;
emp[i].salneto = emp[i].salbruto - emp[i].imp;
}
相关文章:
- 正在查找文档以获得PS4平台的C++中的设备信息
- 在C++中查找文件
- 模板元程序查找相似的连续类型名称
- 在UNIX系统中使用DIR查找文件的字节大小
- 查找最接近的大于当前数字的数字的索引
- 有没有一种方法可以创建一个带有哈希表的数据库,该哈希表具有恒定时间查找功能
- 查找后更改类变量
- 使用正则表达式regex_search在字符串中查找字符串
- 如何只允许用户输入正整数
- 如何允许编译器查找通过 brew 安装的库
- 保持排序的数据结构,允许log N插入时间,并且可以返回我在log N中查找的元素的索引
- DEV C++ 第 69 行 [错误] ISO "for" 范围更改了"i"的名称查找 [-允许]
- 为什么 POSIX 允许在现有文件末尾 (fseek) 之外查找只读模式
- 查找三角形的最低允许的第三侧
- 性能:在 ARR(允许平局)中查找最大值的索引
- 用于复合索引的C++容器,该容器允许在查找时忽略子索引
- boost::iostreams::filtering_istream允许查找吗?
- 当允许重复子字符串时,查找给定字符串的第K个子字符串
- 寻找一个stl multimap类容器,允许按值查找键
- 查找字符串是否包含c++中的字符(允许增强)