Pascal; pomoc w dokonczeniu programu;

0
uses crt;

const n=10;



var
tab:array[1..n] of integer;
i:integer;
dorosli:integer;
dzieci:integer;
dochod:integer;
x:integer;
zasilek:integer;

begin
clrscr;
randomize;
writeln('Podaj dochod na osobe: ');
readln(dochod);
if dochod>550 then writeln('Dochod jest za duzy') else
writeln('Podaj liczbe dzieci :');
readln(dzieci);

for i:=1 to n do
begin
tab[i]:=random(4)+1;
if tab[i] then x:=100
else
x:=(150+(30*(dzieci-2)));

zasilek:=150*dorosli+x;
writeln(tab[i], ' zasilek wynosi: ',zasilek);
end;
readln;
end.

Polecenie to
Uzupełnij jednowymiarową tablicę danymi o n rodzinach (n- stała). Każda rodzina opisywana jest przez

  • liczbę dzieci (podaje użytkownik)
  • dochód na osobę w rodzinie (podaje użytkownik)
  • zasiłek na dzieci (zasiłek przysługuje gdy dochód na osobę w rodzinie nie przekracza 550 zł i wynosi: 100 zł na pierwsze dziecko, 50 na drugie, na trzecie i każde kolejne 30 zł)..

Co w tym zadaniu moze byc zle?

0

Na początek źle jest to, że nie umieściłeś kodu w znacznikach. Kolejną rzeczą jest brak formatowania.

0

jestem poczatkującym programistą to temu,

0

"Uzupełnij jednowymiarową tablicę danymi o n rodzinach..." jeżeli ma to być jednowymiarowa tablica to raczej powinna to być tablica rekordów a nie intów,
zmienne dochód i zasiłek to waluta więc raczej typ currency a nie int.

if tab[i] then x:=100 ???

0

Trochę mi się nudziło więc łap, pisane w delphi

 
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type TRodzina = packed record
    dzieci : integer;
    dochod : currency;
    zasilek : currency;
  end;

const
  n = 10;

var
  arrRodzina : array[0..n] of TRodzina;
  i : integer;

begin
  for i := 0 to n do
  begin
    writeln('Podaj dochod na osobe: ');
    readln(arrRodzina[i].dochod);
    writeln('Podaj liczbe dzieci :');
    readln(arrRodzina[i].dzieci);
    if arrRodzina[i].dochod <= 550 then
      case arrRodzina[i].dzieci of
        0: arrRodzina[i].zasilek := 0;
        1: arrRodzina[i].zasilek := 100;
        2: arrRodzina[i].zasilek := 150;
        3..100: arrRodzina[i].zasilek := 150 + ((arrRodzina[i].dzieci -2) *30);
      end
    else
      arrRodzina[i].zasilek := 0;
  end;

  for i := 0 to High(arrRodzina) do
    writeln(Format('Ilość dzieci - %d, dochód na osobę - %m, zasiłek - %m',[arrRodzina[i].dzieci, arrRodzina[i].dochod, arrRodzina[i].zasilek]));
  readln;
end.

1 użytkowników online, w tym zalogowanych: 0, gości: 1