Ping C# ( code problem non résolut)
Dernière réponse : dans Programmation
Voila 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 <stdio.h>
#include <stdlib.h>
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\n\n");
printf("2:Entrer Nom DNS\n\n");
printf("3: Ping sur l'adresse IP/Nom DNS\n\n");
printf("4:Sortie\n\n\n\n"); // Création de fin du menu.
int choix;
printf("\n\n Quel est votre choix : \n");
scanf("%d",&choix);
return choix;
}
int main(){ int choix;
choix=menu();
while(choix!=4){
int a,b,c,d;
char h[30];
if(choix==1){
printf("veuillez taper l'adresse IP::\n");
scanf("%d",&a);
printf(".");
scanf("%d",&b);
printf(".");
scanf("%d",&c);
printf(".");
scanf("%d",&d);
}
else if(choix==2)
{
printf("veuillez taper le Nom DSN::\n");
scanf("%s",&h);
}
else if(choix==3){int main()
{
system( ping"%d.%d.%d.%d",a,b,c,d);
getch();
}
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...
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 <stdio.h>
#include <stdlib.h>
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\n\n");
printf("2:Entrer Nom DNS\n\n");
printf("3: Ping sur l'adresse IP/Nom DNS\n\n");
printf("4:Sortie\n\n\n\n"); // Création de fin du menu.
int choix;
printf("\n\n Quel est votre choix : \n");
scanf("%d",&choix);
return choix;
}
int main(){ int choix;
choix=menu();
while(choix!=4){
int a,b,c,d;
char h[30];
if(choix==1){
printf("veuillez taper l'adresse IP::\n");
scanf("%d",&a);
printf(".");
scanf("%d",&b);
printf(".");
scanf("%d",&c);
printf(".");
scanf("%d",&d);
}
else if(choix==2)
{
printf("veuillez taper le Nom DSN::\n");
scanf("%s",&h);
}
else if(choix==3){int main()
{
system( ping"%d.%d.%d.%d",a,b,c,d);
getch();
}
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...
Autres pages sur : ping code problem resolut
Lassé par la pub ? Créez un compte
salut, tu as du se tromper dans le titre parce que c'est plutot du C que tu fais.
j'ai regardé rapide mais je vois un truc pas tellement beau la
else if(choix==3){int main()
qu'est-ce que c'est que ce main dans le main???
ensuite tu fais comme tu veux mais il serait plus simple de faire saisir l'ip entière direct et puis scanner l'ensemble mais je ne connais pas le sconsignes que tu as.
je crois qu'en virant ce main au milieu tu vas régler ton problème puisque tes variables a b c et d seront connu lorsque tu choisira le choix 3.
[#ff0c00]edit : l'erreur c'est que tu déclare à chaque tour de boucle les a b c et d donc ils sont désalloués à chaque fois et donc le ping ne les connais pas. déclare les une seule fois juste avant ton while[/#ff004c]
j'ai regardé rapide mais je vois un truc pas tellement beau la
else if(choix==3){int main()
qu'est-ce que c'est que ce main dans le main???
ensuite tu fais comme tu veux mais il serait plus simple de faire saisir l'ip entière direct et puis scanner l'ensemble mais je ne connais pas le sconsignes que tu as.
je crois qu'en virant ce main au milieu tu vas régler ton problème puisque tes variables a b c et d seront connu lorsque tu choisira le choix 3.
[#ff0c00]edit : l'erreur c'est que tu déclare à chaque tour de boucle les a b c et d donc ils sont désalloués à chaque fois et donc le ping ne les connais pas. déclare les une seule fois juste avant ton while[/#ff004c]
Alors deja merci d'avoir repondu aussi vite
:
Pour se qui est du else if(choix==3){int main() j'ai modifier pluseur foi la structure de mon programme j'aidu oublier de modifier aussi cette partie :s je modiffierai sa...je ne l'avai pas vu..
Pour ce qui est des consignes, j'en ai pas... je doit juste faire un programme qui ping soit via IP soit via adresse DNS ...c'est tout...
Mais quand tu dit d'editer dierctement l'ip en une seul fois, jaurai bien aimé mais sur le coup jai pas vu comment faire en fait
:Pour se qui est du else if(choix==3){int main() j'ai modifier pluseur foi la structure de mon programme j'aidu oublier de modifier aussi cette partie :s je modiffierai sa...je ne l'avai pas vu..
Pour ce qui est des consignes, j'en ai pas... je doit juste faire un programme qui ping soit via IP soit via adresse DNS ...c'est tout...
Mais quand tu dit d'editer dierctement l'ip en une seul fois, jaurai bien aimé mais sur le coup jai pas vu comment faire en fait
Donc voila mon code apres le changement:
#include <stdio.h>
#include <stdlib.h>
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\n\n");
printf("2:Entrer Nom DNS\n\n");
printf("3
ing sur l'adresse IP/Nom DNS\n\n");
printf("4: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();
while(choix!=4){
int a,ad_ip;
char h[30];
if(choix==1){ // Premier choix possible
printf("veuillez taper l'adresse IP::\n");
scanf("%s", &ad_ip);
}
else if(choix==2) // Deusieme choix possible
{
int ad_ip;
printf("veuillez taper le Nom DSN::\n");
scanf("%s",&ad_ip);
}
else if(choix==3) // Troisieme choix possible
{
int ping; // Ping
system( ping"%s",ad_ip); //Adresse du ping
}
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;
}
mais j'ai toujour une erreur sur le ping qui ne saute pas....
(j'ai vu que dans le choix 1 et 2 jai declaré la meme variable mais vu que cest pas dans la meme acolade sa devrai etre bon ,nn?et puis meme si ne sont pas les meme j'ai quand meme l'erreur
)
#include <stdio.h>
#include <stdlib.h>
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\n\n");
printf("2:Entrer Nom DNS\n\n");
printf("3
ing sur l'adresse IP/Nom DNS\n\n"); printf("4: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();
while(choix!=4){
int a,ad_ip;
char h[30];
if(choix==1){ // Premier choix possible
printf("veuillez taper l'adresse IP::\n");
scanf("%s", &ad_ip);
}
else if(choix==2) // Deusieme choix possible
{
int ad_ip;
printf("veuillez taper le Nom DSN::\n");
scanf("%s",&ad_ip);
}
else if(choix==3) // Troisieme choix possible
{
int ping; // Ping
system( ping"%s",ad_ip); //Adresse du ping
}
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;
}
mais j'ai toujour une erreur sur le ping qui ne saute pas....
(j'ai vu que dans le choix 1 et 2 jai declaré la meme variable mais vu que cest pas dans la meme acolade sa devrai etre bon ,nn?et puis meme si ne sont pas les meme j'ai quand meme l'erreur
)
Bon voila le code encore une fois je sais que le Ping a toujour une erreur mais sa men a deja retirer pas mal...donc merci
Dsl je sais que j'abuse mais je n'ai pas beaucous travailler en cours et je le pays aujourd hui...mais je m'y met....
#include <stdio.h>
#include <stdlib.h>
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\n\n");
printf("2:Entrer Nom DNS\n\n");
printf("3
ing sur l'adresse IP/Nom DNS\n\n");
printf("4: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();
int ad_ip;
while(choix!=4){
int a;
char ad_ip[20];
if(choix==1){ // Premier choix possible
printf("veuillez taper l'adresse IP::\n");
scanf("%s", &ad_ip) ;
}
else if(choix==2) // Deusieme choix possible
{
int ad_ip;
printf("veuillez taper le Nom DSN::\n");
scanf("%s", &ad_ip) ;
}
else if(choix==3) // Troisieme choix possible
{
/* J'ai pri la liberté ici de retirer le "int ping;" vu que sa me le noter comme erreur:s mais je ne sais pas vraiment si j'ai le droit*/
system(ping"%s",ad_ip); //Adresse du ping
}
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;
}
Dsl je sais que j'abuse mais je n'ai pas beaucous travailler en cours et je le pays aujourd hui...mais je m'y met....
#include <stdio.h>
#include <stdlib.h>
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\n\n");
printf("2:Entrer Nom DNS\n\n");
printf("3
ing sur l'adresse IP/Nom DNS\n\n"); printf("4: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();
int ad_ip;
while(choix!=4){
int a;
char ad_ip[20];
if(choix==1){ // Premier choix possible
printf("veuillez taper l'adresse IP::\n");
scanf("%s", &ad_ip) ;
}
else if(choix==2) // Deusieme choix possible
{
int ad_ip;
printf("veuillez taper le Nom DSN::\n");
scanf("%s", &ad_ip) ;
}
else if(choix==3) // Troisieme choix possible
{
/* J'ai pri la liberté ici de retirer le "int ping;" vu que sa me le noter comme erreur:s mais je ne sais pas vraiment si j'ai le droit*/
system(ping"%s",ad_ip); //Adresse du ping
}
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;
}
tu n'abuses pas c'est le but du forum
alors une petite explication :
int ad_ip;
while(choix!=4){
int a;
char ad_ip[20];
le int ad_ip n'a rien à foutre ici prend le et jette le par la fenêtre.
ensuite l'adresse ip est une chaine de caractère soit char ad_ip[20]
celle ci stocke l'adresse saisie par le user.
donc si tu la redéclare dans le while à chaque tour ce que ça va faire c'est ça : l'utilisateur choisis 1 pour taper l'adresse, il saisit puis envoi, elle est stockée dans ad_ip. ensuite tu rappelle la fonction menu qui raffiche les choix puis après le choix tu rentre à nouveau dans la boucle(sauf si tu choisis 4) et là tu fais char ad_ip[20]!!!!
donc tu réalloue une chaine de caractères de nom ad_ip c'est à dire que l'ancien ad_ip est effacé!
j'espère m'expliquer suffisamment, ton adresse doit etre déclaré une seule fois en début de main pour qu'a chaque tour de boucle elle ne soit pas effacée
edit : petit oubli, pour la variable choix tu as fais exactement la meme chose tu l'as déclaré une fois en début de main et ensuite aucune déclaration, fais la meme chose avec cette adresse
alors une petite explication :
int ad_ip;
while(choix!=4){
int a;
char ad_ip[20];
le int ad_ip n'a rien à foutre ici prend le et jette le par la fenêtre.
ensuite l'adresse ip est une chaine de caractère soit char ad_ip[20]
celle ci stocke l'adresse saisie par le user.
donc si tu la redéclare dans le while à chaque tour ce que ça va faire c'est ça : l'utilisateur choisis 1 pour taper l'adresse, il saisit puis envoi, elle est stockée dans ad_ip. ensuite tu rappelle la fonction menu qui raffiche les choix puis après le choix tu rentre à nouveau dans la boucle(sauf si tu choisis 4) et là tu fais char ad_ip[20]!!!!
donc tu réalloue une chaine de caractères de nom ad_ip c'est à dire que l'ancien ad_ip est effacé!
j'espère m'expliquer suffisamment, ton adresse doit etre déclaré une seule fois en début de main pour qu'a chaque tour de boucle elle ne soit pas effacée
edit : petit oubli, pour la variable choix tu as fais exactement la meme chose tu l'as déclaré une fois en début de main et ensuite aucune déclaration, fais la meme chose avec cette adresse
Ok l'exemple de la variable choix été bien trouver...en fait je metai appercu (travaillant en double screen que je t'avais envoyer la version du code non modifier :s ou presque....mais j'avais deja changer la decraration de la chaine ad_ip [20]
de plus je me demandai la je dit que le maxi de chaine de carathere est 20 mais je peu mettre plus ou pas?(vu que selon la taille de l'adresse DNS)
de plus je me demandai la je dit que le maxi de chaine de carathere est 20 mais je peu mettre plus ou pas?(vu que selon la taille de l'adresse DNS)
Voial juste histoir de donner des nexs et que ce poste ne tombe pas dans l'oublit total
jen si ici aujourd hui (je sais que j'avance pas trop vite
) mais je me hurte a certaines difficulté que j'ai du mal a passer...
#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 ");
printf("%d",str);
strcat (str,"ad_ip1");
printf("%d",str);
/* 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
{ }
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;
}
jen si ici aujourd hui (je sais que j'avance pas trop vite
) mais je me hurte a certaines difficulté que j'ai du mal a passer...#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 ");
printf("%d",str);
strcat (str,"ad_ip1");
printf("%d",str);
/* 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
{ }
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;
}
LoL,
encore une foi je m'apperçoit que j'envoi le mauvai code (ghrrr!!)
voici le bon:
(certaine faute persiste tel que les int au milieu des if)
Alors mon problem cest que je fait une chaine de carathere pour le ad_ip1 et ad_ip2 et que j'arrive pas a les faire apparaitre dans le
systeme ("ping [Ici normalement l'adresse IP/Dns]");
en fait quand je fait le
system ("ping ad_ip1");
ou le systeme ("ping ad_ip2");
la valeur enregistrer dans le tableau ne vien pas a la place de ad_ip1/2....
le programme affiche:
La requiet Ping n'a pas pu trouver l'hote ad_ip1.Verifier le nom et esayer à nouveau
mais l'hote devai etre 111.111.111.111 donc un petit souci^^'
Pour te/vous repondre cette chose (bien trouve )
essay de devenir un programme qui tourne et bien que sa me deplai totalement sil faut que je triche sur certaine regle je vai devoir le faire vu le temps quil me reste pour le mettre en fonction...
et cette idee me deplai totalemet mais bon...de plus je commence en programmation donc jai honte a le dire ce que j'envoi ici a deja fait l'objet d'une petite correction par un ami qui me retir pas mal d erreu deja
encore une foi je m'apperçoit que j'envoi le mauvai code (ghrrr!!)
voici le bon:
(certaine faute persiste tel que les int au milieu des if)
#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];
while(choix!=3){
if(choix==1){ // Premier choix possible
printf("Veuillez taper l'adresse IP a pinger::\n");//Adresse du ping IP
scanf("%s", &ad_ip1);
int main();
system ("ping ad_ip1");
}
else if(choix==2) // Deusieme choix possible
{
printf("Veuillez taper le Nom DSN a pinger::\n");
scanf("%s", &ad_ip2);
int main();
system ("ping d_ip2"); //Adresse du ping Dns
}
else if(choix==3) // Troisieme choix possible
{ /*Ici fonction de fin de programme */ }
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;
}
Alors mon problem cest que je fait une chaine de carathere pour le ad_ip1 et ad_ip2 et que j'arrive pas a les faire apparaitre dans le
systeme ("ping [Ici normalement l'adresse IP/Dns]");
en fait quand je fait le
system ("ping ad_ip1");
ou le systeme ("ping ad_ip2");
la valeur enregistrer dans le tableau ne vien pas a la place de ad_ip1/2....
le programme affiche:
La requiet Ping n'a pas pu trouver l'hote ad_ip1.Verifier le nom et esayer à nouveau
mais l'hote devai etre 111.111.111.111 donc un petit souci^^'
Pour te/vous repondre cette chose (bien trouve )
essay de devenir un programme qui tourne et bien que sa me deplai totalement sil faut que je triche sur certaine regle je vai devoir le faire vu le temps quil me reste pour le mettre en fonction...
et cette idee me deplai totalemet mais bon...de plus je commence en programmation donc jai honte a le dire ce que j'envoi ici a deja fait l'objet d'une petite correction par un ami qui me retir pas mal d erreu deja
alors là je fais du php depuis 2 mois donc je mélange un peu tout mais pour le system fais avant :
char commande[30]=strcat("ping ", ad_ip);
puis system(commande) ou system(*commande) ce genre de trucs mais j'ai vraiment du mal j'ai pas vu de pointeurs et de typage depuis longtemps.
et je relance pareil, vire ces int main dans le code c'est horrible!
allez bonne chance et n'hésites pas à reposter si je te dis de la merde
char commande[30]=strcat("ping ", ad_ip);
puis system(commande) ou system(*commande) ce genre de trucs mais j'ai vraiment du mal j'ai pas vu de pointeurs et de typage depuis longtemps.
et je relance pareil, vire ces int main dans le code c'est horrible!
allez bonne chance et n'hésites pas à reposter si je te dis de la merde
Bon je suis sur le derniere parti de mon programme et je bloque un peu beaucoup, jai absolution pas vu sa en cours, j'ai fait sa (voir le code) grace a certain tuto mais je seche sur un truc, voila deja le code:
int taille_fichier;
FILE *fichier;
char *adresse;
long taille_file;
int argc;
char *argv[50];
fichier = fopen("E:\\readme.txt", "r"); //ouverture et lecture dufichier .txt
fseek(fichier,SEEK_END,0); //On fait pointer fichier vers la fin du fichier
taille_fichier=ftell(fichier); /*On met la taille du fichier dans taille_fichier (car fichier pointe vers la fin du fichier,
sa position donne le nombre d'octets pour arriver à la fin) */
fseek(fichier,SEEK_SET,0); //On refait pointer fichier au début du fichier
adresse=(char *)malloc(sizeof(char) * taille_fichier); //Allocation de temp avec la taille du fichier
fscanf(fichier, "%s", adresse);
printf("voila ce qu'il y a dans la liste Ip: %s \n", adresse); //Affichage de se que le programme trouve dans le fichier .txt
strcpy(ping,"ping ");
strcat(ping,adresse);
system(ping);
fclose(fichier);
free(adresse);//On libère adresse
return EXIT_SUCCESS;
bon je ne suis pas tres fiere de ce programme mais bon le but cest quil tourne la que jarrive a la finde mon stage et que jai encore tou la parti rapport que je doi faire donc je veu bien encore un peu d'aide....
int taille_fichier;
FILE *fichier;
char *adresse;
long taille_file;
int argc;
char *argv[50];
fichier = fopen("E:\\readme.txt", "r"); //ouverture et lecture dufichier .txt
fseek(fichier,SEEK_END,0); //On fait pointer fichier vers la fin du fichier
taille_fichier=ftell(fichier); /*On met la taille du fichier dans taille_fichier (car fichier pointe vers la fin du fichier,
sa position donne le nombre d'octets pour arriver à la fin) */
fseek(fichier,SEEK_SET,0); //On refait pointer fichier au début du fichier
adresse=(char *)malloc(sizeof(char) * taille_fichier); //Allocation de temp avec la taille du fichier
fscanf(fichier, "%s", adresse);
printf("voila ce qu'il y a dans la liste Ip: %s \n", adresse); //Affichage de se que le programme trouve dans le fichier .txt
strcpy(ping,"ping ");
strcat(ping,adresse);
system(ping);
fclose(fichier);
free(adresse);//On libère adresse
return EXIT_SUCCESS;
bon je ne suis pas tres fiere de ce programme mais bon le but cest quil tourne la que jarrive a la finde mon stage et que jai encore tou la parti rapport que je doi faire donc je veu bien encore un peu d'aide....
Oui cest vrai que je n'ai rien expliquer et que la presentation laise a désirer mdr
voila je pense que sa sera déja mieu:
Alors se bout de code a pour but tout simple re récupéré une adresse ip dans un fichier .txt et de le pinger mais le problemcest que si je veu faire sa sur une seul ip j y arrive mais la il faudrai que je puisse faire tourné mon programme en boucle cest a dire tanqu'il y a des ip enregistrer continuer les ping et si on a fini la liste on recommence...etc...(plus tard si jai le temps jy metrai une fonction, si le ping ne marche pas alors mon prog enregistrera l'ip qui na pas repondu dans un autre fichier bref la cest la mort...^^
voila je pense que sa sera déja mieu:
int taille_fichier;
FILE *fichier;
char *adresse;
long taille_file;
int argc;
char *argv[50];
fichier = fopen("E:\\readme.txt", "r" ); //ouverture et lecture dufichier .txt
fseek(fichier,SEEK_END,0); //On fait pointer fichier vers la fin du fichier
taille_fichier=ftell(fichier); /*On met la taille du fichier dans taille_fichier (car fichier pointe vers la fin du fichier,
sa position donne le nombre d'octets pour arriver à la fin) */
fseek(fichier,SEEK_SET,0); //On refait pointer fichier au début du fichier
adresse=(char *)malloc(sizeof(char) * taille_fichier); //Allocation de temp avec la taille du fichier
fscanf(fichier, "%s", adresse);
printf("voila ce qu'il y a dans la liste Ip: %s \n", adresse); //Affichage de se que le programme trouve dans le fichier .txt
strcpy(ping,"ping " );
strcat(ping,adresse);
system(ping);
fclose(fichier);
free(adresse); //On libère adresse
return EXIT_SUCCESS;
Alors se bout de code a pour but tout simple re récupéré une adresse ip dans un fichier .txt et de le pinger mais le problemcest que si je veu faire sa sur une seul ip j y arrive mais la il faudrai que je puisse faire tourné mon programme en boucle cest a dire tanqu'il y a des ip enregistrer continuer les ping et si on a fini la liste on recommence...etc...(plus tard si jai le temps jy metrai une fonction, si le ping ne marche pas alors mon prog enregistrera l'ip qui na pas repondu dans un autre fichier bref la cest la mort...^^
Alors oui en effect on parlai tout les deux de la meme chose mais on etai focaliser sur notre idée
Serieusement jaurai essayer....je vai me contanter d'un seul ping a partir du fichier alors....
je me doute bien que cest moi qui n'ai pas comprit comment utiliser se que tu ma donner vu que sa plante le programme.
Deja a la base je comprend pas bien le code que je tai donner ,vu que je l'avou bien volontier je lai pris sur le net
et un peu modifier pour qu il marche avec le cas present
voila comment je lai utiliser:
j'envoi le code je me dit que tu vera peu etre le truc qui foire
Serieusement jaurai essayer....je vai me contanter d'un seul ping a partir du fichier alors....
je me doute bien que cest moi qui n'ai pas comprit comment utiliser se que tu ma donner vu que sa plante le programme.
Deja a la base je comprend pas bien le code que je tai donner ,vu que je l'avou bien volontier je lai pris sur le net
et un peu modifier pour qu il marche avec le cas present
voila comment je lai utiliser:
int choix;
int argc;
int taille_fichier;
char *argv[30];
char *adresse;
char ad_ip[30],ping[50],echos[26];
long taille_file;
***************************************************************// initialisation des valeur du debut
else if(choix==4){ // Troisieme choix possible
printf("\n\n !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n !! Pour arreter tout travail faite: Ctrl+C. !!\n !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n\n\n\n");
printf(" Debut du ping sur les adresses enregistrer...\n\n");
printf("========================================================\n\n\n");
FILE *fichier;
while(!feof(fichier));
fichier = fopen("E:\\IpListe.txt", "r"); //ouverture et lecture dufichier .txt
if(fichier==NULL) // Test de l'ouverture du fichier
{ printf(" -----------------------------------------------\n"); //si non ouverture, message d'erreur
printf(" Erreur d'ouverture de fichier!!");
printf("\n Arret de l'execution du programme...\n");
printf("\n Si le problem persiste");
printf("\n Contactez:\n");
printf("\n **********@hotmail.fr\n");
printf(" -----------------------------------------------\n");
printf("\n\n\n\n* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \n\n\n\n\n");
printf(" Merci d'avoir utiliser ce programme.\n\n\n\n\n");
printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ");
exit(1);}
else{ // si ouverture ok, exectution du programme.
fseek(fichier,SEEK_END,0); //On fait pointer fichier vers la fin du fichier
taille_fichier=ftell(fichier); /*On met la taille du fichier dans taille_fichier (car fichier pointe vers la fin du fichier,
sa position donne le nombre d'octets pour arriver à la fin) */
fseek(fichier,SEEK_SET,0); //On refait pointer fichier au début du fichier
adresse=(char *)malloc(sizeof(char) * taille_fichier); //Allocation de temp avec la taille du fichier
fscanf(fichier, "%s", adresse);
printf("voila ce qu'il y a dans la liste Ip: %s \n", adresse); //Affichage de se que le programme trouve dans le fichier .txt
strcpy(ping,"ping ");
strcat(ping,adresse);
system(ping);
fclose(fichier);
free(adresse);//On libère adresse
return EXIT_SUCCESS;
printf("\n\n\n\n\n\n\n\n______________________________________________________________________________\n");
}
}
j'envoi le code je me dit que tu vera peu etre le truc qui foire
oui ok c'est que tu ouvre le fichier après le while. le feof c'est un marqueur de fin de fichier donc tu dois oouvrir ton fichier avant et vérifier qu'il est bien ouvert puis ensuite tu fais le while.
par contre ensuite tu as des ftell et fseek byzarre je crois.
le plus simple est d'utiliser la fonction fgets qui permet de récupérer une ligne du fichier donc une adresse ip.
la structure serait donc :
ouvrir fichier
lire une ligne par fgets
tant que fichier non fini(while feof)
{
traitement sur cette adresse ip donc le ping
relire une ligne du fichier par fgets
}
autrement dit tu lis une ligne, tu vérifie que ça n'est pas la fin de fichier, si c'est pas la fin tu ping puis tu lis une autre ligne, grace à la boucle ça va vérifié si ce n'est pas la fin de fichier etc...
est-ce plus clair?
par contre ensuite tu as des ftell et fseek byzarre je crois.
le plus simple est d'utiliser la fonction fgets qui permet de récupérer une ligne du fichier donc une adresse ip.
la structure serait donc :
ouvrir fichier
lire une ligne par fgets
tant que fichier non fini(while feof)
{
traitement sur cette adresse ip donc le ping
relire une ligne du fichier par fgets
}
autrement dit tu lis une ligne, tu vérifie que ça n'est pas la fin de fichier, si c'est pas la fin tu ping puis tu lis une autre ligne, grace à la boucle ça va vérifié si ce n'est pas la fin de fichier etc...
est-ce plus clair?
Tu aurai une corde et un tabouret???
serieu j'en ai mar de ce programme vivement que je change.....j'avai un programme fonctionnel,etc... mais on ma demander de rajouter une simple fonction pour effacer les page precedente sur la commande dos....
je lai fait et le programme ne fonctionne plus, meme si je retir les fonction que je venai d'implémenté (seul le choix 4 ne fonctionne plus, tu pourai regarder en 2 2,stp) jarrive en fin de stage et cest la galere...serieu sa ne pouvai pas m arriver 1 semaine avant quand "javai plus rien a faire"..........
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
int menu(){ // Création du menu.
printf("\n=> Bonjour et bienvenu sur le Programme Ping System Rreseau [P.P.S.R] ! * \n\n\n\n\n"); // Création des options du menu.
printf(" **************************************************************\n");
printf(" * MENU *\n");
printf(" **************************************************************\n");
printf(" * -> 1: Information sur son Ip de votre ordinateur *\n");
printf(" * -> 2: Entrer l'adresse IP a pinger. *\n");
printf(" * -> 3: Entrer Nom DNS a pinger. *\n");
printf(" * -> 4: Pinger les adresse enregistrer dans le fichier.txt *\n");
printf(" * -> 5: Pinger une adress IP/Dns en boucle. *\n");
printf(" **************************************************************\n\n\n\n\n\n");
printf(" ***************\n");
printf(" * 6: Sortie. *\n"); // Création de fin du programme.
printf(" ***************\n\n");
int choix;
printf("\n\n ->Quel est votre choix : \n\n\n");
scanf("%d",&choix);
return choix;
printf("__________________________________________________________________________________________________________________\n\n\n"); }
int main(){
// Initialisation des valeur.
int choix;
int argc;
int taille_fichier;
int m=0;
char *adresse;
char *argv[30];
char ad_ip[30],ping[50],echos[26];
long taille_file;
choix=menu();
while(choix!=7){
if(choix==1){
printf("\n\n !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n !! Pour arreter tout travail faite: Ctrl+C. !!\n !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n\n\n\n");
system ("ipconfig");
printf("\n\n\n\n\n\n\n\n______________________________________________________________________________\n");
}
else if(choix==2){ // Premier choix possible
printf("\n\n !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n !! Pour arreter tout travail faite: Ctrl+C. !!\n !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n\n\n\n");
printf("=>Veuillez taper l'adresse IP:\n");
scanf("%s", &ad_ip);
strcpy(ping,"ping ");
strcat(ping,ad_ip);
system (ping);
printf("\n\n\n\n\n\n\n\n______________________________________________________________________________\n");
}
else if(choix==3){ // Deusieme choix possible
printf("\n\n !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n !! Pour arreter tout travail faite: Ctrl+C. !!\n !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n\n\n\n");
printf("=>Veuillez taper le Nom Dns::\n");
scanf("%s", &ad_ip);
strcpy(ping,"ping ");
strcat(ping,ad_ip);
system (ping);
printf("\n\n\n\n\n\n\n\n______________________________________________________________________________\n");
}
else if(choix==4){ // Troisieme choix possible
printf("\n\n !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n !! Pour arreter tout travail faite: Ctrl+C. !!\n !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n\n\n\n");
printf(" Debut du ping sur les adresses enregistrer...\n\n");
printf("========================================================\n\n\n");
FILE *fichier;
fichier = fopen("E:\\reaaddme.txt", "r"); //ouverture et lecture dufichier .txt
if(fichier==NULL) // Test de l'ouverture du fichier
{ printf(" -----------------------------------------------\n"); //si non ouverture, message d'erreur
printf(" Erreur d'ouverture de fichier!!");
printf("\n Arret de l'execution du programme...\n");
printf("\n Si le problem persiste");
printf("\n Contactez:\n");
printf("\n paintball1@hotmail.fr\n");
printf(" -----------------------------------------------\n");
printf("\n\n\n\n* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \n\n\n\n\n");
printf(" Merci d'avoir utiliser ce programme.\n\n\n\n\n");
printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ");
exit(1);}
else{ // si ouverture ok, exectution du programme.
fseek(fichier,SEEK_END,m); //On fait pointer fichier vers la fin du fichier
taille_fichier=ftell(fichier); /*On met la taille du fichier dans taille_fichier (car fichier pointe vers la fin du fichier,
sa position donne le nombre d'octets pour arriver à la fin) */
fseek(fichier,SEEK_SET,m); //On refait pointer fichier au début du fichier
adresse=(char *)malloc(sizeof(char) * taille_fichier); //Allocation de temp avec la taille du fichier
fscanf(fichier, "%s", adresse);
printf("voila ce qu'il y a dans la liste Ip: %s \n", adresse); //Affichage de se que le programme trouve dans le fichier .txt
strcpy(ping,"ping ");
strcat(ping,adresse);
system(ping);
fclose(fichier);
free(adresse);//On libère adresse
return EXIT_SUCCESS;
printf("\n\n\n\n\n\n\n\n______________________________________________________________________________\n");
}
}
else if(choix==5){ // Cinquieme choix possible
printf("\n\n !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n !! Pour arreter tout travail faite: Ctrl+C. !!\n !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n\n\n\n");
printf("=>Veuillez taper l'adresse IP de l'hote a tester en boucle:\n");
scanf("%s", &ad_ip);
strcpy(ping ,"ping -t ");
strcat(ping ,ad_ip);
printf("\n>>>Pour afficher les stat faire Ctrl+Attn.<<<\n");
system (ping);
printf("\n\n\n\n\n\n\n\n______________________________________________________________________________\n");
}
else if(choix==6){ // Sixieme choix possible
printf("\n\n\n\n******************************************************************************\n");
printf("\n\n\n\n Merci d'avoir utiliser ce programme.\n\n\n\n\n");
printf("******************************************************************************");
exit(0);
printf("\n\n\n\n\n\n\n\n______________________________________________________________________________\n");
}
else {printf("\n---------------------------------------------\n ***Ce choix n'existe pas***\n **Seul les choix 1, 2, 3, 4, 5 et 6 sont disponibles**\n---------------------------------------------\n\n\n\n");
printf("\n\n\n\n\n\n\n\n______________________________________________________________________________\n");
}
choix=menu();
}
return choix;
}
je sais que c'st abuser se que je vai faire mais bon , cest assez important pour moi la....
voila je vien de poster un autre poste pk j'ai des problemes avec la lecture du fichier pour les ping donc si tu pouvai y jetter un coup d'oeil sa serai cool merci
p.s: voila le lien http://www.infos-du-net.com/forum/271397-21-lecture-fic...
voila je vien de poster un autre poste pk j'ai des problemes avec la lecture du fichier pour les ping donc si tu pouvai y jetter un coup d'oeil sa serai cool mercip.s: voila le lien http://www.infos-du-net.com/forum/271397-21-lecture-fic...
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :