我想写一个程序跟踪由7台机器在一家工厂生产的产品,这些产品都生产相同的10种产品。帕斯卡阵列无法弄清楚如何从阵列打印信息
程序要求用户输入机器ID(A,B,C ... G) 然后产品ID(0,1,2 ... 9) 最后程序要求0或者1将产品标记为质量好或质量差。
我把所有这些信息放到三个数组中。接下来我要做的是我坚持的部分。我必须从所有这些信息中创建两个表格。
第一张桌子是质量好的产品表。它必须是一个二维表,其中MachineID沿着顶部运行,而ProductID沿着侧面运行。
每台机器和每一个产品都需要一个运行总数。因此,在单元格中[A0]需要是machineA制造product0的次数的总和,它被标记为GOOD。然后[A1]等等一直到[G9]
第二个表格完全一样,只有这次只有坏产品才算。
底部需要有每台机器生产的所有产品。在右手边必须有所有机器制造的所有单个产品。
这是我的代码到目前为止。
program Production;
var machine: array of char;
var product: array of integer;
var quality: array of integer;
var min, number, extra: integer;
var machineID: array[1..7] of char;
var productID: array[1..10] of char;
var x, y, count: integer;
begin
x:= 0;
y:= 0;
number := 0;
min := 5;
extra := 5;
SETLENGTH(machine, min);
SETLENGTH(product, min);
SETLENGTH(quality, min);
writeln('Input Machine ID (A, B, C, D, E, F or G) ');
readln(machine[number]);
while (machine[number] <> '*') do
begin
while (ORD(machine[number]) < 65) or (ORD(machine[number]) > 71) do
begin
writeln('Input Invalid. Please try again.');
readln(machine[number]);
end;
writeln('Input Product Number (0, 1, 2, 3, 4, 5, 6, 7, 8 or 9) ');
readln(product[number]);
while (product[number] < 0) or (product[number] > 9) do
begin
writeln('Input Invalid. Please try again.');
readln(product[number]);
end;
writeln('Quality Control Check. Input 0 for GOOD or 1 for BAD.');
readln(quality[number]);
while (quality[number] <> 0) and (quality[number] <> 1) do
begin
writeln('Input Invalid. Please try again.');
readln(quality[number]);
end;
number := number + 1;
writeln('Input Machine ID (A, B, C, D, E, F or G) ');
readln(machine[number]);
end;
for count := 0 to number - 1 do
begin
writeln('Machine ID = ',machine[count]);
writeln('Product ID = ',product[count]);
writeln('Quality = ',quality[count]);
end;
writeln('');
writeln('');
writeln('EXIT');
readln;
end.
任何人都可以告诉我,我会怎么做呢?我完全不知所措。
这是一个好办法做到这一点。不过,我必须使用字母作为机器ID。这是作业的一部分。有没有办法可以解决这个问题并使用您编写的代码版本?它比我试过的任何东西都简单:D –
'ORD(machine [number]) - 65'将把A,B,C ...变成0,1,2,...,不是吗? ? :) – blas3nik
哈哈我想会的。 谢谢你帮助我。我在这方面真的很新颖,我试图把它全部纳入其中,但这些都非常复杂(无论如何)。 我该如何实现 myTable [1,2,0]:= myTable [1,2,0] + 1 那段代码? –