Rechercher : dans
Par :

Calcule d'un adresse IP en C++

Dernière réponse le 3 jui 2009 à 10:37:53 gaylord, le 3 jui 2009 à 09:37:54 
 Signaler ce message aux modérateurs

Bonjour,

j'ai créer un petit programme avec DEVCPP vraiment banal pour les pros du langage C++, chose que je ne suis pas car mes connaissances en C++ sont très limités.
Le petit programme permet de calculer une adresse IP en fonction d'un matériel donnée et d'un numéro de série.
Mon premier problème est que lorsque je tape autre chose qu'un chiffre ex: je tape "a" mon programme arrive à mes calculer une adresse, donc ce que j'aimerai c'est que mes entrées tapées au clavier soit uniquement des chiffres entier positif.
Deuxième problème est que j'aimerai affiché le résultat sous la forme IP = 50.X.Y.Z ; 50 reste fixe, X correspond à une valeur à rentrer en fonction d'une liste de matériel, Y et Z sont des variables qui sont calculé en fonction de la variable ID correspondant au n° de série du matériel
Troisième problème est que lorsque j'exécute mon programme une fois le résultat affiché ,j'appuie sur n'importe quelle touche et la fenêtre ce ferme, je ne connais la commande qui me permet de retourner au début.
Merci pour les conseil que vous pourrez m'apporter

Voici l'architecture de mon programme:

//
// Calcule de L'adresse IP
// IP = 50.X.Y.Z
//
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;

int main(int nNumberofArgs, char* pszArgs[])

{


// saisie du nombre X et ID
int X,ID;
cout << "Entrez la valeur de X en fonction du matèriel choisis : ";
cin >> X;

cout << "Entrez la valeur de l'ID : ";
cin >> ID;

// calcul de Y
int Y;
Y = ((ID-1) / 254) + 1;

// Calcul de Z
int Z;
Z = ID - ( 254 * (Y - 1));



// Affiche les valeurs de X,Y,Z
cout << " la valeur de X : ";
cout << X << endl;
cout << " la valeur de Y : ";
cout << Y << endl;
cout << " la valeur de Z : ";
cout << Z << endl;



// avant de terminer le programme, attend le signal de
// l'utilisateur pour lui permettre de voir le résultat
system("PAUSE");
return 0 ;


}

Configuration: Windows XP
Firefox 3.0.11

Meilleures réponses pour « Calcule d'un adresse IP en C++ » dans :
Comment connaitre son adresse IP ? VoirLes quelques commandes ci-dessous vous permettront de trouver l'adresse IP de votre ordinateur. Connaître son adresse IP Sous Windows 2000 / Windows XP / Windows Vista Sous Windows 95 / Windows 98 Sous Linux Pourquoi certains sites...
Comment changer son adresse IP ? VoirDeux cas possibles Connaître son IP Changer d'IP (cas d'une IP dynamique) Solution alternative : masquer son IP L'adresse IP est une série de chiffres, soit: L'adresse IP que vous utilisez pour vous connecter au routeur (Réseau...
[PHP] Comment afficher l'adresse IP d'un visiteur ? VoirPour afficher l'adresse IP d'un visiteur sur votre site, insérez ce code dans la zone où vous voulez qu'elle s'affiche.
Adresse IP VoirSommaire Qu'est-ce qu'une adresse IP Déchiffrement d'une adresse IP Adresses particulières Les classes de réseaux (obsolète) Classe A Classe B Classe C Attribution des adresses IP Adresses IP réservées Masques de sous-réseau Interet...
Usurpation d'adresse IP (Mystification / Spoofing) VoirL'usurpation d'adresse IP L'« usurpation d'adresse IP » (également appelé mystification ou en anglais spoofing IP) est une technique consistant à remplacer l'adresse IP de l'expéditeur d'un paquet IP par l'adresse IP d'une autre machine. Cette...

1

Nabla's, le 3 jui 2009 à 09:50:14

Salut.

pour le 3: ce qui fait quitter le programme, c'est le return à la fin du code....

si tu mets tout ton code dans une boucle

char reponse[20];
do {

//code
//..

cout<<"voulez continuer ?"<<endl;
cin>>reponse
}while (reponse[0]='o' ||reponse[0]='O' )//c'est un exemple


pour afficher le resulmtait sous la forme 50.x.y.z


// Affiche les valeurs de 50.X,Y,Z
cout << "50."<< X <<"."<< Y <<"." <<Z<< endl;

Répondre à Nabla's

2

gaylord, le 3 jui 2009 à 10:14:17

Merci pour ce début de réponse c'est cool de ta part!

Gaylord

Répondre à gaylord

3

 Nabla's, le 3 jui 2009 à 10:37:53

Pour verifier les nombres rentrés par l'utilisateur, je vois pas pourqoui il n'y a pas d'erreur quand tu mets des lettres... (peut etre qu'avec A il pense que c'est de l'hexa, mais ca me semble bisare...essayes avec z )

la solutio que je verrai,c 'est de stocker ca dans une chaine de charactères, et de verifier que chaque caractère entré soit bien un nombre, et si oui, convertir la chaine en entier

Répondre à Nabla's
Collection CommentÇaMarche.net