comment faire un pseudo loading sous dos......

comment faire un pseudo loading sous dos...... - C++ - Programmation

Marsh Posté le 22-01-2003 à 13:59:04    

j ai finit mon prog sur les nombres palindrome, j en suis fier , j ai palier le problem des grans entierss en utilisant des strings, c certe plus lent mais sa marche  :D .
le problem ce qu epour 196 par exemple qui reste une egnime mathematique, vu que son palindronme n est toujours pas trouver.
comment faire une sorte de chargement en cout << " "
genre une etoile qui tourne, mia je ne vois pas trop comment, si vous avez une idee  :jap:  
 

Code :
  1. #include <iostream.h>
  2. #include <string>
  3. #include <fstream>
  4. #include <cstdlib>
  5. bool palindrome (string a) {
  6. int len= a.length();
  7. for(int i=0; i<len;i++){
  8. if((a[i]*1)!=(a[len-i-1]*1)) { return false; }
  9. else continue;
  10. }
  11. return true;
  12. }
  13. string inversestr (string source,string target) {
  14.        for(int i=0; i<(source.length());i++){
  15.        target[i]=source[(source.length())-i-1]; }
  16.        return target;
  17. }
  18. string process(string input) {
  19. string resultf,inverse;
  20. int tempa,tempinverse,tempresult;
  21. int temp=0;
  22. int len = input.length();
  23. inverse=input;
  24. string result(len,' ');
  25. resultf=result;
  26. inverse=inversestr(input,inverse);
  27. for(int i=0; i<len;i++)   {
  28. //cout << "|" <<"\n";
  29. tempa = (input[i]*1 -48);
  30. tempinverse = (inverse[i]*1 -48);
  31. if (tempa+tempinverse+temp >9) {
  32.      tempresult= (tempa+tempinverse+temp)%10;
  33.      temp = 1;
  34.      result[i]=(tempresult+48);
  35. }
  36. else {
  37.      tempresult = (tempa+tempinverse+temp);
  38.      result[i]=(tempresult+48);
  39.      temp=0;
  40. }
  41. }
  42. if (temp==1){
  43. result = result + '1';
  44. resultf = resultf + ' ';
  45. }
  46. resultf =inversestr(result,resultf);
  47. return resultf;
  48. }
  49. int main()
  50. {
  51. string a,result,input,resultf;
  52. char quit;
  53. do{
  54. cout << "Enter number  :\n";
  55. cin>>input ;
  56. int degree=0;
  57. do {
  58. //if(palindrome(input)==true) {break; }
  59. input=process(input);
  60. degree++;
  61. if(degree > 10000) {break; }
  62. }
  63. while(palindrome(input)!=true);
  64. cout << "result          : " <<input << "\n";
  65. cout << "degree          : " << degree << "\n";
  66. cout << "quit ? \n" << "\n";
  67. cin >> quit;
  68. }
  69. while (quit != 'y');
  70. }


 

Reply

Marsh Posté le 22-01-2003 à 13:59:04   

Reply

Marsh Posté le 22-01-2003 à 14:03:17    

tu affiches ca en changeant a chaque passage :
 
"\b|"
"\b/"
"\b-"
"\b\\"

Reply

Marsh Posté le 22-01-2003 à 14:04:25    


 
\o/ _o/ \o_ _o_ ^o^


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 22-01-2003 à 14:05:49    

kadreg a écrit :


\o/ _o/ \o_ _o_ ^o^  


\o/ ^o^ |o_ /o\

Reply

Marsh Posté le 22-01-2003 à 14:06:34    

Code :
  1. <o>
  2. |
  3. / \


Message édité par Profil supprimé le 22-01-2003 à 14:06:54
Reply

Marsh Posté le 22-01-2003 à 14:07:21    

Reply

Marsh Posté le 22-01-2003 à 15:48:06    

lorill a écrit :

tu affiches ca en changeant a chaque passage :
 
"\b|"
"\b/"
"\b-"
"\b\\"


cool sa marche, un peu trop rapide mais bon, a quoi sert le \b donc ?

Reply

Marsh Posté le 22-01-2003 à 15:49:28    

COULIX a écrit :


cool sa marche, un peu trop rapide mais bon, a quoi sert le \b donc ?  


 
\b c'est backspace, donc ca simule la petite touche au dessus d'entrée... pratique. Pour le trop rapide, suffit de pas changer a chaque itération, mais tous les n passages  [:sinclaire]

Reply

Marsh Posté le 22-01-2003 à 16:09:23    

lorill a écrit :


 
\b c'est backspace, donc ca simule la petite touche au dessus d'entrée... pratique. Pour le trop rapide, suffit de pas changer a chaque itération, mais tous les n passages  [:sinclaire]  


oui mais s arisque pas trop d alourdir le calcul du prog ?

Reply

Marsh Posté le 22-01-2003 à 16:29:01    

je viens d efair ele test , un process a 1000 degre prend 1 s sans 30 s avec, au chiotte l etoile

Reply

Marsh Posté le 22-01-2003 à 16:29:01   

Reply

Marsh Posté le 22-01-2003 à 16:33:53    

les const & poru les paramètres non-modifiés, c'es mieux!

Reply

Marsh Posté le 22-01-2003 à 16:55:21    

puisje implementer une fuction qui me doone le temp qui lui  afallu pour finir la boucle, et afficher sa en seconde ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed