Parse error at " end "
이전 댓글 표시
I have an parse error at ''end'' at the end of the code and I don't know why. Please help. I know I have other errors, I still haven't finish the program. I'm just trying to solve this one first.
classdef Plateforme < handle
% Caractéristiques ou données encapsulées
properties (Access = private)
nbBanques = 0;
banques = [];
end
% Comportements
methods
% Methode qui charge la base de donnees
function ChargerBaseDeDonnees(obj)
% Importer les constantes
ImporterConstantes
% Fixer la semence aleatoire
rng(0)
% Lire la base de donnees
FID = fopen(CHEMIN_BD, 'r');
texte = {};
while ~feof(FID)
texte{end + 1} = fgetl(FID);
end
fclose(FID);
% Reconstruire la base de donnees
% Le nombre de banques
temp = strsplit(texte{1}, ':');
nombreBanques = str2double(temp{end});
% La ligne qui contient le nom de la banque
ligneNomBanque = 2;
for i = 1 : nombreBanques
% Nom de la banque
temp = strsplit(texte{ligneNomBanque}, ':');
nomBanque = strtrim(temp{end});
% Numero d'institution de la banque
temp = strsplit(texte{ligneNomBanque + 1}, ':');
numeroInstitution = strtrim(temp{end});
% Initialiser la banque
listeBanques(i) = Banque(nomBanque, numeroInstitution);
% Le nombre de client de la banque
temp = strsplit(texte{ligneNomBanque + 2}, ':');
nbClients = str2double(temp{end});
% La ligne qui contient le prénom du client
lignePrenomClient = ligneNomBanque + 5;
for j = 1 : nbClients
% Prenom du client
temp = strtrim(strsplit(texte{lignePrenomClient}, ':'));
prenom = temp{end};
% Nom de famille du client
temp = strtrim(strsplit(texte{lignePrenomClient + 1}, ':'));
nom = temp{end};
% Numero d'assurance sociale du client
temp = strtrim(strsplit(texte{lignePrenomClient + 2}, ':'));
numeroAssuranceSociale = temp{end};
% Creer le client
unClient = Client(prenom, nom, numeroAssuranceSociale);
% Nombre de comptes du client
temp = strsplit(texte{lignePrenomClient + 3}, ':');
nbComptes = str2double(temp{end});
% La ligne qui contient le solde du comptes de cheques du client
ligneSoldeCheque = lignePrenomClient + 5;
% Charger tous les comptes
for k = ligneSoldeCheque : 3 : ligneSoldeCheque + 3 * (nbComptes - 1)
% Lire le solde du compte cheques
temp = strsplit(texte{k}, ':');
soldeCheque = str2double(temp{end});
% Lire le solde du compte epargne
temp = strsplit(texte{k + 1}, ':');
soldeEpargne = str2double(temp{end});
% Instancier le compte
unCompte = Compte(soldeCheque, soldeEpargne);
% Le client est desormais le proprietaire du compte
unCompte.proprietaire = unClient;
% Ajouter le compte a la banque
listeBanques(i).AjouterCompte(unCompte, unClient);
end
% Ajouter le client a la banque
listeBanques(i).AjouterClient(unClient);
% Ligne du prochain client
lignePrenomClient = k + 3;
end
% Ligne de la prochaine banque
ligneNomBanque = lignePrenomClient - 1;
end
% Enregistrer les parametres dans la plateforme
obj.nbBanques = nombreBanques;
obj.banques = listeBanques;
end
% Accesseurs (get.) pour la position du nombre de banque
function positionNbBanques = getNbBanques(obj)
positionNbBanques = obj.nbBanques;
end
%Méthode 3
function AnalyserJournalTransactions(obj,nomTexte)
validateattributes(nomTexte,{'char'},{'scalartext'})
FID = fopen(nomTexte,'r');
assert(FID ~= -1,'Erreur d"ouverture de fichier.');
data = textscan(FID,'%f %s %f %s %f','Delimiter',',');
fclose(FID);
obj.noInstitution = data(1);
obj.typeTransaction = data(2);
obj.idCompte = data(3);
obj.typeCompte = data(4);
obj.montant = data(5);
end
%methode 4
function GenererRapport(obj,nomRapport)
ImporterConstantes
finTexte = endsWith(nomRapport,'.txt');
if finTexte == 0
nomRapport = [nomRapport,'.txt'];
end
cheminDossier = [CHEMIN_RAPPORTS,'/',nomRapport];
FID = fopen(cheminDossier,'w');
assert(FID ~= -1,'Erreur d"ouverture de fichier.');
for i = 1 : obj.nbBanques
fprintf(FID,'Banque No. %d \n\n',i);
fprintf(FID,'\tNom : \n');
fprintf(FID,'\tNo. institution : \n');
fprintf(FID,'\tNombre de clients : \n');
fprintf(FID,'\tNombre de comptes : \n\n');
fprintf(FID,'\tDétails des comptes clients : \n\n');
for j = 1:
fprintf(FID,'\t\tClient No.%d\n\n',j);
fprintf(FID,'\t\t\tPrénom :\n');
fprintf(FID,'\t\t\tNom :\n\n');
for k = 1:
fprintf(FID,'\t\t\t\tCompte No. %d\n\n',k);
fprintf(FID,'\t\t\t\t\tIdentifiant :\n');
fprintf(FID,'\t\t\t\t\tSolde cheques :\n');
fprintf(FID,'\t\t\t\t\tSolde epargnes :\n\n');
end
fprintf(FID,'\t\t\tTotal cheques :\n');
fprintf(FID,'\t\t\tTotal epargne :\n\n');
end
end
end
end
end
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Startup and Shutdown에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!