Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme de Warnings assignment makes

exercice d'assurence

Sujet résolu
    11 octobre 2019 à 11:04:59

    je viens de corriger tout j'ai plus d'erreur ni de warning parcontre maintenant j'ai toujours pas reussie a corriger le faite que les if ne sont pas pris en compte. genre une fois que les valeurs sont rentrer ça ne run pas les if pour donner le resultat a l'utilisateur

    -
    Edité par VictorHuguet 11 octobre 2019 à 11:16:35

    • Partager sur Facebook
    • Partager sur Twitter
      11 octobre 2019 à 11:28:08

      Sois certain que l'ordinateur fait exactement ce que tu lui dis de faire.  Si il y a un if à exécuter, il l'exécute. Mais peut être que ce que tu lui dis de faire n'est pas exactement ce que tu voudrais qu'il fasse.

      Qui n'est peut être pas non plus ce qui t'a été demandé de faire.  Je ne vois pas la partie de ton code qui s'occupe de

       
      la compagnie propose un contrat de la 
      couleur immédiatement la plus avantageuse 
      s'il est entré dans la maison 
      depuis plus d 'un an.

      qui ne s'applique pas à ceux qui sont refusés, certainement.

      -
      Edité par michelbillaud 11 octobre 2019 à 11:31:31

      • Partager sur Facebook
      • Partager sur Twitter
        11 octobre 2019 à 11:30:18

        oui oui mais je le fais apres si le programme fonctionne pour les autres tkt.

        d'ailleurs la couleur la plus avantageuse c'est le bleu logiquement mais ya aucune conditions dessus, c'est normale? genre pour les autre couleur ya des condition pour les avoir mais la bleu aucune

        -
        Edité par VictorHuguet 11 octobre 2019 à 11:32:28

        • Partager sur Facebook
        • Partager sur Twitter
          11 octobre 2019 à 11:34:40

          Ah mais moi ça m'kt pas du tout. Ma vie ne dépend pas du bon fonctionnement de ton programme, heureusement.

          Bleu : c'est souvent une bonne idée d'essayer de comprendre l'énoncé avant de coder.

          • Partager sur Facebook
          • Partager sur Twitter
            11 octobre 2019 à 11:44:29

            imagine si ta vie dependais d'un programme d'un parfait inconnu mdr sa serais tres compliqué.

            j'ai compris que c'était du moins chers au plus chers d'apres l'enoncer. Donc d'apres moi le bleu est le tarif le moins chers et rouge le plus chers. mais ça n'explique en rien le pourquoi il n'y a pas de conditions ni d'accident, ni d'age sur le tarif bleu

            -
            Edité par VictorHuguet 11 octobre 2019 à 11:51:00

            • Partager sur Facebook
            • Partager sur Twitter
              11 octobre 2019 à 11:56:05

              Parce qu'on peut avoir le tarif bleu si

              • on a les conditions pour le vert
              • et qu'en plus on est assuré depuis longtemps.

              -
              Edité par michelbillaud 11 octobre 2019 à 11:56:39

              • Partager sur Facebook
              • Partager sur Twitter
                11 octobre 2019 à 12:03:25

                Ha donc il faut que je creer un autre if apres celui qui permet de voir si tu est client depuis moins 1 ans et de lui donné un tarif plus avantageux ?

                ps : c'est normale que les if ne sont pas pris en compte?

                voici mon code toujours en work in progress:

                /*
                 * assurance automobile.c
                 *
                 *  Created on: 10 oct. 2019
                 *      Author: VICTOR
                 */
                #include <stdio.h>
                #include <stdlib.h>
                
                /* Saisie au clavier des elements de l'assurance automobile*/
                int main(){
                int age_conducteur=0, duree_permis=0, nombre_accidents=0;
                
                
                printf("entrez votre age: \n");
                scanf("%d",&age_conducteur);
                printf("nombre d'année d'obtention du permis: \n");
                scanf("%d",&duree_permis);
                printf("nombre accident: \n");
                scanf("%d",&nombre_accidents);
                
                /*
                REGLE 1
                un conducteur de moins de 25 ans et titulaire du permis depuis moins de deux ans,
                - se voit attribuer le tarif rouge, si toutefois il n'a jamais été responsable d'accident.
                - Sinon, la compagnie refuse de l'assurer.
                */
                
                if (age_conducteur < 25 && duree_permis < 2){
                   // La règle 1 s'applique
                	if (nombre_accidents == 0) {
                		 printf("il recevra le tarif rouge\n");
                	}
                	else {
                		 printf("l'assurance refuse de l'assurer");
                	}
                }
                /*
                 REGLE 2
                 un conducteur de moins de 25 ans et titulaire du permis depuis plus de deux ans, ou de plus de 25 ans mais titulaire du permis depuis moins de deux ans,
                -	a le droit au tarif orange s'il n'a jamais provoqué d'accident, au tarif rouge pour un accident,
                -	sinon il est refusé.
                */
                if ((age_conducteur < 25 && duree_permis > 2) || (age_conducteur > 25 && duree_permis < 2)){
                   // La règle 2 s'applique
                	if (nombre_accidents == 0) {
                		printf("il recevra le tarif orange\n");
                	}
                	else if (nombre_accidents == 1){
                		printf("il recevra le tarif rouge\n");
                	}
                	else {
                		printf("l'assurance refuse de l'assurer\n");
                	}
                }
                /*
                 REGLE 3
                 un conducteur de plus de 25 ans titulaire du permis depuis plus de deux ans,
                -	 bénéficie du tarif vert s'il n'est à l'origine d'aucun accident et du tarif orange pour un accident, du tarif rouge pour deux accidents,
                -	et refusé au-delà
                 */
                
                if (age_conducteur > 25 && duree_permis > 2){
                   // La règle 3 s'applique
                	if (nombre_accidents == 0){
                		printf("il recevra le tarif vert\n");
                	}
                	else if (nombre_accidents == 1){
                		printf("il recevra le tarif orange\n");
                	}
                	else if (nombre_accidents == 2){
                		printf("il recevra le tarif rouge\n");
                		}
                	else {
                		printf("l'assurance refuse de l'assurer\n");
                		}
                }
                
                system("pause");
                return 0;
                }
                
                
                



                -
                Edité par VictorHuguet 11 octobre 2019 à 12:27:27

                • Partager sur Facebook
                • Partager sur Twitter
                  11 octobre 2019 à 17:55:24

                  VictorHuguet a écrit:

                  ps : c'est normale que les if ne sont pas pris en compte?

                  Comment ça, pas pris en compte ? ça donne quoi avec 18 ans, 1 an de permis et 0 accident ?

                  • Partager sur Facebook
                  • Partager sur Twitter
                    11 octobre 2019 à 18:14:04

                    bin apres avoir rentrer les valeur il execute pas les if genre le programme s'arrete

                    • Partager sur Facebook
                    • Partager sur Twitter
                      11 octobre 2019 à 18:29:26

                      Ca marche chez moi (tm), Enfin, ça affiche quelque chose, preuve que les ifs sont exécutés. Et il s'arrête aussi, à la fin.

                      entrez votre age: 
                      18
                      nombre d'année d'obtention du permis: 
                      1
                      nombre accident: 
                      0
                      il recevra le tarif rouge
                      

                      à part que

                      sh: 1: pause: not found
                      


                      Nettoyer projet, reconstruire, etc.

                      -
                      Edité par michelbillaud 11 octobre 2019 à 18:30:49

                      • Partager sur Facebook
                      • Partager sur Twitter
                        11 octobre 2019 à 19:34:40

                        oups oui ça fonctionne c'est juste moi qui est taper des valeur pas pris en compte :

                        genre 25 ans 2 année d'optention du permis 0 accident

                        voici le code finale  :

                        /*
                         * assurance automobile.c
                         *
                         *  Created on: 10 oct. 2019
                         *      Author: VICTOR
                         */
                        #include <stdio.h>
                        #include <stdlib.h>
                        
                        /* Saisie au clavier des elements de l'assurance automobile*/
                        int main(){
                        int age_conducteur=0, duree_permis=0, nombre_accidents=0, client= 0;
                        
                        /*
                        REGLE 0
                        la compagnie propose un contrat de la
                        couleur immédiatement la plus avantageuse
                        - s'il est entré dans la maison depuis plus d 'un an.
                        */
                        printf("veuiller nous informer du nombre d'annee que le client est entre dans la maison :\n");
                        scanf("%d",&client);
                        if (client > 1){
                        	printf("il revevra le tarif bleu");
                        }
                        else {
                        	printf("c'est un nouveau client dans ce cas\n");
                        	printf("entrez votre age: \n");
                        	scanf("%d",&age_conducteur);
                        	printf("nombre d'annee d'obtention du permis: \n");
                        	scanf("%d",&duree_permis);
                        	printf("nombre accident: \n");
                        	scanf("%d",&nombre_accidents);
                        
                        /*
                        REGLE 1
                        un conducteur de moins de 25 ans et titulaire du permis depuis moins de deux ans,
                        - se voit attribuer le tarif rouge, si toutefois il n'a jamais été responsable d'accident.
                        - Sinon, la compagnie refuse de l'assurer.
                        */
                        
                        	if (age_conducteur < 25 && duree_permis < 2){
                        		// La règle 1 s'applique
                        		if (nombre_accidents == 0) {
                        			printf("il recevra le tarif rouge\n");
                        		}
                        		else {
                        			printf("l'assurance refuse de l'assurer");
                        		}
                        }
                        /*
                         REGLE 2
                         un conducteur de moins de 25 ans et titulaire du permis depuis plus de deux ans, ou de plus de 25 ans mais titulaire du permis depuis moins de deux ans,
                        -	a le droit au tarif orange s'il n'a jamais provoqué d'accident, au tarif rouge pour un accident,
                        -	sinon il est refusé.
                        */
                        	if ((age_conducteur < 25 && duree_permis > 2) || (age_conducteur > 25 && duree_permis < 2)){
                           // La règle 2 s'applique
                        		if (nombre_accidents == 0) {
                        			printf("il recevra le tarif orange\n");
                        		}
                        		else if (nombre_accidents == 1){
                        			printf("il recevra le tarif rouge\n");
                        		}
                        		else {
                        			printf("l'assurance refuse de l'assurer\n");
                        	}
                        }
                        /*
                         REGLE 3
                         un conducteur de plus de 25 ans titulaire du permis depuis plus de deux ans,
                        -	 bénéficie du tarif vert s'il n'est à l'origine d'aucun accident et du tarif orange pour un accident, du tarif rouge pour deux accidents,
                        -	et refusé au-delà
                         */
                        
                        	if (age_conducteur > 25 && duree_permis > 2){
                        		// La règle 3 s'applique
                        		if (nombre_accidents == 0){
                        			printf("il recevra le tarif vert\n");
                        		}
                        		else if (nombre_accidents == 1){
                        			printf("il recevra le tarif orange\n");
                        		}
                        		else if (nombre_accidents == 2){
                        			printf("il recevra le tarif rouge\n");
                        			}
                        		else {
                        			printf("l'assurance refuse de l'assurer\n");
                        		}
                        }
                        /*
                         REGLE 4
                         tarif bleu :
                        - on a les conditions pour le vert
                        - et qu'en plus on est assuré depuis longtemps
                         */
                        
                        	if (age_conducteur > 25 && duree_permis > 2){
                        		// La règle 3 s'applique
                        		if (nombre_accidents == 0){
                        			printf("il recevra le tarif bleu\n");
                        		}
                        		else if (nombre_accidents == 1){
                        			printf("il recevra le tarif vert\n");
                        		}
                        		else if (nombre_accidents == 2){
                        			printf("il recevra le tarif orange\n");
                        		}
                        		else if (nombre_accidents == 3){
                        			printf("il recevra le tarif rouge\n");
                        		}
                        		else {
                        			printf("l'assurance refuse de l'assurer\n");
                        			}
                        	}
                        }
                        system("pause");
                        return 0;
                        }
                        
                        
                        




                        -
                        Edité par VictorHuguet 11 octobre 2019 à 20:05:38

                        • Partager sur Facebook
                        • Partager sur Twitter
                          11 octobre 2019 à 19:50:17

                          C'est sur que 25, c'est 25, pas plus, pas moins.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            11 octobre 2019 à 20:09:50

                            j'ai une derniere question comment je peut faire pour m'assurer que l'utilisateur puissent entrer uniquement un nombre ou plutot faire en sorte que des que c'est autre chose qu'un nombre ça relance le programme?

                            -
                            Edité par VictorHuguet 11 octobre 2019 à 20:30:15

                            • Partager sur Facebook
                            • Partager sur Twitter
                              11 octobre 2019 à 20:38:14

                              Tu n'empêcheras pas l'utilisateur de  taper ce qu'il veut.

                              Par contre ton  programme peut détecter que ce qui est tapé est incorrect. Scanf retourne le nombre d'éléments qui ont été lus correctement, ici 1 pour ceux de ton code.

                              Maintenant que tu sais qu'il suffit, techniquement, qu'on teste si scanf(....)==1, il te reste à definir ce qui doit se passer dans ce cas, en terme de dialogue avec l'utilisateur. Redemander ? Abandonner ? Revenir au début ?

                              -
                              Edité par michelbillaud 11 octobre 2019 à 20:39:31

                              • Partager sur Facebook
                              • Partager sur Twitter

                              probleme de Warnings assignment makes

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown