Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 20.06.2017
Сообщений: 1
1

Пинг сервера и вывод среднего значения отклика

08.04.2013, 18:01. Показов 1192. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, задание к моей программе звучит так: Написать функцию отправляющую 30 запросов программой ping на переданный в ней IP адрес и
выполняющую расчет среднего времени прихода ответа.
Логика пограммы такова: Сначала вводится адрес сервера, потом адрес и дополнительные команды склеиваются в одну строку и отправляется на выполнение. Результат выполнения пишется в файл ping.txt
Дальше самое интересное: открывается файл и посимвольно сканируется на наличие знака / ,как только знак находиться, проверяется что следует после этого знака, если это не "a" и не "m" то выводиться все знаки до очередного символа "/"
Я кое что набросал, и по моей логике программа должна работать, но вместо ответа, она бесконечно выводит в консоль кучу значков вопроса. И поэтому прошу помощи, хочу понять что не так самому разбираться времени нет, ибо еще надо написать реферат и еще одну программу,и все за один день. надеюсь на вашу помощь.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <stdio.h> 
#include <stdlib.h>
 
main() {
  FILE *log;
  char adr[50];
  char ping[]="ping";
  char cm[]="-c";
  char cm1[]="30 >>/home/siper/ping.txt";
  char space[]=" ";
  char full[100];
  char sl;
  printf("Enter address:\n");
  gets(adr);
  sprintf(full,"%s%s%s%s%s%s%s",ping,space,adr,space,cm,space,cm1);
  system(full);
  log=fopen("ping.txt","r");
  rewind(log);
  while (!feof(log)) { 
    sl=getc(log);
       if (sl == '/') {
          sl=getc(log);
              if (sl != 'a') {
                while (sl != '/') {
                  sl=getc(log);
                  putchar(sl);
                    if (sl != 'm') {
                      while (sl != '/') {
                        sl=getc(log);
                        putchar(sl);
          
        }
      }
        }
      }
    }
  }
  fclose(log);
}
Под споилером содержимое ping.txt после выполнения программы, красным выделено то что надо вывести.
Кликните здесь для просмотра всего текста
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_req=1 ttl=64 time=0.141 ms
64 bytes from 127.0.0.1: icmp_req=2 ttl=64 time=0.065 ms
64 bytes from 127.0.0.1: icmp_req=3 ttl=64 time=0.108 ms
64 bytes from 127.0.0.1: icmp_req=4 ttl=64 time=0.128 ms
64 bytes from 127.0.0.1: icmp_req=5 ttl=64 time=0.127 ms
64 bytes from 127.0.0.1: icmp_req=6 ttl=64 time=0.121 ms
64 bytes from 127.0.0.1: icmp_req=7 ttl=64 time=0.126 ms
64 bytes from 127.0.0.1: icmp_req=8 ttl=64 time=0.118 ms
64 bytes from 127.0.0.1: icmp_req=9 ttl=64 time=0.121 ms
64 bytes from 127.0.0.1: icmp_req=10 ttl=64 time=0.120 ms
64 bytes from 127.0.0.1: icmp_req=11 ttl=64 time=0.123 ms
64 bytes from 127.0.0.1: icmp_req=12 ttl=64 time=0.120 ms
64 bytes from 127.0.0.1: icmp_req=13 ttl=64 time=0.119 ms
64 bytes from 127.0.0.1: icmp_req=14 ttl=64 time=0.118 ms
64 bytes from 127.0.0.1: icmp_req=15 ttl=64 time=0.121 ms
64 bytes from 127.0.0.1: icmp_req=16 ttl=64 time=0.120 ms
64 bytes from 127.0.0.1: icmp_req=17 ttl=64 time=0.122 ms
64 bytes from 127.0.0.1: icmp_req=18 ttl=64 time=0.119 ms
64 bytes from 127.0.0.1: icmp_req=19 ttl=64 time=0.124 ms
64 bytes from 127.0.0.1: icmp_req=20 ttl=64 time=0.129 ms
64 bytes from 127.0.0.1: icmp_req=21 ttl=64 time=0.119 ms
64 bytes from 127.0.0.1: icmp_req=22 ttl=64 time=0.117 ms
64 bytes from 127.0.0.1: icmp_req=23 ttl=64 time=0.116 ms
64 bytes from 127.0.0.1: icmp_req=24 ttl=64 time=0.117 ms
64 bytes from 127.0.0.1: icmp_req=25 ttl=64 time=0.121 ms
64 bytes from 127.0.0.1: icmp_req=26 ttl=64 time=0.120 ms
64 bytes from 127.0.0.1: icmp_req=27 ttl=64 time=0.122 ms
64 bytes from 127.0.0.1: icmp_req=28 ttl=64 time=0.122 ms
64 bytes from 127.0.0.1: icmp_req=29 ttl=64 time=0.095 ms
64 bytes from 127.0.0.1: icmp_req=30 ttl=64 time=0.088 ms

--- 127.0.0.1 ping statistics ---
30 packets transmitted, 30 received, 0% packet loss, time 28997ms
rtt min/avg/max/mdev = 0.065/0.117/0.141/0.017 ms
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.04.2013, 18:01
Ответы с готовыми решениями:

Все элементы массива, значения которых на 50% меньше среднего или на 50% больше среднего значения, заменить нулем
Вычислить среднее значение элементов массива. Вывести на дисплей полученное значение. После этого...

Запрос на вывод среднего значения, которое выше среднего
Всем добрый день! Проблема следующего характера: мне нужен запрос на вывод среднего значения,...

Вывод среднего значения
Как сделать так, чтобы в текстбокс &quot;Mid_Sum&quot; выводилось среднее значение массива C (элементы...

Вывод среднего значения в СКД
Добрый день! Конфигурация УТ 11.2. Создан отчет в СКД, в ресурсам указан вывод среднего...

0
08.04.2013, 18:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.04.2013, 18:01
Помогаю со студенческими работами здесь

Вывод среднего значения чисел
Здравствуйте. Нужна помощь. Задача: Найти среднее значение чисел до 10 со знаком. Числа...

Вывод в каждую строку среднего значения
Добрый вечер! по заданию я составил для кнопки &quot;расчет&quot; событие расчета среднего бала 5-ти...

Реализовать таймаут ожидания отклика от сервера во избежание краха приложения
Вообщем есть поток в котором выполняется вот такой кусок кода try { ...

Группировка и вывод среднего, минимального и максимального значения
Даны три базы Client, Product и Sale Дано 3 задания а) Занести информацию о трёх продажах...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru