son dans C++ désolé :(Je ne sais pas c
c'est un code logique très simple pour Minde simple: D im un begineer aussi, je nai testé ce prog désolé si quelque chose va mal, mais exactement sur un même principe fonctionnait mon analyseur et cela a fonctionné très bien, donc c'est une vraie méthode pas très efficace mais ... n'utilisez pas ce programme tout de suite, comprenez-en la logique, cela vous aidera beaucoup, la copie qui ne vous donnera rien ... les tuteurs d'analyseur sont si rares ....
int x = 0; char ch = 'r'; // j'ai utilisé cette équation pour éviter sur le premier ckeck du ch. il doit être rempli par quelque chose quand le programme commence. char bigch [10]; int numéro de contrôle = 0;
float firstnumber = 0; float secondnumber = 0; résultat du flotteur = 0;
void clearar (char debibar [10], int xar) // cette fonction devient bigch comme référence ce qui veut dire que les changements effectués ici affecteront directement le bigch lui-même. Cette fonction obtient la longueur réelle du tableau et place les espaces dans chaque élément de bigch pour mettre à zéro les nombres. nous devons effacer bigch de tous les numéros précédents. En bas, tu verras pourquoi j'avais besoin de ça. 'xar' est le x de la fonction principale. C'est ici pour dire à notre nettoyeur le la vraie longueur des éléments bigar remplis. {for (int i = 0; i}
}
int main() { < -------------------// ici vous ajoutez des commandes d'ouverture et de lecture de fichier while (! myfile.eof()) // alors que la fin du fichier txt n'a pas été atteinte { ch = monfichier.get(); // récupère chaque lettre dans ch, et faire un curseur avancer dans le fichier txt pour plus de lecture get() le curseur redirige automatiquement
if (ch!= " ") //i used space as an indicator where one number ends
//so while space havent been reahced, read letters.
{ bigch[x] = ch; //get read letter into bigch array.
x++; //icrement bigch array step
}
else
if(ch == " ") //if space is reached that means one number has ended and
{ im trying to set a flag at that moment. it will be used further.
checknumber++; the flag is simple number. first space will set checknumber to 1
second space will set it to 2. thats all.
}
if (checknumber == 1) //if our checknumber is 1, wich means that reading
of first number is done, lets make one whole float
from that bigch array.
{firstnumber = atof (bigch); // Ici, nous obtenons bigch, atof (array to float) commande convertit tableau de bigch en un nombre entier flottant.
clearar(bigch,x); //here we send bigch and its element step into function where
bigch gets cleaned because we dont want some ghost numbers in it.
abviously clearar function cleans bigch int main function aswell,
not only in it's teritory. its a global cleaning :)
}
else if (checknumber ==2) //here we do the same but if flag is 2 this means that two spaces
had been passed and its time to convert bigch into secondnumber.
{ secondnumber = atof(bigch); //same method of converting array into float (it hates other
not number letters, i mean if its a number its fine. if in your text
was 'a' or 's' in that case atof will panic hehe..)
clearar(bigch,x); //same thing, we send bigch to cleaner function to kill any numbers
it, we get one space letter (" ") into each element of bigch.
}
numéro de contrôle = 0; si les deux nombres avaient été lus et convertis. nous devons réinitialiser le signaleur d'espace . et commencez à compter le formulaire 0; pour les numéros de paires suivantes.
résultat = premier numéro + second numéro; bien ici tout est clair. } }
Est-ce pour les devoirs? –