منتدى الإعلام الآلي يشمل دروس، تمارين وحلول

إضافة رد
قديم 08-03-2013, 11:45 PM
  #1
djwy
 
La spécialité: Informatique
جامعة أحمد دراية أدرار
تاريخ التسجيل: 22-10-2011
المشاركات: 47
djwy
04 مساعدة في برنامج ب الباسكال


السلام عليكم ورحمة الله تعالى وبركاته ,,,,,,,
لقد قمت بكتابة برنامج بلغة الباسكال يقوم بتخزين معلومات الطلبة (سجل)في ملف والمطلوب أن يكون الملف غير قابل للفتح فقط من داخل البرنامج اظن من نوع (dat ou pas )الله أعلم هذه المشكلة الأولى والبرنامج يحوي إجراءات للإضافو والمسح والعر وغيرها ,...المشكلة أن الرنامج يعمل لكن إجراء العرض والحذف لايعملان ولم أعرف أين المشكلة ؟؟؟
كود:
program TP02 ;
uses crt;
type
student= Record
nb : integer ;
nom : string[20];
pnom :string[20];
date:string[10];
ville:string[20];
moy:0..20;

end ;
var
f: file of student ;
stud : student;
c: integer;
                          { creér new file procedure 1}
Procedure creer;
begin
assign(f,'students.dat');
rewrite(f);
end;                                    { ajouter new student procedure 2}
Procedure rempler(var stud : student);
var i,n : integer;
begin
assign(f,'students.dat');
rewrite(f);
write('svp!.entrez le nombres des etudiants vou voulez ajoutee:');
readln(n);
for i:= 1 to n Do
begin
write('entrez le numero de etudiant ',i,':');readln(stud.nb);
write('entrez le nom de etudiant ',i,':');readln(stud.nom);
write('entrez le prenom de etudiant ',i,':');readln(stud.pnom);
write('entrez la date de naissance de etudiant ',i,':');readln(stud.date);
write('entrez le lieu de naiss de etudiant ',i,':');readln(stud.ville);
write('entrez la note de etudiant ',i,':');readln(stud.moy);
write(f,stud);
end;
close(f);
end;
                         {procedure 3 chercer for student }
Procedure recherche(var stud : student);
var
s,a:integer;
b:string;
t:boolean;
begin
write('vous voulez recherchez par numero(1) ou par nom(2)? 1 ou 2 :');
readln(s);
reset(f);
t:= true;
if s=1 then
begin
write('entrez le numero :');readln(a);
while not eof(f) and t=true DO
begin
read(f,stud);
if stud.nb =a then t:= false ;

end;
if t=false then
begin
writeln ('le numero de etudiqnt est;',stud.nb);
writeln ('le numero de etudiqnt est;',stud.nom);
writeln ('le numero de etudiqnt est;',stud.pnom);
writeln ('le numero de etudiqnt est;',stud.date);
writeln ('le numero de etudiqnt est;',stud.ville);
writeln ('le numero de etudiqnt est;',stud.moy);
end
else writeln('le numero il n''existe pqs !!');
end
else
begin
write('entrez le num :');readln(b);
while not eof(f) and t=true DO
begin
read(f,stud);
if stud.nom =b then t:= false ;
end;
if t=false then
begin
writeln ('le numero de etudiqnt est;',stud.nb);
writeln ('le numero de etudiqnt est;',stud.nom);
writeln ('le numero de etudiqnt est;',stud.pnom);
writeln ('le numero de etudiqnt est;',stud.date);
writeln ('le numero de etudiqnt est;',stud.ville);
writeln ('le numero de etudiqnt est;',stud.moy);
end
else writeln('le numero il n''existe pas !!');
end;
close(f);
end;
Procedure suprimer(var stud : student);     { supprimer student procedure 4}
var
s,a,r:integer;
b:string;
t:boolean;
begin
write('vous voulez suprimez par numero(1) ou par nom(2)? 1 ou 2 :');
readln(s);
rewrite(f);
t:= true;
r:=0;
if s=1 then
begin
write('entrez le numero :');readln(a);
while not eof(f) and t=true DO
begin
read(f,stud);
r:=r+1;
if stud.nb =a then t:= false ;

end;
if t=false then
begin
seek(f,r);
Truncate(f);
writeln ('le numero de etudiqnt est suprimee');
end
else writeln('le numero il n''existe pqs !!');
end
else
begin
write('entrez le num :');readln(b);
while not eof(f) and t=true DO
begin
read(f,stud);
r:=r+1;
if stud.nom =b then t:= false ;
end;
if t=false then
begin
seek(f,r);
Truncate(f);
writeln ('le numero de etudiqnt est suprimee');
end
else writeln('le numero il n''existe pas !!');
end;
close(f);
end;
                           {procedure 5  afficher l'information of students}
Procedure afficher(var stud : student);
begin
assign(f,'fille.dat');
reset(f);
while not eof(f) do
begin
read(f,stud);
write (stud.nb);
write (stud.nom);
write (stud.pnom);
write (stud.date);
write (stud.ville);
write (stud.moy);
end;
close(f);
end;

               {program principale}
begin
clrscr ;
assign(f,'fille.dat');
rewrite(f);
repeat
begin
writeln('1\creer');
writeln('2\rempler');
writeln('3\recherche');
writeln('4\suprimer');
writeln('5\afficher');
writeln('0\creer');
writeln('entrew votre choix:');readln(c);
case c of
1 : creer;
2 : rempler (stud);
3 : recherche(stud);
4 : suprimer (stud);
5 : afficher(stud);
end;
end ;
 UNTIL c=0;
end.


djwy غير متواجد حالياً  
رد مع اقتباس
إضافة رد

الكلمات الدلالية (Tags)
مساعدة, الباسكال, برنامج

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
دورة في الباسكال يوسف الضادي دورات البرمجة بكل لغاتـــــــــــها 8 05-02-2011 03:25 PM
tp في الباسكال emp21 قسم الإستفسارات و الطّلبات 2 11-12-2009 05:44 PM
لغة الباسكال mimik لغة الدالفي delphi 21 04-06-2009 06:43 PM
درس في الباسكال achraf.mouni الإعــلام الآلي والرياضيــات 3 16-12-2008 07:25 PM
برنامج الة حاسبة في الباسكال kitkat الإعــلام الآلي والرياضيــات 1 03-12-2008 08:25 AM


الساعة الآن 08:44 PM.