HELP !!!!

HELP !!!! - C++ - Programmation

Marsh Posté le 24-03-2005 à 10:42:46    

Bonjour, j'ai un projet a faire en C++ pour mon école mais je galére trop a coriger mes erreurs  
Voila ce que j'ai fait :

Citation :

#include<iostream.h>
#include<conio.h>
#include<string.h>
#include<fstream.h>
#include<stdlib.h>
 
const int FAUX=0;
const int max=15;
const int nbli=100;
const int nbco=8;
 
//Les prototypes
struct client {char nom[max+1];
  char prenom[max+1];
  int age;
  char etudiant;
  float somme;
  int nbmois;
  int taux;
  float montantaux;
  int jour;
  int mois;
  int annee;
  };
 
void telecharger_fichier(char nomfich[10+1],char tabclient[20][100+1]);
void renseignement(client&emp);
void saisirpret(client&emp);
void calcultaux(client&emp);
void calculinteret(client&emp);
void signercontrat(client&emp);
void trierclient(int L,char tabclient[20][100+1]);
int Posinsertion(char tabclient,int L,int indV);
int compare(char nom1[15+1],char prenom1[15+1],char nom2[15+1],char prenom2[15+1]);
void copie (client c1, client&c2);
void decalerplacer(int np,int indV,char tabclient[20][100+1]);
 
 
//Programme principal
void main()
 {clrscr();
 client emp,em;
 int nb;
 char tabcli[nbco+1];
 char tab[20][100+1];
 char nomfich[10+1];
 
 renseignement(em);
 saisirpret(em);
 calcultaux(em);
 calculinteret(em);
 signercontrat(em);
 trierclient(nb,tab);
 }
 
 
//Definition des fonctions
void telecharger_fichier(char nomfich[max+1],char tabclient[20][100+1])
 {int L,i;
 clrscr();
 cout<<"Entrez le chemin du fichier contenant les renseignement du client : \n";
 cin>> nomfich;
 ifstream ficlient(nomfich);
 if (ficlient==FAUX)
  {cout<<"\nOuverture impossible, fichier inexistant";
  exit (-1);
  }
 else
  {L=0;
  ficlient>>tabclient[L];
  while (ficlient.eof()==FAUX)
  {L++;
  ficlient>>tabclient[L];
  }
 
 cout<<"\nAffichage du tableau :\n";
 for (i=0;i<L;i++)
  {cout<<tabclient[i]<<"\n";
  }
 cout<<"\nIl y a : "<<L<<" clients\n";
 ficlient.close();
  }
  }
 
void renseignement(client&emp)
 {int encore;
 while(encore != 0)
 {
 cout<<"Entrez le nom du client:\n";
 cin>>emp.nom;
 cout<<"Entrez le prenom du client:\n";
 cin>>emp.prenom;
 cout<<"Entrez l'age du client:\n";
 cin>>emp.age;
 cout<<"Votre client est-il un etudiant (o/n)\n";
 cin>>emp.etudiant;
 cout<<"Avez-vous encore un client (1/0) ?\n";
 cin>>encore;
 }
}
void saisirpret (client&emp)
 {if (emp.age<18)
  {cout<<"Vous n'avez pas le droit au pret\n";
  emp.somme=0;
  }
 else  {cout<<"Votre remboursement se fera en combien de mois ?:\n";
  cin>>emp.nbmois;
  if (emp.nbmois>120)
   {cout<<"La duree de l'emprunt peut atteindre qu'un maximum de 120 mois\n";
   cout<<"Donner un nombre de mois inferieur a 120:\n";
   cin>>emp.nbmois;
   }
 
  cout<<"Quel est la somme a emprunter ?\n";
  cin>>emp.somme;
  if (emp.somme<1000 || emp.somme>20000)
   {cout<<"Votre somme empruntee ne correspond pas aux criteres\n";
   cout<<"Donner une somme comprise en 1000 et 20000 euros\n";
   cin>>emp.somme;
   }
  }
}
void calcultaux(client&emp)
 {if (emp.somme>=1000 && emp.somme<=7000)
  {emp.taux=12;
  cout<<"Vous avez "<<emp.taux<<" % d'interet\n";
  }
 else {if (emp.somme>7000 && emp.somme<=13000)
  {emp.taux=9;
  cout<<"Vous avez un taux d'interet de "<<emp.taux<<" %\n";
  }
  else{if (emp.somme!=0)
   {emp.taux=7;
    cout<<"Vous avez un taux d'interet de "<<emp.taux<<" %\n";
   }
      }
      }
 if( (emp.age>=18 && emp.age<=25)||( emp.etudiant =='o' && emp.age<30))
  {emp.taux=emp.taux-2;
  cout<<"Grace a votre age vous beneficiez d'un taux de "<<emp.taux<<" %\n";
  }
}
void calculinteret(client&emp)
 {emp.montantaux=emp.taux;
 emp.montantaux=emp.montantaux/100;
 emp.montantaux=emp.montantaux*emp.somme;
 cout<<"Le montant de vos interet sera de "<<emp.montantaux<<" euros\n";
 }
 
void signercontrat(client&emp)
 {char ok;
 cout<<"Voici un recapitulatif de votre contrat\n";
 cout<<"Votre nom: "<<emp.nom<<" Votre prenom: "<<emp.prenom<<"\n";
 cout<<"Vous avez "<<emp.age<<" ans et votre statut d'etudiant est : "<<emp.etudiant<<"\n";
 cout<<"Vous empruntez: "<<emp.somme<<"euros, avec un taux de "<<emp.taux<<" % sur  "<<emp.mois<<" mois, ce qui correspond a "<<emp.montantaux<<" euros\n";
 cout<<"Votre date d'echeance sera dans :"<<emp.nbmois+1<<"mois\n";
 cout<<"Etes vous d'accord avec ces donnees(o/n) ?\n";
 cin>>ok;
 if (ok=='o')
  {cout<<"Quand voulez-vous commencer votre emprunt ?\n";
  cin>>emp.jour>>emp.mois>>emp.annee;
  cout<<emp.jour<<"/"<<emp.mois<<"/"<<emp.annee;
  }
 else {renseignement(emp);
  saisirpret(emp);
  calcultaux(emp);
  calculinteret(emp);
  }
}
 
 
void trierclient(int L,char tabclient[20][100+1])
 {int i,j,numplace,nbc;
 char tab[20];
 for (i=0;i<L-1;i++)
  {numplace=Posinsertion(tab,nbc,j);
  if (numplace !=i)
   {decalerplacer(tab,numplace,i);
   }
  }
 }
int Posinsertion(char tabclient[20],int L,int indV)
 {int valdepaC,ind,valtriee;
 client val;
 valtriee=indV;
 ind=0;
 copie(tabclient[indV],val);
 valdepaC=0;
 while (ind<valtriee && valdepaC==0)
  {if (compare(tabclient[indV].nom,tabclient[indV].prenom,val.nom,val.prenom)<0)
   {valdepaC=1;
   }
   else{ind=ind+1;
       }
  }
 return ind;
 }
int compare(char nom1[15+1],char prenom1[15+1],char nom2[15+1],char prenom2[15+1])
 {int res;
 if(strcmp(nom1,nom2)<0)
  res=1;
  else{if (strcmp (nom1,nom2)>0)
   res=-1;
   else{if(strcmp(prenom1,prenom2)<0)
    res=1;
    else{if(strcmp(prenom1,prenom2)>0)
     res=-1;
     else res=0;
        }
       }
      }
 
}
 
 
void copie (client c1, client&c2)
 {strcpy(c2.nom,c1.nom);
 strcpy(c2.prenom,c1.prenom);
 c2.age=c1.age;
 c2.etudiant=c1.etudiant;
 c2.somme=c1.somme;
 c2.nbmois=c1.nbmois,
 c2.taux=c1.taux;
 c2.montantaux=c1.montantaux;
 c2.jour=c1.jour;
 c2.mois=c1.mois;
 c2.annee=c1.annee;
}
 
void decalerplacer(int np,int indV,char tabclient[20][100+1])
 {int i;
 client decoT;
 copie(tabclient[indV],decoT);
 for(i=indV;i<np+1;i-1)
  {copie(tabclient[i-1],tabclient[i]);
  }
 copie(decoT,tabclient[np]);
}
 
 
 
 


 
Merci de votre aide

Reply

Marsh Posté le 24-03-2005 à 10:42:46   

Reply

Marsh Posté le 24-03-2005 à 10:44:07    

1) Change ton titre
2) donne pas d'erreur, on a que ça à foutre chercher dans tout ton pavé...


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 24-03-2005 à 10:48:20    

Je demande pas a ce que vous me corrigé tout mais des fois qu'il y aurait des grosses erreurs que j'ai pas vu.
Le probléme c'est dans l'appel de mes fonctions ya des erreurs style "cannot convert char to char" ....

Reply

Marsh Posté le 24-03-2005 à 10:53:57    

Mais putain tu vas les donner tes erreurs?[:mlc]
Si tu fais pas un minimum d'efforts pour nous donner les infos  on va pas faire l'effort de chercher à t'aider non plus hein...


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 24-03-2005 à 10:55:03    

De toutes manières, vu qu'il refuse visiblement de changer son titre, à quoi bon l'aider puisque le sujet va être locké dans très peu de temps. [:petrus75]

Reply

Marsh Posté le 24-03-2005 à 11:00:31    

et en plus c'est pas du c++ mais du c
enfin un melange


Message édité par tching pao le 24-03-2005 à 11:01:06
Reply

Marsh Posté le 24-03-2005 à 11:03:12    

oh du C

Reply

Marsh Posté le 24-03-2005 à 13:34:06    

titre foireux, manque d'infos malgré rappels à l'ordre, désolé mais je locke.
si tu veux une réponse, tu créé un autre topic avec un titre correct, et les messages d'erreurs obtenus


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed