Correction de switch variable comprise entre x et y

Résolu/Fermé
SIMO97 Messages postés 65 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 30 novembre 2013 - Modifié par SIMO97 le 18/03/2013 à 23:58
SIMO97 Messages postés 65 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 30 novembre 2013 - 19 mars 2013 à 09:49
Bonjour,
Je suis débutant en c et je veux que vous me corriger ce programme;merci d'avance:


/*Salaire*/
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
main(){
float impot,SB;
//SB=Salaire Brut impot=Impôts à payer
printf("Ce programme permet le calcul de votre salair brut\n");
printf("Veuillez entrez votre salaire\n");
scanf("%f",&SB);
//Les impôts à payer se calculent selon les règles suivants:
switch (SB){
case <1500 : {
impoy=SB;
printf("Les impôts à payer sont : %f",impot);
break;
}
case 1500<=SB<5000 : {
impot=SB*15/100;
printf("Les impôts à payer sont : %f",impot);
break;
}
default : {
impot=750+(40/100)(SB-3000)
printf("Les impôts à payer sont : %f",impot)
}
}
getch;
}
A voir également:

3 réponses

walidovich_85 Messages postés 608 Date d'inscription mardi 12 janvier 2010 Statut Membre Dernière intervention 25 octobre 2015 73
19 mars 2013 à 00:18
Bonsoir,

1- l'instruction "switch" ne peut pas être utilisée avec les float.
tu peux comme même l'utiliser avec des Integer ou des Caracter.

2- les "case" sont des "constant", alors elles doivent être des valeurs (1, 2, 'a', 'b'...) mais pas des intervalles.

3- quelque point-virgule sont à ajouter pour que le programme fonctionne bien.

bonne chance
1
SIMO97 Messages postés 65 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 30 novembre 2013 5
19 mars 2013 à 00:27
Mrc bcp walidovich_85 ce m'était vraiment très utile,
mais est-ce que tu peux m'aider à résoudre cet exercice:
Ecrivez un programme 'impots' qui, à partir du salaire brut d'un employé détérmine l'impôt à payer sachant que les règles de calcul des impots sont les suivants:
//SB=Salaire Brut i=impôts à payer
==========================>>>>>>
SB<1500 =================> i=0
1500<=SB<3000 ===========> i=15%*SB
3000<=SB<5000 ===========> i=450+(30%*SB)
5000<SB =================> i=750+(40%*SB)
Mrc d'avance
0
walidovich_85 Messages postés 608 Date d'inscription mardi 12 janvier 2010 Statut Membre Dernière intervention 25 octobre 2015 73
19 mars 2013 à 00:44
Bonsoir,

c'est parce que t'es venu déja avec un script que je vais te proposer un autre.

#include<stdio.h>
#include<conio.h>

int main(){
float impot, SB;
//SB=Salaire Brut impot=Impôts à payer
printf("Ce programme permet le calcul de votre salair brut\n");
printf("Veuillez entrez votre salaire\n");
scanf("%f",&SB);
//Les impôts à payer se calculent selon les règles suivants:
if(SB<1500)
{
impot=0;
}
else if(SB>=1500 && SB<3000)
{
impot=(15*SB)/100;
}else if(SB>=3000 && SB<5000)
{
impot= 450 +(30*SB)/100;
}
else if(SB>=5000)
{
impot= 750 +(40*SB)/100;
}
printf("\nVous impots = %f",impot);
getch();
return 0;
}

le return 0 à la fin peut etre non nécessaire (dépend de ton IDE).

Bonne chance
1
SIMO97 Messages postés 65 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 30 novembre 2013 5
19 mars 2013 à 00:52
Merci infiniment je te remerci beaucoup ce m'a vraiment aidé
Mrc bcp mon ami
0
walidovich_85 Messages postés 608 Date d'inscription mardi 12 janvier 2010 Statut Membre Dernière intervention 25 octobre 2015 73
Modifié par walidovich_85 le 19/03/2013 à 00:55
avec plaisir.
tu peut marquer le sujet comme résolu, pour une meilleur lisibilité pour les autres internautes.
0
SIMO97 Messages postés 65 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 30 novembre 2013 5
Modifié par SIMO97 le 19/03/2013 à 00:56
Comment avoir juste 2 nombres après la virgule SVP
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
19 mars 2013 à 07:16
Walidovich_85,
Il n'y a pas besoin de tester la borne inférieue puisque tu es dans un else...
De plus le return 0 ne dépend absolument pas de l'IDE. Il est obligatoire (sauf dans la dernière norme du C).
En revanche getch () n'est pas standard.
0
SIMO97 Messages postés 65 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 30 novembre 2013 5
19 mars 2013 à 09:49
Mrc bcp pour ton aide
0
walidovich_85 Messages postés 608 Date d'inscription mardi 12 janvier 2010 Statut Membre Dernière intervention 25 octobre 2015 73
19 mars 2013 à 01:01
printf("\nVous impots = %.2f",impot);
1
SIMO97 Messages postés 65 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 30 novembre 2013 5
19 mars 2013 à 01:04
Mrc bcp mon ami
0