begin process at 2012 05 29 15:38:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Petit probleme en c++


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Petit probleme en c++

mercredi 18 janvier 2006 à 16:33:05 | Petit probleme en c++

c_raf

Bonjour à tous,

Alors je vous énonce mon petit problème:

Voila je suis étudiant en bts informatique et nous devons réaliser un programme permettant de définir à quelle classe appartient une adresse ip en langage C++. Pour cela nous devons réaliser des test pour vérifier que les chiffres saisies ne depassent pas 255 mais mon problème est que je voudrai saisir l'adresse en question sous la forme ***.***.***.*** mais je ne sais pas la maniere a adopter en c++ équivalante à
scanf("%d.%d.%d.%d", &a,&b,&c,&d); ce que j'avais pensé c'ete faire cin>>et le ranger dans un tableau mais apres je ne vois pas comment traiter les informations car chaque chiffre va se trouver dans une case de tableau.... Il ne doit pas etre possible de faire un cin>>a>>".">>b>>"." etc... je ne vois pas comment m'y prendre.

Si quelqu'un a une information et pourrai m'aider a ce sujet.
Je vous remercie d'avance.

Rafou.

mercredi 18 janvier 2006 à 17:09:48 | Re : Petit probleme en c++

deck_bsd

Membre Club
Pourquoi est ce un problème que les chiffres ce trouve dans un tableau ?? si je te comprent bien ton tableau contiendra pour exemple ceci:

255.(heu ça ne feras pas un . mais je connai pas sont code par coeur)255.255.255.255 (broadcast, ip de classe E :) ).

Il te suffira alors de parcours le tableau 4 à 4 (tous en ignorant le point donc 3-1). Avec une boucle for le tour est joué.Bon c'est vrai que cela serai moin pratique , mais tout a fait faisable.

Maintenant pour le format en C++ je saurai pas t'aider.

peut etre : cin>>a>>'.'>>b>>'.'>>c>>'.'>d mais je suis pas sur.
mercredi 18 janvier 2006 à 17:13:13 | Re : Petit probleme en c++

rrk275

un chiffre ne depasse 255 qu'en base   256 ... ou plus
as tu essayé (solution pertinente mais un peu plus longue ...)  a faire
char ip[25];//ip a 6*4 + 1 au max (pour le final !!)
 scanf("%s",ip);
.. et puis tu devrai y arriver..


mercredi 18 janvier 2006 à 17:14:23 | Re : Petit probleme en c++

c_raf

Mais la je viens de faire un tableau je rentre bien l'adresse ip dedans qd je l'affiche j'obtiens bien ce que j'ai tapé! Mais ce qui me gène c'est pour isoler les chiffres je suis tout a fait d'accord il faut faire une boucle for mais je vois pas comment le mettre dans des variables pour retraiter c'est information.

Je vous pries de bien vouloir m'excuser je suis débutant en programation

Rafou.

mercredi 18 janvier 2006 à 17:17:49 | Re : Petit probleme en c++

c_raf

De même pour le parcours 4 à 4 je comprend pas trop

Rafou.

mercredi 18 janvier 2006 à 17:25:16 | Re : Petit probleme en c++

rrk275

bah tu parcours et tu teste le nombre avec atoi ..
int test = 1;
for(int i=3;i<25:i+=4)ip[i]='\0';//on trasforme chaque point en fin de chaine..
for(int i=0;i<25:i+=4)if(atoi(ip[i])>255||atoi(ip[i])<0)test=0;
if(test){
//ip valide !!
}
else
{
//ip invlaide
}

mercredi 18 janvier 2006 à 17:32:45 | Re : Petit probleme en c++

c_raf

Je vous prie de m'excuser pour les posts repetitif precedent je n'ai pas fait expres.

Merci a vous deux, et je voulais savoir rrk275 pk tu fais un for avec la valeur 25 ya pas 25 caractere dans le tableau yen a 16 , peut etre que je me trompe et je comprend pas ton test=0, si tu pouvais m'expliquer pourquoi. je te prie de m'excuser je suis un peu fatigué.

En tout cas je vous remercie beaucoup pour votre aide.

Rafou.

mercredi 18 janvier 2006 à 17:33:37 | Re : Petit probleme en c++

Arnotic

Administrateur CodeS-SourceS

char szIP[] = "255.255.255.255";
long i1, i2, i3, i4;

*(szIP+3) = 0; *(szIP+7) = 0; *(szIP+11) = 0;
i1 = atol(szIP);
i2 = atol(szIP+4);
i3 = atol(szIP+8);
i4 = atol(szIP+12);

aussi

@+
Arnotic,
Admin CS,
[ Lien ]
MVP Visual C++

mercredi 18 janvier 2006 à 17:39:50 | Re : Petit probleme en c++

c_raf

La fonction atoi(ip[i]) sa ne marche po sa genere une erreur

Rafou.

mercredi 18 janvier 2006 à 17:50:26 | Re : Petit probleme en c++

c_raf

rrk275 j'ai trouver la solution pour le atoi(ip[i]) qui genere une erreur, la solution c'est de mettre atoi(ip+i) au lieu de atoi(ip[i]). Grace a l'exemple de Arnotic.

Je vous remercie tous pour votre aide! Merci beaucoup!

Rafou.


1 2 3 4

Cette discussion est classée dans : problème, probleme, adresse, réaliser, cin


Répondre à ce message

Sujets en rapport avec ce message

Problème avec GCC [ par Cho7Kipu ] Je réalise actuellement un programme destiné a etre utilisé sous unix, et que je devrais donc compiler avec gcc.Un probleme se pose, vu que gcc ne rec problème avec cin.getline(...,...,...) [ par bouba ] J'utilise cin.getline() pour stocker une chaîne de caractère entrée au clavier. Le problème est qu'il faut appuyer deux fois sur entrée pour valider l probleme tout con !! [ par logray ] mon problème est surement tout con mais je n'arrive pas à le résoudre : lorsque j'exécute mon programme en mode debug ou release depuis MVC6.0, il m'a problème avec argumenten lige de commande [ par ben01n ] salut a tous mon programme doit recevoir une adresse ip en argument en ligne de commande puis cette adresse doit être découpée pour être mise dans un probleme de copie de fichier en C [ par jbdmk4 ] Bonjour tout le monde, j'ai un problème d'écriture de fichier. J'envoie un fichier quelquonque d'un client java sur un serveur C bit a bit, a première URGENT : Problème de "cin" [ par monomanahune ] Monomanahune J'ai un petit problème sur un cin.Je souhaiterais rentrer une chaine de caractère en utilisant cinmais je voudrais pouvoir entrer égaleme Probleme Path Visual C++ [ par Steph115 ] Bonjour a tous, voial je susi un peu debutant en prog C++ specifique windows j'aimerais recuperer le chemin d'acces au programme quand il est lance po Problème d'entrée (cin >>) dans un tableau de float [ par Oeil_de_taupe ] Hello tout le monde,désolé de vous importuné. Mais j'ai fait une toute petite source pour apprendre à allouer de la mémoire pour une variable puis de probleme avec cin et les chaines [ par prokev ] bon je sais c'est con mais quand je tape une string la fonction cin>>variable; calcule les espace comme plusieurs entrées... alors j'ai essayer cin.ge Problème cin.getline [ par visualstar ] Bonsoir, J'ai un petit problème qui est grave chiant lolJe programme sous linux en C++ et à un moment donné, je dois faire ceci :fflush(stdin);cout ff


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales