LMD OUARGLA
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

LMD OUARGLA

LMD OUARGLA
 
الرئيسيةأحدث الصورالتسجيلدخول

 

 برنامج تسيير الحساب البريدي الجاري

اذهب الى الأسفل 
كاتب الموضوعرسالة
Prooof




عدد المساهمات : 12
نقاط : 5520
تاريخ التسجيل : 21/04/2009

برنامج تسيير الحساب البريدي الجاري Empty
مُساهمةموضوع: برنامج تسيير الحساب البريدي الجاري   برنامج تسيير الحساب البريدي الجاري Icon_minitimeالأحد مايو 24, 2009 3:04 pm

برنامج حول Liste و Pointeur يقوم يجميع العمليات على Liste من الإنشاء و الحذف و التغيير و هذا على الحسابات البريدية


زوروني على:


{
*********************************************************************
\\\\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////////////
\\\\\\\\\\\\\\\\\////////////////////
\\\\\\\\\//////////
\\\\\//////
* bienvuenu dans le programme de: *
* SERVICE CCP *
* ===SAADEDDINE MOHAMED NADJIB=== *
* ===HAMMADI MOHAMED EL-HABIB=== *
* Proposé par l''enseignant : *
* ===BENMIR ABD EL KADER=== *
/////\\\\\\
/////////\\\\\\\\\\
/////////////////\\\\\\\\\\\\\\\\\\\\
////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
************************************************************************
}

program ccp_service;
uses crt;
type
ccp_liste=^ccp;
ccp=record
num_compte:integer;
nom:string;
prenom:string;
montant:real;
suiv:ccp_liste;
end;
var
t,p,u,q:ccp_liste;

{*********************************************************}
procedure header;
begin
writeln(' ***********************************************************');
writeln(' \\\\\\\\\\\\\\\\\\\\\\\\\\\\///////////////////////////////');
writeln(' \\\\\\\\\\\\\\\\\//////////////////// ');
writeln(' \\\\\\\\\////////// ');
writeln(' \\\\\////// ');
writeln(' * bienvuenu dans le programme de: *');
writeln(' * SERVICE CCP *');
writeln(' * ===SAADEDDINE MOHAMED NADJIB=== *');
writeln(' * ===HAMMADI MOHAMED EL-HABIB=== *');
writeln(' * Proposé par l''enseignant : *');
writeln(' * ===BENMIR ABD EL KADER=== *');
writeln(' /////\\\\\\ ');
writeln(' /////////\\\\\\\\\\ ');
writeln(' /////////////////\\\\\\\\\\\\\\\\\\\\ ');
writeln(' ////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\'''');
writeln(' ***********************************************************');
end;
{*********************les procedure de creation*********************}
procedure creation_premier_compte;
begin
clrscr;
header;
new(t);
u:=t;
write('numero de compte:'); readln(u^.num_compte);
write('nom:'); readln(u^.nom);
write('prenom:'); readln(u^.prenom);
write('montant:'); readln(u^.montant);
while u^.montant<0 do
begin
writeln;
writeln ('votre montant est un nbr negative!!');
writeln;
writeln('donner le montant deuxieme fois');
readln(u^.montant);
end;
u^.suiv:=nil;
writeln; writeln;
writeln(' appuller sur n''import qu''une touche.....');
readln;
clrscr;
end;
{**************}
function check_repeted(num_compte:integer):integer;
begin
q:=t;
while (q^.num_compte<>num_compte) and (q<>nil) do
begin
q:=q^.suiv;
end;
if q^.num_compte=num_compte then
begin
check_repeted:=1;
writeln; writeln;
writeln('cet numero de compte est exist deja.');
writeln('entrez un autre numero:');
end;
if q=nil then
begin
check_repeted:=0;
end;
end;
{***************}
procedure creation_nouvelle_compte;
var
y:integer;
i:integer;
begin
clrscr;
y:=1;
while y<>0 do
begin
new(p);
repeat
write('numero de compte:'); readln(p^.num_compte);
i:=check_repeted(p^.num_compte);
until i<>1 ;
write('nom:'); readln(p^.nom);
write('prenom:'); readln(p^.prenom);
write('montant:'); readln(p^.montant);
while p^.montant<0 do
begin
writeln ('votre montant est un nbr negative!!');
writeln('donner le montant deuxieme fois');
readln(p^.montant);
end;
u^.suiv:=p;
u:=p;
writeln; writeln;
writeln('appuller sur <1> pour creer un autre compte.');
writeln('appuller sur <0> pour sortir...');
readln(y); clrscr;
end;
p^.suiv:=nil;
end;
{***************************les procedure de manipulation***************************}
procedure supprimer_un_compte;
var
num_compte:integer;
begin
p:=t;
write('donner le numero de compte pour supprimer:'); readln(num_compte);
if p^.num_compte=num_compte then
begin
if p^.montant=0 then
t:=t^.suiv;
end;
while (p^.num_compte<>num_compte) and (p<>nil) do
begin
q:=p;
p:=p^.suiv;
end;
if p^.num_compte=num_compte then
begin
if p^.montant=0 then
begin
q^.suiv:=p^.suiv;
writeln('le compte est supprimer avec succes....');
readln;
end;
if p^.montant<>0 then
begin
writeln('le compte n''est pas vide!!.');
readln;
end;
end;
if p=nil then
begin
writeln('le compte n''existe pas.');
readln;
end;
end;
{********}
procedure modification_un_compte;
var
num_compte:integer;
begin
p:=t;
write('donner le numero de compte pour modifier:'); readln(num_compte);
while (p^.num_compte<>num_compte) and (p<>nil) do
begin
p:=p^.suiv;
end;
if p^.num_compte=num_compte then
begin
write('entrer le nouveau nom:'); readln(p^.nom);
write('entrer le nouveau prenom:'); readln(p^.prenom);

