Error con una cuenta en programa
Publicado por Felipe (1 intervención) el 07/11/2019 12:41:43
Buenas, estoy tratando de realizar el siguiente programa pero cuando ingreso el caracter negativo (-) la cuenta me da siempre como resultado 0. Aqui abajo les dejo la consigna para saber de que se trata y dicho programa.
Ejercicio: Realizar un programa que lea un carácter, que puede ser “+” (suma) o “-” (resta); si se ingresa otro carácter, debe informar un error y finalizar. Una vez leído el carácter de suma o resta, deberá leerse una secuencia de números enteros que finaliza con 0. El programa deberá aplicar la operación leída con la secuencia de números, e imprimir el resultado final. Por ejemplo:
A- Si se leé el carácter “-” y la secuencia 4 3 5 -6 0 , deberá imprimir: 2 (4 – 3 – 5 -
(-6) )
B- Si se leé el carácter “+” y la secuencia -10 5 6 -1 0, deberá imprimir 0 ( -10 + 5 +
6 + (-1) )
Programa:
Si me pueden aclarar la duda seria de mucha ayuda,
Gracias!
Ejercicio: Realizar un programa que lea un carácter, que puede ser “+” (suma) o “-” (resta); si se ingresa otro carácter, debe informar un error y finalizar. Una vez leído el carácter de suma o resta, deberá leerse una secuencia de números enteros que finaliza con 0. El programa deberá aplicar la operación leída con la secuencia de números, e imprimir el resultado final. Por ejemplo:
A- Si se leé el carácter “-” y la secuencia 4 3 5 -6 0 , deberá imprimir: 2 (4 – 3 – 5 -
(-6) )
B- Si se leé el carácter “+” y la secuencia -10 5 6 -1 0, deberá imprimir 0 ( -10 + 5 +
6 + (-1) )
Programa:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
='editor_code'>
Program E9P1;
VAR
nump, numn, cuentap, cuentan: integer;
car: char;
BEGIN
cuentap:=0;
cuentan:=0;
writeln('Ingresar el caracter + o - ...');
read (car);
if (car='+') then
begin
writeln('Ingrese un numero');
readln(nump);
while (nump <> 0) do
begin
cuentap:= nump+cuentap;
writeln ('Ingrese un numero');
readln (nump);
end;
writeln('(',cuentap,')');
end
else
begin
if (car='-') then
begin
writeln('Ingrese un numero');
readln(numn);
while (numn <> 0) do
begin
cuentan:= (numn)-(cuentan);
writeln ('Ingrese un numero');
readln (numn);
end;
writeln('(',cuentan,')');
end
else
writeln ('Error, dato incorrecto');
end;
readln;
readln;
END.
Si me pueden aclarar la duda seria de mucha ayuda,
Gracias!
Valora esta pregunta


0