Algorithme programme

cochemotagnard Messages postés 2 Statut Membre -  
daronmaster Messages postés 326 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
cela fait bientot deux jours que je suis entrain d'essayer de faire l'agorithme d un programme que jai terminer en langage c mais je ni arrive pas.
Voici la fonction:
void rechercher()
{
int Z;
int i,b,u;
char a[TAILLE_MAX];
i = 0;
u = 1;

while (u != 0)
{
system("CLS");
printf("----------------------------------------------------------------\n");
printf("| |\n");
printf("| RECHERCHER |\n");
printf("| |\n");
printf("----------------------------------------------------------------\n");
printf("\n\n\n");
printf("\nRechercher un client a partir de son:\n");
printf("I: Identifiant\n");
printf("E: Entreprise\n");
printf("N: Nom Contact\n");
printf("\nS: Sortie\n");
printf("\n\n\nChoix:");
//printf("\n\t\tChoix <I,E,N,S>:\n");

fflush(stdin);
Z = getchar();

switch(Z)
{
case'I': case'i':

for (i = 0 ; i < nombreClient ; i++)
{
printf("Le client %d a pour identifiant:%s\n",i,listClient[i].idClient);
}
printf("\n");
printf("----------------------------------------------------------------\n");
printf("| Saisir l'identifiant du client. |\n");
printf("----------------------------------------------------------------\n");
printf("\n\n");
printf(".Identifiant:");
fflush(stdin);
scanf("%s",a);

for (i = 0 ; i < nombreClient ; i++)
{
if(strcmp(a,listClient[i].idClient ) == 0)
{
printf("\n");
printf(" Vous recherchez le client:%d\n",i);
printf("\n");
printf(".Identifiant:%s\n",listClient[i].idClient);
printf(".Entreprise:%s\n",listClient[i].nomEntr);
printf(".Adresse:%s %s %s %s\n",listClient[i].adClient.numRue, listClient[i].adClient.nomRue, listClient[i].adClient.codePostal, listClient[i].adClient.ville);
printf(".Nom contact:%s\n",listClient[i].nomContact);
printf(".Prenom:%s\n",listClient[i].prenomContact);
printf(".Mail:%s\n",listClient[i].mailContact);
printf(".Telephone:%s\n",listClient[i].telContact);
printf("\n");
system("PAUSE");
break;
}
}
break;

case 'E': case 'e':

for (i = 0 ; i < nombreClient ; i++)
{
printf("Le client %d est dans l'entreprise:%s\n",i,listClient[i].nomEntr);
}
printf("\n");
printf("----------------------------------------------------------------\n");
printf("| Saisir le nom de l'entreprise. |\n");
printf("----------------------------------------------------------------\n");
printf("\n\n");
printf(".Entreprise:");
fflush(stdin);
scanf("%s",a);

for (i = 0 ; i < nombreClient ; i++)
{
if(strcmp(a,listClient[i].nomEntr ) == 0)
{
printf("\n");
printf(" Vous recherchez le client:%d\n",i);
printf("\n");
printf(".Identifiant:%s\n",listClient[i].idClient);
printf(".Entreprise:%s\n",listClient[i].nomEntr);
printf(".Adresse:%s %s %s %s\n",listClient[i].adClient.numRue, listClient[i].adClient.nomRue, listClient[i].adClient.codePostal, listClient[i].adClient.ville);
printf(".Nom contact:%s\n",listClient[i].nomContact);
printf(".Prenom:%s\n",listClient[i].prenomContact);
printf(".Mail:%s\n",listClient[i].mailContact);
printf(".Telephone:%s\n",listClient[i].telContact);
printf("\n");
system("PAUSE");
break;
}
}
break;

case 'N': case 'n':
printf("Nombre de client:%d\n",nombreClient);

for (i = 0 ; i < nombreClient ; i++)
{
printf("Le client %d a pour nom:%s\n",i,listClient[i].nomContact);
}
printf("\n");
printf("----------------------------------------------------------------\n");
printf("| Saisir le nom du client. |\n");
printf("----------------------------------------------------------------\n");
printf("\n\n");
printf(".Nom:");
fflush(stdin);
scanf("%s",a);

for (i = 0 ; i < nombreClient ; i++)
{
if(strcmp(a,listClient[i].nomContact ) == 0)
{
printf("\n");
printf(" Vous recherchez le client:%d\n",i);
printf("\n");
printf(".Identifiant:%s\n",listClient[i].idClient);
printf(".Entreprise:%s\n",listClient[i].nomEntr);
printf(".Adresse:%s %s %s %s\n",listClient[i].adClient.numRue, listClient[i].adClient.nomRue, listClient[i].adClient.codePostal, listClient[i].adClient.ville);
printf(".Nom contact:%s\n",listClient[i].nomContact);
printf(".Prenom:%s\n",listClient[i].prenomContact);
printf(".Mail:%s\n",listClient[i].mailContact);
printf(".Telephone:%s\n",listClient[i].telContact);
printf("\n");
system("PAUSE");
break;
}
else
{
printf("niker"); //ATTTTTEEEENNNNNTTTTIIIIOOOOONNNNNN
}
}
break;

case 's': case 'S':

printf("----------------------------------------------------------------\n");
printf("| Voulez-vous vraiment sortir? |\n");
printf("----------------------------------------------------------------\n");
printf("\n\n");
printf("0: Non\n");
printf("1: Oui\n");
printf("\n\n\nChoix:");
//printf("\n\t\tChoix <0,1>:\n");
scanf("%d",&b);

if(b == 1)
{
u = 0;
}
break;

default:
break;
}
}

}

voila merci beaucoup si quelqu un pouvais me montrer avec celle ci pour que je fasse les autres
ca serai vrt gentil
merci beaucoup
Configuration: Windows XP
Firefox 2.0.0.14

5 réponses

  1. daronmaster Messages postés 326 Date d'inscription   Statut Membre Dernière intervention   44
     
    ta liste client est un parametre global ?
    0
  2. daronmaster Messages postés 326 Date d'inscription   Statut Membre Dernière intervention   44
     
    je ne vois pas ce quipeut bugger, voici ton code un peu modifier, attention ta listeClient doit etre en parametre global, ainsi que nombreClient et TAILLE_MAX:

    void afficherClient(int i){
    
    	printf("\n"); 
    	printf(" Vous recherchez le client:%d\n",i); 
    	printf("\n"); 
    	printf(".Identifiant:%s\n",listClient[i].idClient); 
    	printf(".Entreprise:%s\n",listClient[i].nomEntr); 
    	printf(".Adresse:%s %s %s %s\n",listClient[i].adClient.numRue, listClient[i].adClient.nomRue, listClient[i].adClient.codePostal, listClient[i].adClient.ville); 
    	printf(".Nom contact:%s\n",listClient[i].nomContact); 
    	printf(".Prenom:%s\n",listClient[i].prenomContact); 
    	printf(".Mail:%s\n",listClient[i].mailContact); 
    	printf(".Telephone:%s\n",listClient[i].telContact); 
    	printf("\n");
    
    
    }
    
    
    void rechercher() 
    { 
    	int Z; 
    	int i,b,u; 
    	char a[TAILLE_MAX]; 
    	i = 0; 
    	u = 1;
    
    	int sortie = 0; 
    
    	while (u != 0) 
    	{ 
    		system("CLS"); 
    		printf("----------------------------------------------------------------\n"); 
    		printf("| |\n"); 
    		printf("| RECHERCHER |\n"); 
    		printf("| |\n"); 
    		printf("----------------------------------------------------------------\n"); 
    		printf("\n\n\n"); 
    		printf("\nRechercher un client a partir de son:\n"); 
    		printf("I: Identifiant\n"); 
    		printf("E: Entreprise\n"); 
    		printf("N: Nom Contact\n"); 
    		printf("\nS: Sortie\n"); 
    		printf("\n\n\nChoix:"); 
    		//printf("\n\t\tChoix <I,E,N,S>:\n"); 
    
    
    		fflush(stdin); 
    		Z = getchar(); 
    
    		switch(Z){
     
    			case'I': case'i': 
    
    					for (i = 0 ; i < nombreClient ; i++) 
    					{ 
    						printf("Le client %d a pour identifiant:%s\n",i,listClient[i].idClient); 
    					} 
    					printf("\n"); 
    					printf("----------------------------------------------------------------\n"); 
    					printf("| Saisir l'identifiant du client. |\n"); 
    					printf("----------------------------------------------------------------\n"); 
    					printf("\n\n"); 
    					printf(".Identifiant:"); 
    					fflush(stdin); 
    					scanf("%s",a); 
    
    					i = 0;
    					while( (i < nombreClient) && !sortie)
    					{ 
    						if(strcmp(a,listClient[i].idClient ) == 0) 
    						{ 
    							afficherClient(i);
    							sortie = 1;
    						}
    
    					} 
    					break; 
    
    			case 'E': case 'e': 
    
    					for (i = 0 ; i < nombreClient ; i++) 
    					{ 
    						printf("Le client %d est dans l'entreprise:%s\n",i,listClient[i].nomEntr); 
    					} 
    					printf("\n"); 
    					printf("----------------------------------------------------------------\n"); 
    					printf("| Saisir le nom de l'entreprise. |\n"); 
    					printf("----------------------------------------------------------------\n"); 
    					printf("\n\n"); 
    					printf(".Entreprise:"); 
    					fflush(stdin); 
    					scanf("%s",a); 
    
    					i = 0;
    					while( (i < nombreClient) && !sortie)
    					{ 
    						if(strcmp(a,listClient[i].idClient ) == 0) 
    						{ 
    							afficherClient(i);
    							sortie = 1;
    						}
    
    					}
    					break; 
    
    
    			case 'N': case 'n': 
    					printf("Nombre de client:%d\n",nombreClient); 
    
    					for (i = 0 ; i < nombreClient ; i++) 
    					{ 
    						printf("Le client %d a pour nom:%s\n",i,listClient[i].nomContact); 
    					} 
    					printf("\n"); 
    					printf("----------------------------------------------------------------\n"); 
    					printf("| Saisir le nom du client. |\n"); 
    					printf("----------------------------------------------------------------\n"); 
    					printf("\n\n"); 
    					printf(".Nom:"); 
    					fflush(stdin); 
    					scanf("%s",a); 
    
    					i = 0;
    					while( (i < nombreClient) && !sortie)
    					{ 
    						if(strcmp(a,listClient[i].idClient ) == 0) 
    						{ 
    							afficherClient(i);
    							sortie = 1;
    						}
    
    					}
    					break;
    
    
    			case 's': case 'S': 
    
    					printf("----------------------------------------------------------------\n"); 
    					printf("| Voulez-vous vraiment sortir? |\n"); 
    					printf("----------------------------------------------------------------\n"); 
    					printf("\n\n"); 
    					printf("0: Non\n"); 
    					printf("1: Oui\n"); 
    					printf("\n\n\nChoix:"); 
    					//printf("\n\t\tChoix <0,1>:\n"); 
    					scanf("%d",&b); 
    
    					if(b == 1) 
    					{ 
    						u = 0; 
    					} 
    					break; 
    
    			default: 
    				break; 
    		} 
    	} 
    
    } 
    0
    1. cochemotagnard
       
      merci beaucoup vachement sympa
      je lai placer dans mon programme et cest mieu sinon oui cest un parametre global
      mais ce que je cherche surtout a faire cest lagorithme de cette fonction je ni arrive pas du tout.
      et je cherche quelqun pour faire l algorithme de cette fonction histoire de me montrer parce que je dois le faire
      pour trois autre fonctions encore.
      merci beaucoup a vous
      0
  3. daronmaster Messages postés 326 Date d'inscription   Statut Membre Dernière intervention   44
     
    je ne comprend pas trop ce que tu veux dire par algorithme, chez moi c'est une suite d'instructions permettant de résoudre un probleme et l'algorithme que tu utilises dans ce programme est bidon car c'est une boucle dans la quelle à chaque tour tu demande quoi faire à l'utilisateur,

    peut me redire ce que tu veux ?

    cherche tu la complexité de ton algorithme ? si tel est le cas c'est linéaire car c'est l'utilisateur qui doit chercher quel client il veut voir afficher donc en O(1), car tu connait l'indice auquel il se situe.

    je t'écoute pour la suite
    0
  4. cochemotagnard
     
    Voila
    ce qui nous ai demande cest de faire lalgorithme. Lagorithme cest un language qui permet au personne ayant aucune connaissance dans le domaine de la prgrammation de comprendre ce programme.
    Lalgorithme ce fait a base de afficher ; a<--valeur de.... enfin je sais plus excactement donc je cherche quelqun pour maider a faire les algo des fonctions de ce programme
    merci beaucoup.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. daronmaster Messages postés 326 Date d'inscription   Statut Membre Dernière intervention   44
     
    et bien dans ce genre :

    tant que "utilisateur veut continuer" faire
    
        choix <- choisir le type de recherche d'un client
    
        si choix == (i ou I) alors
    
            faire ...
    
        sinon
          si choix == (n ou N) alors
    
               faire ...
    
          sinon
            si choix == (s ou S) alors
    
                 quitter;
            fin_de_si
          fin_de_si
         fin_de_si
    
    fin de tant que
    
    


    il te fallait un truc de ce genre ? je t'ai laissé les ... à remplir, mais reste simple si c'est ce qui était demandé, du genre "saisir l'identifiant" ou afficher la liste des clients, etc

    bon courage

    Cdlt
    0