writeln;writeln;
writeln('le compte est modifier avec succes....');
readln;
end;
if p=nil then
begin
writeln('le compte n''existe pas.');
readln;
end;
end;
{********}
{********}
procedure avoir;
var
num_compte:integer;
begin
write('donner le numero de compte:'); readln(num_compte);
writeln; writeln;

p:=t;
while (p^.num_compte<>num_compte) and (p<>nil) do
begin
p:=p^.suiv;
end;
if p^.num_compte=num_compte then
begin
p^.montant:=p^.montant-10;
writeln;writeln;writeln;
writeln(' votre montant actuelle est:',p^.montant:6:2);
readln;
end;
if p=nil then
begin
writeln('le compte n''existe pas.');
readln;
end;
end;
{*******}
procedure retrait;
var
num_compte:integer;
retrait_montant:real;
begin
write('donner le numero de compte:'); readln(num_compte);
write('entrer le montant que vous veuler retrait:'); readln(retrait_montant);
while retrait_montant<0 do
begin
writeln ('votre montant que vous veuler retrait est un nbr negative!!');
writeln('donner le montant que vous veuler retrait deuxieme fois');
readln(retrait_montant);
end;
writeln; writeln;

p:=t;
while (p^.num_compte<>num_compte) and (p<>nil) do
begin
p:=p^.suiv;
end;
if p^.num_compte=num_compte then
begin
if p^.montant >=retrait_montant then
begin
p^.montant:=p^.montant-retrait_montant;
writeln;writeln;writeln;
writeln('votre montant actuelle:',p^.montant:6:2);
readln;
end;
if p^.montant < retrait_montant then
begin
writeln('votre montant n''est contient pas plus d''argent.');
readln;
end;
end;
if p=nil then
begin
writeln('le compte n''existe pas.');
readln;
end;
end;
{*******}
procedure versement;
var
num_compte_1:integer;
num_compte_2:integer;
ch:integer;
versement_montant:real;
begin
writeln('< 1 >:pour ajouter de votre montant');
writeln('< 2 >:pour verser a partir d''un autre compte');
readln(ch);
if ch=2 then
begin
write('donner le numero de compte d''envoit:'); readln(num_compte_1);
writeln;
write('entrer le montant que vous vouler verser:'); readln(versement_montant);
while versement_montant<0 do
begin
writeln ('votre montant que vous veuler verser est un nbr negative!!');
writeln;
writeln('donner le montant que vous veuler verser deuxieme fois');
readln(versement_montant);
end;

writeln;

p:=t;
while (p^.num_compte<>num_compte_1) and (p<>nil) do
begin
p:=p^.suiv;
end;
if p^.num_compte=num_compte_1 then
begin
if p^.montant >= versement_montant then
begin
p^.montant:=p^.montant-versement_montant;
writeln;writeln;
readln;
end;
if p^.montant < versement_montant then
begin
writeln('votre montant n''est contient pas plus d''argent.');
readln;
end;
end;
if p=nil then
begin
writeln('le compte n''existe pas.');
readln;
end;
end;
{******}
writeln;
if ((ch=2) and (p^.montant>=versement_montant)) or (ch=1) then
begin
write('donner le numero de compte de reception:');
readln(num_compte_2);
end;
{************}
if ch=1 then
begin
write('entrer le montant que vous vouler verser:');
readln(versement_montant);
while versement_montant<0 do
begin
writeln ('votre montant que vous veuler verser est un nbr negative!!');
writeln;
writeln('donner le montant que vous veuler verser deuxieme fois');
readln(versement_montant);
end;
end;
{*********}
writeln; writeln;

p:=t;
while (p^.num_compte<>num_compte_2) and (p<>nil) do
begin
p:=p^.suiv;
end;
if p^.num_compte=num_compte_2 then
begin
p^.montant:=p^.montant+versement_montant;
writeln;writeln;
writeln('votre montant apprer le reception:',p^.montant:6:2);
readln;
end;
if p=nil then
begin
if ch=1 then
begin
writeln('le compte n''existe pas.');
readln;
end;
end;
end;
{************************les procedure de affichage*******************************}
procedure affichage_toute;
var
compteur :integer;
begin
compteur:=0;
p:=t;
while p<>nil do
begin
writeln('le numero de compte est:',p^.num_compte);
writeln('le nom est:',p^.nom);
writeln('le prenom est:',p^.prenom);
writeln('le montant est:',p^.montant:6:2);
writeln('********************');
p:=p^.suiv;
compteur:=compteur+1;
if compteur mod 4=0 then
begin
writeln;writeln;
writeln('Appllyer sur n''import qu''une tauche pour continuer !!.');
readln;
clrscr;
end;
end;
if compteur mod 4<>0 then
readln;
end;
{*********}
procedure affichage_un_compte;
var
num_compte:integer;
begin
write('donner le numero de compte:'); readln(num_compte);
writeln; writeln;

p:=t;
while (p^.num_compte<>num_compte) and (p<>nil) do
begin
p:=p^.suiv;
end;
if p^.num_compte=num_compte then
begin
writeln('le numero de compte est:',p^.num_compte);
writeln('le nom est:',p^.nom);
writeln('le prenom est:',p^.prenom);
writeln('le montant est:',p^.montant:6:2);
readln;
end;
if p=nil then
begin
writeln('le compte n''existe pas.');
readln;
end;
end;
{*********************************************************}
{**********************the main program********************}
var
chois:integer;
begin
creation_premier_compte;
chois:=1;
while chois<>0 do
begin
clrscr;
header;
writeln('choiser une operation:');
writeln('appuller sur <1> pour cree un autre compte.');
writeln('appuller sur <2> pour supprimer un compte.');
writeln('appuller sur <3> pour modifier un compte.');
writeln('appuller sur <4> pour avoir un compte (service:10 DA).');
writeln('appuller sur <5> pour retrait.');
writeln('appuller sur <6> pour verser.');
writeln('appuller sur <7> pour afficher un specifier compte.');
writeln('appuller sur <8> pour afficher toute les comptes.');
writeln('appuller sur <0> pour quiter.');

writeln;
writeln;
write('choise:');
readln(chois);
clrscr;
header;
case chois of
1: creation_nouvelle_compte;
2: supprimer_un_compte;
3: modification_un_compte;
4: avoir;
5: retrait;
6: versement;
7: affichage_un_compte;
8: affichage_toute;
end;
end;
end.
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
برنامج تسيير الحساب البريدي الجاري
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» برنامج معالجة الجداول
» برنامج روعة لتحويل صيغ الفيديو
» برنامج تحرير النصوص بالباكسال
» مدخل لغة الباسكال - بنية برنامج باسكال
» برنامج حساب مشتق كثير حدود

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
LMD OUARGLA :: رياضيات و إعلام آلي :: قســــم البرمجة-
انتقل الى: