Bonjour à tous,
je souhaite de l'aide pour la réalisation d'une bibliothèque.
Il m'est demandé de définir deux bibliothèques : la bibliothèque Entier_Naturel correspondant aux nombres entiers sans signe
ex : 123 456 789 -1 . Un blanc sépare chaque chiffre de la base mille et -1 termine la lecture.
et la bibliothèque Entier_Relatif qui correspond aux nombres signés.
La bibliotheque Entier_Naturel:
Structure des données:
enregistrement : base : entier /*entier positif définissant la base de travail, içi 1000*/
coef : tableau des "chiffres (içi les composantes)" /*au les Max éléments entiers*/
nbre : entier /*il indique les chiffres nbre+1 à Max ne sont pas utilisés*/
Tu as déjà quelque chose à présenter ? Un bout de code, quelque chose ?
( Pour rappel : Interdiction de balancer un énoncé sans prétendre produire un minimum d'effort personnel. Interdiction de donner le moindre bout de code sans commancer par [code] et finir par [/ code] (sans l'espace) Toute chose que tu sais déjà puisque tu as lu le sujet "A lire avant de poster /!\" C'est chiant hein !! )
J'ai déjà commencer avec Lecture et Lecture_Fichier. J'ai pour l'instant écrit des petits programmes pour voir si ils marchent. Ensuite, je les transformeraient en procedure pour les inclure dans la bibliothèque.
Code :
program Lecture;
var valeur : char;
nbre : integer;
coef : array [1..10] of char;
i : integer;
begin
nbre:=1;
i:=1;
writeln('entrer la valeur');
read(valeur);
while valeur <> '.' do
begin
if valeur = ' ' then nbre:=nbre+1 else
begin
coef[i]:=valeur;
i:=i+1;
end;
read(valeur);
end;
for i:=1 to 10 do
write(coef[i]);
writeln;
writeln (nbre);
end.
Mon problème est qu'il détecte la fin avec le -1 et pas le . comme j'ai fait pour l'instant.
Code :
program Lecture_Fichier;
var valeur : char;
nbre : integer;
coef : array [1..10] of char;
i : integer;
fic : file of char;
nomfichier : string;
begin
writeln('enter le nom de votre fichier de données');
read(nomfichier);
assign(fic, nomfichier);
reset(fic);
nbre:=1;
i:=1;
read(fic, valeur);
while valeur <> '.' do
begin
if valeur = ' ' then nbre:=nbre+1 else
begin
coef[i]:=valeur;
i:=i+1;
end;
read(valeur);
end;
for i:=1 to 10 do
write(coef[i]);
writeln;
writeln (nbre);
end.
Ca compile mais ca ne prend pas les valeurs présentes dans le fichier.