Accueil > > > CALCUL DE LA DURÉE D'UN TÉLÉCHARGEMENT SELON LE TYPE DE CONNEXION
CALCUL DE LA DURÉE D'UN TÉLÉCHARGEMENT SELON LE TYPE DE CONNEXION
Information sur la source
Description
J'ai developpé un petit programme C++ en mode console (DOS) qui permet de connaitre la durée d'un téléchargement.
Source
- #include <iostream> // pour cout, cin, ...
- #include <stdlib.h> // pour la fonction system()
- #include <conio.c> // Pour changer la couleur du texte
-
- // Déclaration des fonctions.
- int calculpds( int poidsmo );
- int calcultps(int poidsko, int tempssc, int debit );
-
- using namespace std;
-
- int main()
- {
- // déclaration des variables utilisées dans le programme
- int connexion;
- int indic;
- int debit;
- int poidsmo;
- int poidsko;
- int tempssc;
- int tempshr;
- int tempsrest;
- int test_conex;
-
- textcolor (12); //chagement de la couleur du texte
- cout << "Duree - telechargement\n\nCe programme va vous permettre de connaitre le temps"
- << " que mettra votre connexion Internet pour t\202l\202charger un fichier.";
- textcolor (3);
- cout <<"\n\n********************************************************************************\n
- ********************************************************************************";
-
- indic = 0; //la variable indic prend la valeur 0
-
- while(indic == 0) // Tant que indic vaut 0, on continue d'executer ce qu'il y a en dessous
- {
-
- textcolor (14); //couleur du texte
- cout << "\nQuel est votre type de connexion ? (56, 128, 512 ou 1024)\n";
-
- textcolor (95);
- cin >> connexion; // Demande du type de connexion dans la variable connexion
-
- textcolor (2);
-
- switch( connexion ) //utilisation de switch pour ranger les différents types de connexions
- {
- case 56 : system("cls"); cout << "\nVous disposez d'une connexion 56k.\n\n"; // on affiche le type de connexion choisi
- cout <<"Continuer (taper 1) ou redonner votre type de connexion (taper 2)?\n"; // on demande si c'est le bon type de connexion
- textcolor (95);
- cin >> test_conex; // variable pour demander si c'est le bon type de connexion
- if( test_conex == 1){ //si c'est le bon type de connexion, on sort de la boucle parce que indic vaut autre chose que 0.
- indic = 1;
- }
- else
- {
- indic = 0; // si c'est la mauvais type de connexion, on reste dans la boucle parce que indic vaut toujours 0 (on aurait pu ne pas mettre indic = 0; puisqu'il vaut déjà 0. Ceci permet de rester sur la boucle si l'utilisateur tape autre chose que 1.
- }
- debit = 4; // Dans la case 56k, on dit que le débit est égal à 4 (4ko/sec)
- break;
- case 128 : system("cls"); cout << "\nVous disposez d'une connection 128k.\n\n";
- cout <<"Continuer (taper 1) ou redonner votre type de connexion (taper 2)?\n";
- textcolor (95);
- cin >> test_conex;
- if( test_conex == 1){
- indic = 1;
- }
- else
- {
- indic = 0;
- }
- debit = 10;// Dans la case 128k, on dit que le débit est égal à 10 (10ko/sec)
- break;
- case 512 : system("cls"); cout << "\nVous disposez d'une connection 512k.\n\n";
- cout <<"Continuer (taper 1) ou redonner votre type de connexion (taper 2)?\n";
- textcolor (95);
- cin >> test_conex;
- if( test_conex == 1){
- indic = 1;
- }
- else
- {
- indic = 0;
- }
- debit = 37; break;
- case 1024: system("cls"); cout << "\nVous disposez d'une connexion 1024k.\n\n";
- cout <<"Continuer (taper 1) ou redonner votre type de connexion (taper 2)?\n";
- textcolor (95);
- cin >> test_conex;
- if( test_conex == 1){
- indic = 1;
- }
- else
- {
- indic = 0;
- }
- debit = 73; break;
- default : system("cls"); cout << "\nentr\202e erron\202e...\n"; // En cas d'erreur de la saisie de connexion, on affiche ceci. Si on donne à la variable connexion autre chose que le nom d'une des cases possible.
- }
- }
-
-
- system("cls"); // on vide l'écran avec la commande DOS cls
- textcolor (2); //change la couleur du texte
-
-
- /* On va dans la condition ci-dessous, afficher le type de connexion choisi (voir ci-dessus)
- Selon la valeur que la variable debit a pris, on affiche un certain texte.*/
-
- if(debit == 4){
- cout << "Type de connexion: 56k.\n";
- }
- else if(debit == 10){
- cout << "Type de connexion: 128k.\n";
- }
- else if(debit = 37){
- cout << "Type de connexion: 512k.\n";
- }
- else if(debit = 73){
- cout << "Type de connexion: 1024.\n";
- }
- else{
- cout << "Erreur lors de l'execution du programme.\n";
- system("exit");
- }
- textcolor (14); // change la couleur du texte
- cout <<"Donnez le poids total des donn\202es que vous voullez t\202l\202charger en Megaoctets.\n";
-
- textcolor (95); // change la couleur du texte
- cin >> poidsmo; // on demande le poids des données à télécharger (en Mo)
-
- system("cls"); // on vide l'écran avec la commande DOS cls
- textcolor (2); //change la couleur du texte
- cout <<"\nVous disposez d'une connexion "<< connexion <<"k et les donn\202es que vous d\202sirez t\202l\202charger pesent "<< poidsmo <<" Mo.\n\n\n";
-
- /*debut du pourcentage (le pourcentage est là pour faire plus joli mais il est tout à fait dispensable.
- Le code n'est pas de moi. Je l'ai trouvé dans une source sur cppfrance.com */
- int pcent;
- pcent = 0;
- re:
- cout<<" "<<pcent<<"% ... calcul ...";
- pcent++;
- Sleep(100);
- if(pcent==101)
- {
- cout<<"\n\n";
- goto fin;
- }
- if(pcent<10)
- cout<<"\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b";
- else
- if(pcent>9)
- cout<<"\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b";
- goto re;
- fin: //fin du pourcentage
-
-
- poidsko = calculpds( poidsmo ); // on utilise la fonction qui calcule le poids en ko gràce au poids en Mo
-
- tempshr = calcultps(poidsko, tempssc, debit ); // on calcule le temps de téléchargement en heure
-
-
- //Ci dessous, on va afficher le temps de téléchargement de différentes manière selon
- //le temps lui-même! Explication: si le temps est de moins de 1 heure, on va préfèrer afficher le temps en minutes!
- // et ci le temps est suppérieur à 24 heures, on va afficher le temps en jour et le reste en heure!
- if(tempshr <= 24 && tempshr >= 2){
- cout << "\nVotre t\202l\202chargement durera donc " << tempshr << " heures.\n\n";
- }
- else if(tempshr < 2 && tempshr > 1){
- tempsrest = tempshr * 60;
- cout << "\nVotre t\202l\202chargement durera donc " << tempsrest << " minutes.\n\n";
- }
- else if(tempshr > 24 && tempshr < 48){
- tempsrest = tempshr - 24;
- cout << "\nVotre t\202l\202chargement durera donc 1 jour et " << tempsrest << " heures.\n\n";
- }
- else if(tempshr > 48 && tempshr < 72){
- tempsrest = tempshr - 48;
- cout << "\nVotre t\202l\202chargement durera donc 2 jour et " << tempsrest << " heures.\n\n";
- }
- else if(tempshr > 72){
- tempsrest = tempshr - 72;
- cout << "\nVotre t\202l\202chargement durera donc 3 jour et " << tempsrest << " heures.\n\n";
- }
- system("pause");
- return 0;
- }
-
- int calculpds( int poidsmo ) //fonction de calcul du poids
- {
- return ( poidsmo * 1000 );
- }
-
- int calcultps(int poidsko, int tempssc, int debit ) //fonction de calcul du temps
- {
-
- tempssc = poidsko / debit;
-
- return ( tempssc / 3600 );
- }
-
-
- /* Merci à Bart pour m'avoir codé les fonctions et les cases.
- Au départ, je n'avais pas du tout compris ce que c'était! Et
- merci à tous ceux que je vais oublier et que je n'ai pas cité
- mais qui m'ont aidé à apprendre à programmer.
-
- Programme créé par Mingain@aol.com le 7/07/04*/
#include <iostream> // pour cout, cin, ...
#include <stdlib.h> // pour la fonction system()
#include <conio.c> // Pour changer la couleur du texte
// Déclaration des fonctions.
int calculpds( int poidsmo );
int calcultps(int poidsko, int tempssc, int debit );
using namespace std;
int main()
{
// déclaration des variables utilisées dans le programme
int connexion;
int indic;
int debit;
int poidsmo;
int poidsko;
int tempssc;
int tempshr;
int tempsrest;
int test_conex;
textcolor (12); //chagement de la couleur du texte
cout << "Duree - telechargement\n\nCe programme va vous permettre de connaitre le temps"
<< " que mettra votre connexion Internet pour t\202l\202charger un fichier.";
textcolor (3);
cout <<"\n\n********************************************************************************\n
********************************************************************************";
indic = 0; //la variable indic prend la valeur 0
while(indic == 0) // Tant que indic vaut 0, on continue d'executer ce qu'il y a en dessous
{
textcolor (14); //couleur du texte
cout << "\nQuel est votre type de connexion ? (56, 128, 512 ou 1024)\n";
textcolor (95);
cin >> connexion; // Demande du type de connexion dans la variable connexion
textcolor (2);
switch( connexion ) //utilisation de switch pour ranger les différents types de connexions
{
case 56 : system("cls"); cout << "\nVous disposez d'une connexion 56k.\n\n"; // on affiche le type de connexion choisi
cout <<"Continuer (taper 1) ou redonner votre type de connexion (taper 2)?\n"; // on demande si c'est le bon type de connexion
textcolor (95);
cin >> test_conex; // variable pour demander si c'est le bon type de connexion
if( test_conex == 1){ //si c'est le bon type de connexion, on sort de la boucle parce que indic vaut autre chose que 0.
indic = 1;
}
else
{
indic = 0; // si c'est la mauvais type de connexion, on reste dans la boucle parce que indic vaut toujours 0 (on aurait pu ne pas mettre indic = 0; puisqu'il vaut déjà 0. Ceci permet de rester sur la boucle si l'utilisateur tape autre chose que 1.
}
debit = 4; // Dans la case 56k, on dit que le débit est égal à 4 (4ko/sec)
break;
case 128 : system("cls"); cout << "\nVous disposez d'une connection 128k.\n\n";
cout <<"Continuer (taper 1) ou redonner votre type de connexion (taper 2)?\n";
textcolor (95);
cin >> test_conex;
if( test_conex == 1){
indic = 1;
}
else
{
indic = 0;
}
debit = 10;// Dans la case 128k, on dit que le débit est égal à 10 (10ko/sec)
break;
case 512 : system("cls"); cout << "\nVous disposez d'une connection 512k.\n\n";
cout <<"Continuer (taper 1) ou redonner votre type de connexion (taper 2)?\n";
textcolor (95);
cin >> test_conex;
if( test_conex == 1){
indic = 1;
}
else
{
indic = 0;
}
debit = 37; break;
case 1024: system("cls"); cout << "\nVous disposez d'une connexion 1024k.\n\n";
cout <<"Continuer (taper 1) ou redonner votre type de connexion (taper 2)?\n";
textcolor (95);
cin >> test_conex;
if( test_conex == 1){
indic = 1;
}
else
{
indic = 0;
}
debit = 73; break;
default : system("cls"); cout << "\nentr\202e erron\202e...\n"; // En cas d'erreur de la saisie de connexion, on affiche ceci. Si on donne à la variable connexion autre chose que le nom d'une des cases possible.
}
}
system("cls"); // on vide l'écran avec la commande DOS cls
textcolor (2); //change la couleur du texte
/* On va dans la condition ci-dessous, afficher le type de connexion choisi (voir ci-dessus)
Selon la valeur que la variable debit a pris, on affiche un certain texte.*/
if(debit == 4){
cout << "Type de connexion: 56k.\n";
}
else if(debit == 10){
cout << "Type de connexion: 128k.\n";
}
else if(debit = 37){
cout << "Type de connexion: 512k.\n";
}
else if(debit = 73){
cout << "Type de connexion: 1024.\n";
}
else{
cout << "Erreur lors de l'execution du programme.\n";
system("exit");
}
textcolor (14); // change la couleur du texte
cout <<"Donnez le poids total des donn\202es que vous voullez t\202l\202charger en Megaoctets.\n";
textcolor (95); // change la couleur du texte
cin >> poidsmo; // on demande le poids des données à télécharger (en Mo)
system("cls"); // on vide l'écran avec la commande DOS cls
textcolor (2); //change la couleur du texte
cout <<"\nVous disposez d'une connexion "<< connexion <<"k et les donn\202es que vous d\202sirez t\202l\202charger pesent "<< poidsmo <<" Mo.\n\n\n";
/*debut du pourcentage (le pourcentage est là pour faire plus joli mais il est tout à fait dispensable.
Le code n'est pas de moi. Je l'ai trouvé dans une source sur cppfrance.com */
int pcent;
pcent = 0;
re:
cout<<" "<<pcent<<"% ... calcul ...";
pcent++;
Sleep(100);
if(pcent==101)
{
cout<<"\n\n";
goto fin;
}
if(pcent<10)
cout<<"\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b";
else
if(pcent>9)
cout<<"\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b";
goto re;
fin: //fin du pourcentage
poidsko = calculpds( poidsmo ); // on utilise la fonction qui calcule le poids en ko gràce au poids en Mo
tempshr = calcultps(poidsko, tempssc, debit ); // on calcule le temps de téléchargement en heure
//Ci dessous, on va afficher le temps de téléchargement de différentes manière selon
//le temps lui-même! Explication: si le temps est de moins de 1 heure, on va préfèrer afficher le temps en minutes!
// et ci le temps est suppérieur à 24 heures, on va afficher le temps en jour et le reste en heure!
if(tempshr <= 24 && tempshr >= 2){
cout << "\nVotre t\202l\202chargement durera donc " << tempshr << " heures.\n\n";
}
else if(tempshr < 2 && tempshr > 1){
tempsrest = tempshr * 60;
cout << "\nVotre t\202l\202chargement durera donc " << tempsrest << " minutes.\n\n";
}
else if(tempshr > 24 && tempshr < 48){
tempsrest = tempshr - 24;
cout << "\nVotre t\202l\202chargement durera donc 1 jour et " << tempsrest << " heures.\n\n";
}
else if(tempshr > 48 && tempshr < 72){
tempsrest = tempshr - 48;
cout << "\nVotre t\202l\202chargement durera donc 2 jour et " << tempsrest << " heures.\n\n";
}
else if(tempshr > 72){
tempsrest = tempshr - 72;
cout << "\nVotre t\202l\202chargement durera donc 3 jour et " << tempsrest << " heures.\n\n";
}
system("pause");
return 0;
}
int calculpds( int poidsmo ) //fonction de calcul du poids
{
return ( poidsmo * 1000 );
}
int calcultps(int poidsko, int tempssc, int debit ) //fonction de calcul du temps
{
tempssc = poidsko / debit;
return ( tempssc / 3600 );
}
/* Merci à Bart pour m'avoir codé les fonctions et les cases.
Au départ, je n'avais pas du tout compris ce que c'était! Et
merci à tous ceux que je vais oublier et que je n'ai pas cité
mais qui m'ont aidé à apprendre à programmer.
Programme créé par Mingain@aol.com le 7/07/04*/
Conclusion
Le programme demande le type de connexion, la taille des données à télécharger et calcule le temps de téléchargement
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
WIN APIWIN API par omarino_007
Cliquez pour lire la suite par omarino_007
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
Comparez les prix

HTC Hero
Entre 550€ et 550€
|