【发布时间】:2015-08-21 02:54:31
【问题描述】:
我正在尝试实现数组,以便我的程序可以保存任意数量的数据,这相当于 C#
int nT, i;
cTrabajador *apTrabajador;
do{
cout<<"\t Indique el numero de Trabajadores: ";
cin>>nT;
}while(nT<=0||nT>=40);
apTrabajador=new cTrabajador[nT];
for(i=0;i<nT;i++)
apTrabajador[i].leer();/
system("cls");
cout<<"\t Lista de Trabajadores"<<endl;
for(i=0;i<nT;i++)
apTrabajador[i].imprimir ();
delete[]apTrabajador;
system("pause");
return 0;
我曾经在 C++ 中编程,该程序存储 nT 个数组以便拥有“trabajadores”的所有数据,所以我试图理解我现在在 C# 中在 C++ 中学习的语法,我很乐意欢迎一些帮助
Registro 是类中向用户请求数据的方法,Imprimir 是同一类中的另一个方法,用于将存储的数据打印到数组中
namespace Poligono
{
class Program
{
static void Main(string[] args)
{
int i,n;
int[] Calculos;
Console.WriteLine("\n Insert the number of items");
string entry = Console.ReadLine();
int.TryParse(entry, out n);
Calculos = new int[n];
for (i = 0; i < n; i++){
VolumenPrisma.Registro(); //needs to be stored in "n" arrays
}
for (i = 0; i < n; i++){
VolumenPrisma.Imprimir(); //needs to be stored in "n"
}
}
}
}
/* 类是 */
namespace Poligono
{
public class VolumenPrisma
{
public static int Apotema, TamLado, NumLados, Altura, Lado;
public static int Perimetro, Area, Volumen;
public static int cPerimetro (int NumLados, int Lado){
int P;
P=(NumLados*Lado);
return P;
}
public static int cVolumen(int Area, int Altura)
{
int V;
V = Area * Altura;
return V;
}
public static int cArea(int Perimetro, int Apotema)
{
int A;
A = (Perimetro * Apotema)/2;
return A;
}
public static void Registro(){
Console.WriteLine("Indique No. de lados: ");
VolumenPrisma.Lado = Int32.Parse(Console.ReadLine());
Console.WriteLine("Indique tamanio de apotema: ");
VolumenPrisma.Apotema = Int32.Parse(Console.ReadLine());
Console.WriteLine("Indique tamanio de lado: ");
VolumenPrisma.TamLado = Int32.Parse(Console.ReadLine());
Console.WriteLine("Indique la altura: ");
VolumenPrisma.Altura = Int32.Parse(Console.ReadLine());
Console.WriteLine("----------------------------------------");
Perimetro= cPerimetro(TamLado, Lado);
Area = cArea(Perimetro, Apotema);
Volumen = cVolumen(Area, Altura);
}
public static void Imprimir() {
Console.WriteLine("Lados= {0} ", Lado);
Console.WriteLine("Tam Lado = {0} ", TamLado);
Console.WriteLine("Apotema = {0} ", Apotema);
Console.WriteLine("Perimetro = {0} ", Perimetro);
Console.WriteLine("Area = {0} ", Area);
Console.WriteLine("Volumen = {0} ", Volumen);
}
}
}
【问题讨论】:
-
上次我检查过,int 类型没有意大利语/西班牙语/葡萄牙语成员函数;)
Calculos[i]是 int 类型。你可能想要:Calculos[i] = VolumenPrisma.Registro()或其他东西。 -
Registro() 和 imprimir() 都是静态方法,我跳过了类以使代码更短,我将使用该方法的简短示例更新条目
-
向我们展示 Registro() 和 imprimir() 会容易得多。 BitTickler 或许也有你的答案。
-
如果
VolumenPrisma是一个静态类,其中Registro()和Imprimir()是以int为参数的静态方法,则使用VolumenPrisma.Registro(Calculos[i]); -
你试图调用一个类的 void 方法。从 Calculos[i].VolumenPrisma.Registro(); 更改它到 VolumenPrisma.Registro();和另一个分别。 Thsoe 2 方法返回 void / nothing 不是 int。