Probleme structure fonction Javascript
math_lo
-
JooS Messages postés 2705 Statut Membre -
JooS Messages postés 2705 Statut Membre -
Bonjour,
Je débute en Javascript (vraiment un petit débutant :p) et je suis le cours du Site du zerO. Bref, je dois maintenant réaliser un TP ou je demande une valeur à l'utilisateur comprise entre 0 et 999 et le site doit retourner la valeur sous forme de nombre...
J'ai reussi pour les nombres de 0 à 100. il faut maintenant juste ajouter les centaine devant et je voudrai créer une fonction pour pas tout recopier à chaque fois.
avant de creer la fonction, voila mon code :
------------------
------------------
------------------
function myFunction_unite(arg) { // Fonction pour les unités
switch (arg) {
case 1:
unite = "Un";
break;
case 2:
unite = "Deux";
break;
case 3:
unite = "Trois";
break;
case 4:
unite = "Quatre";
break;
case 5:
unite = "Cinq";
break;
case 6:
unite = "Six";
break;
case 7:
unite = "Sept";
break;
case 8:
unite = "Huit";
break;
case 9:
unite = "Neuf";
break;
case 0:
unite = "Zero";
break;
}
return(unite); // Fin de la Fonction unite
}
function myFunction_onze(arg) { // Fonction pour les chiffres de 11 à 19
switch (arg) {
case 1:
unite = "Onze";
break;
case 2:
unite = "Douze";
break;
case 3:
unite = "Treize";
break;
case 4:
unite = "Quatorze";
break;
case 5:
unite = "Quinze";
break;
case 6:
unite = "Seize";
break;
case 7:
unite = "Dix-Sept";
break;
case 8:
unite = "Dix-Huit";
break;
case 9:
unite = "Dix-Neuf";
break;
}
return(unite); // Fin de cette fonction
}
function myFunction_centaine(arg) { // Fonction pour les centaine uniquement ex: 100, 200...
switch (arg) {
case 1:
unite = "Cent";
break;
case 2:
unite = "Deux-Cents";
break;
case 3:
unite = "Trois-Cents";
break;
case 4:
unite = "Quatre-Cents";
break;
case 5:
unite = "Cinq-Cents";
break;
case 6:
unite = "Six-Cents";
break;
case 7:
unite = "Sept-Cents";
break;
case 8:
unite = "Huit-Cents";
break;
case 9:
unite = "Neuf-Cents";
break;
}
return(unite); // Fin de cette fonction
}
var final, unite, number, reste_100, reste_10, lenght, dizaine, centaine, chiffre_dizaine, chiffre_unite, chiffre_centaine;
var number = parseInt(prompt("Entrez votre nombre compris entre 0 et 999"), 10);
reste_100 = number % 100;
reste_10 = number % 10;
if (number === reste_100 && number === reste_10) {
lenght = 10 - 9;
} else if (number === reste_100 && number != reste_10) {
lenght = 10 - 8;
} else {
lenght = 10 - 7;
}
alert ("Votre nombre converti en lettres donne :"); // Demande le nombre et calcul de sa longueur
if (lenght === 1) { // Si nombre compris entre 0 et 9
alert(myFunction_u(number));
}
if (lenght === 2) { // si nombre compris entre 10 et 99
dizaine = number - reste_10;
chiffre_dizaine = dizaine / 10;
chiffre_unite = number - dizaine;
switch (chiffre_dizaine) {
case 1 :
alert(myFunction_onze(chiffre_unite));
break;
case 2:
if (chiffre_unite === 0) {
alert('Vingt');
} else if (chiffre_unite === 1) {
alert("Vingt-Et-Un");
} else {
alert("Vingt-" + myFunction_unite(chiffre_unite));
}
break;
case 3:
if (chiffre_unite === 0) {
alert('Trente');
} else if (chiffre_unite === 1) {
alert("Trente-Et-Un");
} else {
alert("Trente-" + myFunction_unite(chiffre_unite));
}
break;
case 4:
if (chiffre_unite === 0) {
alert('Quarante');
} else if (chiffre_unite === 1) {
alert("Quarante-Et-Un");
} else {
alert("Quarante-" + myFunction_unite(chiffre_unite));
}
break;
case 5:
if (chiffre_unite === 0) {
alert('Cinquante');
} else if (chiffre_unite === 1) {
alert("Cinquante-Et-Un");
} else {
alert("Cinquante-" + myFunction_unite(chiffre_unite));
}
break;
case 6:
if (chiffre_unite === 0) {
alert('Soixante');
} else if (chiffre_unite === 1) {
alert("Soixante-Et-Un");
} else {
alert("Soixante-" + myFunction_unite(chiffre_unite));
}
break;
case 7:
if (chiffre_unite === 0) {
alert('Soixante-Dix');
} else if (chiffre_unite === 1) {
alert("Soixante-Et-Onze");
} else {
alert("Soixante-" + myFunction_onze(chiffre_unite));
}
break;
case 8:
if (chiffre_unite === 0) {
alert('Soixante-Dix');
} else if (chiffre_unite === 1) {
alert("Soixante-Et-Onze");
} else {
alert("Soixante-" + myFunction_onze(chiffre_unite));
}
break;
case 9:
if (chiffre_unite === 0) {
alert('Quatre-Vingts');
} else {
alert("Quatre-Vingt-" + myFunction_onze(chiffre_unite));
}
break;
}
}
if (lenght === 3) { // pour tout les nombre avec des centaines
centaine = number - (reste_100);
chiffre_centaine = centaine / 100;
dizaine = number - (reste_10 + centaine);
chiffre_dizaine = dizaine / 10;
chiffre_unite = number - (centaine + dizaine);
if (chiffre_unite === 0 || chiffre_dizaine === 0) { // juste des centaines entieres 100, 200
alert(myFunction_centaine(chiffre_centaine));
}
else if(chiffre_unite !== 0 || chiffre_dizaine === 0) {
alert(myFunction_centaine(chiffre_centaine) + myFunction_onze(chiffre_unite)); // nombre de type 202, 505, 503....
} else { // la je voudrai mettre les nombres manquants exemple 333
}
}
---------------------
---------------------
---------------------
Comment creer la fonction qui me manque?!!
merci d'avance
Je débute en Javascript (vraiment un petit débutant :p) et je suis le cours du Site du zerO. Bref, je dois maintenant réaliser un TP ou je demande une valeur à l'utilisateur comprise entre 0 et 999 et le site doit retourner la valeur sous forme de nombre...
J'ai reussi pour les nombres de 0 à 100. il faut maintenant juste ajouter les centaine devant et je voudrai créer une fonction pour pas tout recopier à chaque fois.
avant de creer la fonction, voila mon code :
------------------
------------------
------------------
function myFunction_unite(arg) { // Fonction pour les unités
switch (arg) {
case 1:
unite = "Un";
break;
case 2:
unite = "Deux";
break;
case 3:
unite = "Trois";
break;
case 4:
unite = "Quatre";
break;
case 5:
unite = "Cinq";
break;
case 6:
unite = "Six";
break;
case 7:
unite = "Sept";
break;
case 8:
unite = "Huit";
break;
case 9:
unite = "Neuf";
break;
case 0:
unite = "Zero";
break;
}
return(unite); // Fin de la Fonction unite
}
function myFunction_onze(arg) { // Fonction pour les chiffres de 11 à 19
switch (arg) {
case 1:
unite = "Onze";
break;
case 2:
unite = "Douze";
break;
case 3:
unite = "Treize";
break;
case 4:
unite = "Quatorze";
break;
case 5:
unite = "Quinze";
break;
case 6:
unite = "Seize";
break;
case 7:
unite = "Dix-Sept";
break;
case 8:
unite = "Dix-Huit";
break;
case 9:
unite = "Dix-Neuf";
break;
}
return(unite); // Fin de cette fonction
}
function myFunction_centaine(arg) { // Fonction pour les centaine uniquement ex: 100, 200...
switch (arg) {
case 1:
unite = "Cent";
break;
case 2:
unite = "Deux-Cents";
break;
case 3:
unite = "Trois-Cents";
break;
case 4:
unite = "Quatre-Cents";
break;
case 5:
unite = "Cinq-Cents";
break;
case 6:
unite = "Six-Cents";
break;
case 7:
unite = "Sept-Cents";
break;
case 8:
unite = "Huit-Cents";
break;
case 9:
unite = "Neuf-Cents";
break;
}
return(unite); // Fin de cette fonction
}
var final, unite, number, reste_100, reste_10, lenght, dizaine, centaine, chiffre_dizaine, chiffre_unite, chiffre_centaine;
var number = parseInt(prompt("Entrez votre nombre compris entre 0 et 999"), 10);
reste_100 = number % 100;
reste_10 = number % 10;
if (number === reste_100 && number === reste_10) {
lenght = 10 - 9;
} else if (number === reste_100 && number != reste_10) {
lenght = 10 - 8;
} else {
lenght = 10 - 7;
}
alert ("Votre nombre converti en lettres donne :"); // Demande le nombre et calcul de sa longueur
if (lenght === 1) { // Si nombre compris entre 0 et 9
alert(myFunction_u(number));
}
if (lenght === 2) { // si nombre compris entre 10 et 99
dizaine = number - reste_10;
chiffre_dizaine = dizaine / 10;
chiffre_unite = number - dizaine;
switch (chiffre_dizaine) {
case 1 :
alert(myFunction_onze(chiffre_unite));
break;
case 2:
if (chiffre_unite === 0) {
alert('Vingt');
} else if (chiffre_unite === 1) {
alert("Vingt-Et-Un");
} else {
alert("Vingt-" + myFunction_unite(chiffre_unite));
}
break;
case 3:
if (chiffre_unite === 0) {
alert('Trente');
} else if (chiffre_unite === 1) {
alert("Trente-Et-Un");
} else {
alert("Trente-" + myFunction_unite(chiffre_unite));
}
break;
case 4:
if (chiffre_unite === 0) {
alert('Quarante');
} else if (chiffre_unite === 1) {
alert("Quarante-Et-Un");
} else {
alert("Quarante-" + myFunction_unite(chiffre_unite));
}
break;
case 5:
if (chiffre_unite === 0) {
alert('Cinquante');
} else if (chiffre_unite === 1) {
alert("Cinquante-Et-Un");
} else {
alert("Cinquante-" + myFunction_unite(chiffre_unite));
}
break;
case 6:
if (chiffre_unite === 0) {
alert('Soixante');
} else if (chiffre_unite === 1) {
alert("Soixante-Et-Un");
} else {
alert("Soixante-" + myFunction_unite(chiffre_unite));
}
break;
case 7:
if (chiffre_unite === 0) {
alert('Soixante-Dix');
} else if (chiffre_unite === 1) {
alert("Soixante-Et-Onze");
} else {
alert("Soixante-" + myFunction_onze(chiffre_unite));
}
break;
case 8:
if (chiffre_unite === 0) {
alert('Soixante-Dix');
} else if (chiffre_unite === 1) {
alert("Soixante-Et-Onze");
} else {
alert("Soixante-" + myFunction_onze(chiffre_unite));
}
break;
case 9:
if (chiffre_unite === 0) {
alert('Quatre-Vingts');
} else {
alert("Quatre-Vingt-" + myFunction_onze(chiffre_unite));
}
break;
}
}
if (lenght === 3) { // pour tout les nombre avec des centaines
centaine = number - (reste_100);
chiffre_centaine = centaine / 100;
dizaine = number - (reste_10 + centaine);
chiffre_dizaine = dizaine / 10;
chiffre_unite = number - (centaine + dizaine);
if (chiffre_unite === 0 || chiffre_dizaine === 0) { // juste des centaines entieres 100, 200
alert(myFunction_centaine(chiffre_centaine));
}
else if(chiffre_unite !== 0 || chiffre_dizaine === 0) {
alert(myFunction_centaine(chiffre_centaine) + myFunction_onze(chiffre_unite)); // nombre de type 202, 505, 503....
} else { // la je voudrai mettre les nombres manquants exemple 333
}
}
---------------------
---------------------
---------------------
Comment creer la fonction qui me manque?!!
merci d'avance
A voir également:
- Probleme structure fonction Javascript
- Fonction si et - Guide
- Logiciel calcul structure bois gratuit - Télécharger - Architecture & Déco
- Fonction miroir - Guide
- Telecharger javascript - Télécharger - Langages
- Fonction moyenne excel - Guide
1 réponse
Salut ...
A revoir ...
function int_to_string(arg) { // Fonction pour les unités
switch (arg) {
case 1: unite = "Un"; break;
case 2: unite = "Deux"; break;
case 3: unite = "Trois"; break;
case 4: unite = "Quatre"; break;
case 5: unite = "Cinq"; break;
case 6: unite = "Six"; break;
case 7: unite = "Sept"; break;
case 8: unite = "Huit"; break;
case 9: unite = "Neuf"; break;
case 0: unite = "Zero"; break;
case 11: unite = "Onze"; break;
case 12: unite = "Douze"; break;
case 13: unite = "Treize"; break;
case 14: unite = "Quatorze"; break;
case 15: unite = "Quinze"; break;
case 16: unite = "Seize"; break;
case 17: unite = "Dix-Sept"; break;
case 18: unite = "Dix-Huit"; break;
case 19: unite = "Dix-Neuf"; break;
case 20: unite = "Vingt"; break;
case 30: unite = "Trente"; break;
case 40: unite = "Quarente"; break;
case 50: unite = "Cinquante"; break;
case 60: unite = "Soixante"; break;
case 80: unite = "Quatre-vingt"; break;
case 100: unite = "Cent"; break;
default: return false;
}
return(unite);
}
//--------------------------------------------------------------
function int2_to_string(col10, col1) {
var first, second;
if(col10 == '0') return int_to_string(parseInt(col1,10));
else if(col10 == '7') {
first = int_to_string(parseInt(60,10));
second = int_to_string(parseInt(1+col1,10));
if(col1 == '1') return first+' et '+second;
return first+'-'+second;
}
else if(col10 == '9') {
first = int_to_string(parseInt(80,10));
second = int_to_string(parseInt(1+col1,10));
if(col1 == '1') return first+' et '+second;
return first+'-'+second;
}
else {
first = int_to_string(parseInt(col10+0,10));
second = int_to_string(parseInt(col1,10));
if(col1 == '1') return first+' et '+second;
return first+'-'+second;
}
}
//--------------------------------------------------------------
function convertNumber(number) {
var col1, col10, col100;
number = parseInt(number,10);
//-----------------------------------------
var word = int_to_string(number);
if(word) return word;
//-----------------------------------------
var numberL = number+'';
if(numberL.length == 2) {
col10 = numberL[0]; // 90
col1 = numberL[1]; // 8
return int2_to_string(col10, col1);
}
else if(numberL.length == 3) { //986
col100 = numberL[0]; // 900
col10 = numberL[1]; // 80
col1 = numberL[2]; // 6
if(col100 == '1') {
return 'Cent '+int2_to_string(col10, col1);
}
else {
return int_to_string(parseInt(col100,10))+' Cents '+int2_to_string(col10, col1);
}
}
else alert(numberL.length);
}
//--------------------------------------------------------------
alert(convertNumber(prompt('Entrez un nombre : ')));
A revoir ...