LMD OUARGLA

LMD OUARGLA
 
الرئيسيةاليوميةس .و .جبحـثالتسجيلدخول

شاطر | 
 

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

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



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

مُساهمةموضوع: برنامج تسيير الحساب البريدي الجاري   الأحد مايو 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 :: رياضيات و إعلام آلي :: قســــم البرمجة-
انتقل الى: