C/C++

Fermé
papypm - 4 juin 2009 à 13:31
papypm Messages postés 1 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 4 juin 2009 - 4 juin 2009 à 14:25
Voila Bonjour,
bonjours a tous ceux qui auront au moins la courtoise d'etre venu sur ce poste....

Voila je suis actuellement en stage dans un entreprise, et je vous arret desuite je vai pas vous demander de faire du code pour moi comme les 90% lon fait avant moi.... moi j'ai fait mon code et j'ai une erreur sur mon programme que je n'arrive pas a trouver....

Voila deja le code:

#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>


using namespace std;

int menu(){ // Création du menu.

printf("\n\n***********\n menu\n***********\n\n\n" ); // Création des options du menu.
printf("1:Entrer l'adresse IP a pinger\n\n" );
printf("2:Entrer Nom DNS a pinger\n\n" );
printf("3:Sortie\n\n\n\n" ); // Création de fin du programme.


int choix;
printf("\n\n Quel est votre choix : \n" );
scanf("%d",&choix);
return choix;
}

int main(){ // Initialisation des valeur.

int choix;
choix=menu();
char ad_ip1[20],ad_ip2[20];
char str[80];
int n;
n=0;

while(choix!=3){

if(choix==1){ // Premier choix possible

printf("veuillez taper l'adresse IP::\n" );//Adresse du ping IP
scanf("%s", &ad_ip1);
int main();
system ("ping str" );
}
else if(choix==2) // Deusieme choix possible
{
printf("veuillez taper le Nom DSN::\n" );
scanf("%s", &ad_ip2);
int main();
system ("ping ""ad_ip2" ); //Adresse du ping Dns
}

else if(choix==3) // Troisieme choix possible
{ //Placer ici la fonction de sorti du menu }


else {
printf("---------------------------------------------\n***Ce choix n'existe pas***\n Seul les choix 1, 2, 3 et 4 sont disponibles\n---------------------------------------------" );
}
choix=menu();
}
system("pause" );
return 0;
}


Javais penser a sa mais je suis absolument pas sur de moi et en plus quand je lance le fiichier compilé, il ne tourne pas correctement :p

#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>


using namespace std;

int menu(){ // Création du menu.

printf("\n\n***********\n menu\n***********\n\n\n" ); // Création des options du menu.
printf("1:Entrer l'adresse IP a pinger\n\n" );
printf("2:Entrer Nom DNS a pinger\n\n" );
printf("3:Sortie\n\n\n\n" ); // Création de fin du programme.


int choix;
printf("\n\n Quel est votre choix : \n" );
scanf("%d",&choix);
return choix;
}

int main(){ // Initialisation des valeur.

int choix;
choix=menu();
char ad_ip1[20],ad_ip2[20];
char str[80];
int n;
n=0;

while(choix!=3){

if(choix==1){ // Premier choix possible

printf("veuillez taper l'adresse IP::\n" );//Adresse du ping IP
scanf("%s", &ad_ip1);
int main();
strcpy (str,"ping " );
strcat (str,"ad_ip1" );
system ("ping str" );
}
else if(choix==2) // Deusieme choix possible
{
printf("veuillez taper le Nom DSN::\n" );
scanf("%s", &ad_ip2);
int main();
strcpy (str,"ping " );
strcat (str,"ad_ip2" );
system ("ping ""ad_ip2" ); //Adresse du ping Dns
}
else if(choix==3) // Troisieme choix possible
{ //Mettre ici la fonction de sorti du menu }


else {
printf("---------------------------------------------\n***Ce choix n'existe pas***\n Seul les choix 1, 2, 3 et 4 sont disponibles\n---------------------------------------------" );
}
choix=menu();
}
system("pause" );
return 0;
}


Donc si vous n'avez pas compri ce a quoi porte ce programme, il s'agit dun programme qui vous propose d'effecturer un Ping sur un reseau soit a partir d'une adresse IP soit d'une adresse DNS (www.gaalga.fr)[et oui jai pas envi de leur faire de pub ]

berf voila je block sur le ping et mon entre de la valeur dans celui ci je merxplique l'adresse ip est enregistrer grace au menu mais comment dans mon cas present faire un retour sur cette valeur?(je sais qu'en théorie se que j'ai fait, sur papier pour peut etre fonctionner

Pour finir je suis loing de mon ecole (Avignon/toulouse) et mon prof ne me reponde plus depuis 3semaine , je suis donc perdu donc jenvoi une petit boué de détersse....!!!

merci d'avence...

3 réponses

scaravenger Messages postés 2685 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 30 janvier 2015 617
4 juin 2009 à 14:00
Je n'ai pas tout corrigé, seulement le choix 1:(jsuis faineant aujourd'hui)

char str[80]="\0"; (mettre à zero pour les flemards du malloc)
strcpy (str,"ping -w 2 " );
strcat (str,ad_ip1 );
system (str);

else if(choix==3) // Troisieme choix possible
{ //Mettre ici la fonction de sorti du menu }

}// manquante je crois.

Ca me semble etre de la programmation de débutant tout ca, pas serieux.
1
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
4 juin 2009 à 14:03
Problème de conception... Soit tu demandes à l'utilisateur de rentrer une IP ou un DNS et tu détecte ce que c'est par la suite, soit tu lui demande ce qu'il veut rentrer, puis tu lui demande de le rentrer.

Donc en sortant de ta fonction menu telle qu'elle est, tu dois demander la saisie correspondant au choix de l'utilisateur.

Ensuite, pourquoi stockes-tu tes @ip dans des tableaux de 20 caractères alors qu'au maximum une @ipv4 fait 15 caractères et une @ipv6 en fait 39 ?

Enfin, pourquoi mets-tu un test if choix == 3 alors que ton while fait la même chose ?

Et puis il faudrait corriger ton message d'erreur qui indique que les choix valides vont de 1 à 4...
1
papypm Messages postés 1 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 4 juin 2009
4 juin 2009 à 14:25
Alor en effct cest un programme de debutant je le cache pas (sa serai dure de toute façon) pour se qui est de la taille des tableaux je vien de corriger sa...en effect sa laissai a désirer...et pour se qui est du message d'erreur heureusement que tu me la dit sinon doué comme je suis je l'aurai laisser....

j'ai un peu bosser dessu entre temps il est fonctionnel mais pas encor tres beau a regarder cest pourquoi je vai pas le publier (pour l'instant) et je le mettrai plus tard...promit!!! (sauf si vous ne voulez plus le voir mdr)

Et j'ai presque oublier, merci a vous pour votre aide et vos reponces qui m ont été bien utile!!!!
0