Résultats de 1 à 2 sur 2

Sujet : System(\"pause\") et pb de position

  1. #1
    Visiteur MP
    Visiteur MP

    System(\"pause\") et pb de position

    J\'ai réalisé mon programme mais il y a qqs problèmes, pouvez-vous m\'aider?

    La dernière page , qui doit indiquer que j\'ai réalisé ce programme ne s\'affiche pas lors de la saisie 0 (aussi , j\'aimerais que cela s\'affiche en bleu)

    Ensuite, pour la recheche par code postal : si deux personnes ont le même code postal, ce programme n\'indique qu\'une seule personne !

    J\'espère que vous me suivez!


    ---------------------------------------------

    Voici :

    Code:
    #include<stdio.h> 
    #include<conio.h> 
    #include<stdlib.h> 
    #include<string.h> 
    
    
    struct s_personne 
    { 
    char nom[25]; 
    char prenom[20]; 
    char rue[25]; 
    int num; 
    short cp; 
    char loc[25]; 
    short age; 
    char sexe; 
    int taille; 
    int poids; 
    }; 
    
    void main() 
    
    { 
    int choix; 
    struct s_personne tab_pers[30]; 
    struct s_personne tmp; 
    int i=0, cptsexe=0, cptage=0, cpttaille=0, cptpoids=0, cpt18=0, cpt=0; 
    int j,k,nbr,ligne; 
    int totsexe=0, tottaille=0, totpoids=0, menu=1; 
    int codepost; 
    while (menu==1) 
    { 
    
    clrscr(); 
    gotoxy(5,2); printf(\"** MENU **\"); 
    gotoxy(5,3); printf(\" **** \"); 
    gotoxy(18,6); printf(\"1: Encodage\"); 
    gotoxy(18,7); printf(\"-----------\"); 
    gotoxy(18,10); printf(\"2: Statistique\"); 
    gotoxy(18,11); printf(\"--------------\"); 
    gotoxy(18,14); printf(\"3: Recherche par Code Postal\"); 
    gotoxy(18,15); printf(\"----------------------------\"); 
    gotoxy(18,1; printf(\"4: Recherche des personnes majeures\"); 
    gotoxy(18,19); printf(\"-----------------------------------\"); 
    gotoxy(18,22); printf(\"0: Quitter\"); 
    gotoxy(18,23); printf(\"----------\"); 
    gotoxy(55,25); printf(\" Entrez votre choix : \"); scanf(\"%d\",&choix); 
    
    while ((choix!=0) && (choix!=1) && (choix!=2) && (choix!=3) && (choix !=4)) 
    { 
    gotoxy(3,26); 
    printf(\"ERREUR -> Entrer une option valable\"); 
    getch(); 
    gotoxy(3,26); clreol(); 
    gotoxy(3,26); printf(\"\\nEntrer votre choix : \"); scanf(\"%d\",&choix); 
    } 
    switch(choix) 
    { 
    case 1: 
    i=0; 
    tab_pers[i].nom[0]=\'v\'; 
    while(i<30 && tab_pers[i].nom[0] != \'*\') 
    { 
    clrscr(); 
    gotoxy(20,2);printf(\"** Encodage **\"); 
    gotoxy(20,3);printf(\" ********\"); 
    gotoxy(5,5); printf(\"Nom: \\t\"); 
    fflush(stdin); 
    gets(tab_pers[i].nom); 
    if(tab_pers[i].nom[0] != \'*\') 
    { 
    gotoxy(5,7); printf(\"Prenom: \\t\"); 
    fflush(stdin); 
    gets(tab_pers[i].prenom); 
    cpt++; 
    gotoxy(5,9); printf(\"Rue: \\t\"); 
    fflush(stdin); 
    gets(tab_pers[i].rue); 
    gotoxy(5,11); printf(\"Num‚ro: \\t\"); 
    fflush(stdin); 
    scanf(\"%d\",&tab_pers[i].num); 
    gotoxy(5,13); printf(\"Code Postal: \\t\"); 
    fflush(stdin); 
    scanf(\"%d\",&tab_pers[i].cp); 
    gotoxy(5,15); printf(\"Localite: \\t\"); 
    fflush(stdin); 
    gets(tab_pers[i].loc); 
    gotoxy(5,17); printf(\"Age: \\t\"); 
    fflush(stdin); 
    scanf(\"%d\",&tab_pers[i].age); 
    while(tab_pers[i].age<7 || tab_pers[i].age>77) 
    { 
    gotoxy(2,24); 
    printf(\"Erreur d\'encodage : L\'ƒge doit ˆtre compris entre 7 et 77 ans\"); 
    getch(); 
    gotoxy(2,24); clreol(); 
    gotoxy(5,17); printf(\"Age: \\t\"); 
    fflush(stdin); 
    scanf(\"%d\",&tab_pers[i].age); 
    } 
    if(tab_pers[i].age>=1 
    { 
    cptage=cptage+1; 
    } 
    else 
    { 
    cpt18=cpt18+1; 
    } 
    gotoxy(5,19); printf(\"Sexe: \\t\"); 
    fflush(stdin); 
    scanf(\"%c\",&tab_pers[i].sexe); 
    while(tab_pers[i].sexe!=\'h\' && tab_pers[i].sexe!=\'f\') 
    { 
    gotoxy(3,24); printf(\"Erreur d\'encodage: Entrer F ou H pour le sexe de la personne\"); 
    getch(); 
    gotoxy(3,24); clreol(); 
    gotoxy(5,19); printf(\"Sexe: \\t\"); 
    fflush(stdin); 
    scanf(\"%c\",&tab_pers[i].sexe); 
    } 
    if (tab_pers[i].sexe==\'h\') 
    { 
    totsexe=totsexe+1; 
    } 
    else 
    { 
    cptsexe++; 
    } 
    gotoxy(5,21); printf(\"Taille (cm): \\t\"); 
    fflush(stdin); 
    scanf(\"%d\",&tab_pers[i].taille); 
    while(tab_pers[i].taille<100 || tab_pers[i].taille>250) 
    { 
    gotoxy(3,24); printf(\"Erreur d\'encodage: La taille doit ˆtre comprise entre 140 et 250\"); 
    getch(); 
    gotoxy(3,24); clreol(); 
    gotoxy(5,21); printf(\"Taille (cm): \\t\"); 
    fflush(stdin); 
    scanf(\"%d\",&tab_pers[i].taille); 
    } 
    if (tab_pers[i].taille>=180) 
    { 
    tottaille=tottaille+1; 
    } 
    else 
    { 
    cpttaille++; 
    } 
    
    gotoxy(5,23); printf(\"Poids (kg): \\t\"); 
    fflush(stdin); 
    scanf(\"%d\", &tab_pers[i].poids); 
    while(tab_pers[i].poids<1 || tab_pers[i].poids>140) 
    { 
    gotoxy(3,25); printf(\"Erreur d\'encodage: Le poids doit ˆtre compris entre 1 et 140\"); 
    getch(); 
    gotoxy(3,24); clreol(); 
    gotoxy(5,23); printf(\"Poids (kg): \\t\"); 
    fflush(stdin); 
    scanf(\"%d\",&tab_pers[i].poids); 
    } 
    if (tab_pers[i].poids>=1) 
    { 
    totpoids=totpoids+1; 
    } 
    else 
    { 
    cptpoids++; 
    } 
    i++; 
    } 
    
    } 
    
    break; 
    
    case 2: clrscr(); 
    gotoxy(20,2);printf(\"** STATISTIQUE **\"); 
    gotoxy(20,3);printf (\" *********** \"); 
    gotoxy(3,6);printf(\"Nombre d\'hommes : ____________________________________ %d\",totsexe); 
    gotoxy(3,;printf(\"Nombre de femmes : ___________________________________ %d\",cptsexe); 
    gotoxy(3,10);printf(\"Nombre de personnes majeures : _______________________ %d\",cptage); 
    gotoxy(3,12);printf(\"Nombre de personnes mineures : _______________________ %d\",cpt18); 
    gotoxy(3,14);printf(\"Nombre de personnes dont la taille est <1m80 :________ %d\",cpttaille); 
    gotoxy(3,16);printf(\"Nombre de personnes dont la taille est >= 1m80 :______ %d\",tottaille); 
    gotoxy(3,1;printf(\"Nombre de personnes dont le poids est <= 100kg;_______ %d\",totpoids); 
    gotoxy(3,20);printf(\"Nombre de personnes dont le poids est >100kg:_________ %d\",cptpoids); 
    getch(); 
    break; 
    
    case 3: clrscr(); 
    gotoxy(20,2);printf(\"** RECHERCHE PAR CODE POSTAL **\"); 
    gotoxy(20,3);printf(\" ************************* \"); 
    gotoxy(3,7);printf(\"Entrez Code Postal : \"); 
    scanf(\"%d\",&codepost); 
    for(i=0;i<=cpt;i++) 
    { 
    if(tab_pers[i].cp==codepost) 
    { 
    gotoxy(3,9);printf(\" %s %s\\n\",tab_pers[i].nom,tab_pers[i].prenom); 
    } 
    } 
    getch(); 
    break; 
    case 4: clrscr(); 
    gotoxy(20,2);printf(\"** RECHERCHE DES PERSONNES MAJEURES **\"); 
    gotoxy(20,3);printf(\" ******************************** \"); 
    for(j=1;j<cpt-2;j++) 
    { 
    for(k=0;k<j;k++) 
    { 
    if(strcmp(tab_pers[k].nom,tab_pers[j].nom)>0) 
    { 
    strcpy(tmp.nom,tab_pers[k].nom); 
    strcpy(tmp.prenom,tab_pers[k].prenom); 
    tmp.age=tab_pers[k].age; 
    strcpy(tmp.rue,tab_pers[k].rue); 
    tmp.num=tab_pers[k].num; 
    tmp.cp=tab_pers[k].cp; 
    strcpy(tmp.loc,tab_pers[k].loc); 
    tmp.sexe=tab_pers[k].sexe; 
    tmp.taille=tab_pers[k].taille; 
    tmp.poids=tab_pers[k].poids; 
    
    strcpy(tab_pers[k].nom,tab_pers[j].nom); 
    strcpy(tab_pers[k].prenom,tab_pers[j].prenom); 
    tab_pers[k].age=tab_pers[j].age; 
    strcpy(tab_pers[k].rue,tab_pers[j].rue); 
    tab_pers[k].num=tab_pers[j].num; 
    tab_pers[k].cp=tab_pers[j].cp; 
    strcpy(tab_pers[k].loc,tab_pers[j].loc); 
    tab_pers[k].sexe=tab_pers[j].sexe; 
    tab_pers[k].taille=tab_pers[j].taille; 
    tab_pers[k].poids=tab_pers[j].poids; 
    
    strcpy(tab_pers[j].nom,tmp.nom); 
    strcpy(tab_pers[j].prenom,tmp.prenom); 
    tab_pers[j].age=tmp.age; 
    strcpy(tab_pers[j].rue,tmp.rue); 
    tab_pers[j].num=tmp.num; 
    tab_pers[j].cp=tmp.cp; 
    strcpy(tab_pers[j].loc,tmp.loc); 
    tab_pers[j].sexe=tmp.sexe; 
    tab_pers[j].taille=tmp.taille; 
    tab_pers[j].poids=tmp.poids; 
    } 
    } 
    } 
    
    nbr=1; 
    ligne=5; 
    for(j=0;j<cpt;j++) 
    { 
    if(tab_pers[j].age>=1 
    { 
    if(nbr<16) 
    
    { 
    gotoxy(4,ligne);puts(tab_pers[j].nom); 
    gotoxy(30,ligne);puts(tab_pers[j].prenom); 
    ligne++; 
    } 
    else 
    { 
    ligne--; 
    gotoxy(40,16-ligne);puts(tab_pers[j].nom); 
    gotoxy(65,16-ligne);puts(tab_pers[j].prenom); 
    
    } 
    nbr++; 
    } 
    } 
    
    getch(); 
    break; 
    
    case 0: /* quitter */ 
    clrscr(); 
    menu=0; 
    gotoxy(20,10);printf(\"ce prog a ete realise par C.M.\"); 
    
    break; 
    
    } 
    
    
    } 
    
    }
    ----------------------------------------------------

    Merci de m\'aider.

    Say.

  2. #2
    Membre MP
    Inscrit
    août 2013
    Messages
    1
    Salut

    Pour le probleme du code postal, je pense que c\'est normal, car tu remets le curseur au meme endroit pour ecrire le nom (d\'ailleurs je pense que la fonction affiche que la derniere entrée trouvé). La solution est simple : allez la ligne à chaque entrée trouvée. L\'autre problème, je pense qu\'une attente avant la fin du programme devra pourrait te permettre de voir la derniere page. Voila j\'espere que j\'ai ete utile pour le developpement de ton programme.

    A plus

    Seun P4

Informations du sujet

Utilisateur(s) parcourant ce sujet

il y a actuellement 1 utilisateur(s) parcourant ce sujet. (0 membre(s) et 1 visiteur(s))

Règles des messages

  • Vous ne pouvez pas créer de sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas éditer vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé