Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Моля помогнете ми за паскал !

Featured Replies

procedure prSlabiStudenti;

var st: tipstudent;
  broiDvoiki: integer;

begin
  Reset(fs);
  while not EOF(fs) do
  begin
    Read(fs, st);
    broiDvoiki := 0;
    for i := 1 to 10 do
	  if st.pol = 'мъж' then
	  begin
	    if (st.ocenka[i] = 2) then broiDvoiki := broiDvoiki + 1;
	    if (broiDvoiki > 5) then
	    begin
		  wrtst(st);
		  broiDvoiki := 0;
	    end;
	  end;
  end;
  close(fs);
end;

Обаче това ще работи при условие, че за пол въвеждаш ВИНАГИ И САМО 'мъж' или 'жена' с малки букви.

  • Автор

procedure prSlabiStudenti;

var st: tipstudent;
  broiDvoiki: integer;

begin
  Reset(fs);
  while not EOF(fs) do
  begin
	Read(fs, st);
	broiDvoiki := 0;
	for i := 1 to 10 do
	  if st.pol = 'мъж' then
	  begin
		if (st.ocenka[i] = 2) then broiDvoiki := broiDvoiki + 1;
		if (broiDvoiki > 5) then
		begin
		  wrtst(st);
		  broiDvoiki := 0;
		end;
	  end;
  end;
  close(fs);
end;

Обаче това ще работи при условие, че за пол въвеждаш ВИНАГИ И САМО 'мъж' или 'жена' с малки букви.

като натисна 4 изобщо нищо не излиза все едно не съм избрал функция

ето го кода който е в момента

program project1;

Type tipstudent=record

name: String[30];

pol: string[4];

egn: String[9];

fnum: String[6];

ocenka:Array[1..10] of byte;

end;

var FS:File of tipstudent;

m:Integer;

imefail:string[20];

C:integer;

i:integer;

{vavejdane na danni za studenta}

Procedure addstud(var st:tipstudent);

var i:integer;

Begin

With st do begin

write('Vyvedi ime:'); readln(name);

if(name='exit')then exit;

write('vavedi pol muj/jena:'); readln(pol);

write('Vyvedi EGN:'); readln(egn);

write('Vyvedi F.N.:'); readln(fnum);

writeln('Vyvedi 10 ocenki:');

for i:=1 to 10 do read(ocenka);

end;

readln;

end;

{izchislqvane na sredniq uspeh}

Function srus(st:tipstudent):real;

var i,s:integer;

Begin

s:=0;

for i:=1 to 10 do s:=s+st.ocenka;

srus:=s/10;

end;

{otpe4atvane na edin student}

Procedure wrtst(st:tipstudent);

var i:integer;

b:string[1];

begin

with st do begin

writeln('Ime:',name);

writeln('Pol:',pol);

writeln('EGN:',egn);

writeln('F.N.:',fnum);

writeln('Ocenki:');

for i:=1 to 10 do write(ocenka,' '); writeln;

writeln('Izchislqvane na sreden uspeh? y/n');

readln(B);

if(b='y')then writeln('Sreden uspeh:',srus(st):4:2);

writeln;

end;

end;

{otpe4atvane na celiq fail}

Procedure prall;

var st:tipstudent;

Begin

Reset(fs);

While not EOF(fs) do

begin

Read(fs,st);

wrtst(st);

end;

close(fs);

end;

{otpe4atvane studentite s pove4e ot 5 dvoiki}

procedure prSlabiStudenti;

var st: tipstudent;

broiDvoiki: integer;

begin

Reset(fs);

while not EOF(fs) do

begin

Read(fs, st);

broiDvoiki := 0;

for i := 1 to 10 do

if pol = 'maj' then

begin

if (st.ocenka = 2) then broiDvoiki := broiDvoiki + 1;

if (broiDvoiki > 5) then

begin

wrtst(st);

broiDvoiki := 0;

end;

end;

end;

close(fs);

end;

{syzdavane na prazen fail}

Procedure newfile;

var i:integer;

Begin

Rewrite(fs);

Close(fs);

Writeln('Failyt e syzdaden!');

end;

{dobavqne na studenti kym faila}

Procedure addstudetofile;

var st:tipstudent;

Begin

Writeln('Vavedi ime ili exit za krai');

reset(fs); seek(fs,filesize(fs));

Repeat

addstud(st);

if st.name<>'exit' then write(fs,st);

until st.name= 'exit';

close(fs);

end;

Begin

Write('zadaite imeto na faila:');

ReadLN(ImeFail);

Assign(fs,ImeFail);

Repeat

Writeln(' ':20,'Meniu na izpalnqvanite operaii:');

Writeln(' ':20,'1-suzdavane na nov fail');

Writeln(' ':20,'2- informaciq za grupa studenti bez da se vavejda sr uspeh');

Writeln(' ':20,'3- izchislqvane na sredniq uspeh na vseki edin ot studentite');

Writeln(' ':20,'4- slabi studenti');

Readln©;

Case C of

1:newfile;

2:addstudetofile;

3:prall;

end;

until C=0

End.

  • Автор

В case не си указал никакво действие, при въвеждане на 4.

Оказал съм но когато натисна 4 нищо не ми дава това е стария код след това добавих 4 но когато го натиисна и натисна ентар нищо не ми дава

Оказал съм но когато натисна 4 нищо не ми дава това е стария код след това добавих 4 но когато го натиисна и натисна ентар нищо не ми дава

Покажи новия код, де !

Сега няма да гадаем, какво точно си написал.

  • Автор

Покажи новия код, де !

Сега няма да гадаем, какво точно си написал.

program InfoStud;

Type tipstudent=record

name: String[30];

pol: string[4];

egn: String[9];

fnum: String[6];

ocenka:Array[1..10] of byte;

end;

var FS:File of tipstudent;

m:Integer;

imefail:string[20];

C:integer;

i:integer;

{Въвеждане на дани за студента}

Procedure addstud(var st:tipstudent);

var i:integer;

Begin

With st do begin

write('Въведи Име:'); readln(name);

if(name='exit')then exit;

write('Въведи пол мъж/жена:'); readln(pol);

write('Въведи ЕГН:'); readln(egn);

write('Въведи Фак.Ном:'); readln(fnum);

writeln('Въведи 10 оценки:');

for i:=1 to 10 do read(ocenka);

end;

readln;

end;

{Изчисляване на средния успех}

Function srus(st:tipstudent):real;

var i,s:integer;

Begin

s:=0;

for i:=1 to 10 do s:=s+st.ocenka;

srus:=s/10;

end;

{Отпечатване на един студент}

Procedure wrtst(st:tipstudent);

var i:integer;

b:string[1];

begin

with st do begin

writeln('Име:',name);

writeln('Пол:',pol);

writeln('ЕГН:',egn);

writeln('Фак.Ном:',fnum);

writeln('Оценки:');

for i:=1 to 10 do write(ocenka,' '); writeln;

writeln('Изчисляване на средния успех? y/n');

readln(B);

if(b='y')then writeln('Среден Успех:',srus(st):4:2);

writeln;

end;

end;

{Отпечатване на целия фаил}

Procedure prall;

var st:tipstudent;

Begin

Reset(fs);

While not EOF(fs) do

begin

Read(fs,st);

wrtst(st);

end;

close(fs);

end;

{Отпечатване на мъже с повече от 5 двойки}

procedure prSlabiStudenti;

var st: tipstudent;

broiDvoiki: integer;

begin

Reset(fs);

while not EOF(fs) do

begin

Read(fs, st);

broiDvoiki := 0;

for i := 1 to 10 do

if st.pol = 'мъж' then

begin

if (st.ocenka = 2) then broiDvoiki := broiDvoiki + 1;

if (broiDvoiki > 5) then

begin

wrtst(st);

broiDvoiki := 0;

end;

end;

end;

close(fs);

end;

{Създаване на празен фаил}

Procedure newfile;

var i:integer;

Begin

Rewrite(fs);

Close(fs);

Writeln('Фаилът е създаден!');

end;

{Добавяне на студенти към фаила}

Procedure addstudetofile;

var st:tipstudent;

Begin

Writeln('Въведи име или exit за край');

reset(fs); seek(fs,filesize(fs));

Repeat

addstud(st);

if st.name<>'exit' then write(fs,st);

until st.name= 'exit';

close(fs);

end;

Begin

Write('Задайте името на файла:');

ReadLN(ImeFail);

Assign(fs,ImeFail);

Repeat

Writeln(' ':20,'Меню:');

Writeln(' ':20,'1- Създаване на нов файл');

Writeln(' ':20,'2- Въвеждане на информация за група студенти');

Writeln(' ':20,'3- Изчисляване на средния успех на всеки студент');

Writeln(' ':20,'4- Студенти с повече от 5 двойки');

Writeln(' ':20,'Напишете exit за изход от програмата');

Readln©;

Case C of

1:newfile;

2:addstudetofile;

3:prall;

4:prslabiStudenti;

end;

until C=0

End.

При мен работи съвсем нормално. Първо се въвежда име на файл. Чак след това се обработва менюто. И не става да очакваш въвеждане на число, а да посочваш въвеждане на Exit (string) за изход. Трябва да се въведе 0 за изход. Иначе излиза грешка.

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.