Форум программистов, компьютерный форум CyberForum.ru

Не работает функция! - C++

Восстановить пароль Регистрация
 
goocha
0 / 0 / 0
Регистрация: 25.10.2011
Сообщений: 38
11.02.2012, 23:05     Не работает функция! #1
Получает имя файла и возвращает позицию слова наибольшей длины. На экран выводится слово наибольшей длины. Но почемуто функция не работает!
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
using namespace std;
 
int func(char*, char);
 
void main () {
 
 FILE *file;
 char str[12], smb, s[255];
 int i;
 cout << ("\n\nInput name of your file: ");
 cin >> ("%12s",str);
 
//creating file...//
 if ((file = fopen(str, "w")) == NULL)
   cout << ("\r\nFile '%s' could not be created\n", str);
 else
  {
    cout << ("\r\nFile ");
    cout << ("'%s' ", str);
    cout << ("has been created\r\n\r\n");
    cout << ("Write data to file:");
    cout << ("\r\n\r\n");
   do {
    smb = getche();
    if (smb == ' ') smb = ',';
     else if (smb == '\r') {smb = ';'; putc('\n',stdout);}
     if (smb != 0x1B) putc(smb,file);
   } while (smb != 0x1B);
   putc('.',file);
 
    
   char simvol;
    for(int i=0; (simvol=getc(file))!=EOF; i++)
    s[i]=simvol;
    fclose(file);
   cprintf("\r\nClose file.");
  }
}
 
int func(char name[12],char s[255])
{
  FILE  *fPtr;
  char  tmp;
  if ((fPtr = fopen(name, "r+")) == NULL)
  cprintf("\r\nFile '%s' could not be opened\n", name);
 else
  {
   printf("\r\n\r\nFile ");
   printf("'%s' ", name);
   printf("has been opened");
    int maxStart , maxLen=0, len=0;
    for(int i=0; i!='.'; i++) {
    // i номер позиции в строке
    // maxLen длина самого длинного слова
    // maxStart номер позиции с которой начинается самое длинное слово
       if (s[i]!=',' && s[i]!='.' && s[i]!=';' && i<strlen(s)-1)
        {
            len++;
        }
       else
        {
            if(i==strlen(s)-1){len++;i++;}
            if(len>maxLen){maxLen=len; maxStart = i-maxLen;}
            len=0;
        }
    }
        printf("\nСлово(а) максимальной длины в файле F.txt:\n");
    for(int i=maxStart; i<maxStart+maxLen; i++)
        {
            printf("%c", s[i]);
        }
    printf("\nДлина самого длинного слова равна %d символов.\n", maxLen);
 
 
  }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2012, 23:05     Не работает функция!
Посмотрите здесь:

C++ не работает функция!
C++ Не работает функция в С++
Не работает функция. Списки. C++
C++ Неправильно работает функция
C++ Как работает функция?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
AKE
11 / 11 / 0
Регистрация: 09.05.2010
Сообщений: 384
12.02.2012, 00:01     Не работает функция! #2
((s[i]!=',') && (s[i]!='.') && (s[i]!=';') && (i<strlen(s)-1))
goocha
0 / 0 / 0
Регистрация: 25.10.2011
Сообщений: 38
12.02.2012, 00:23  [ТС]     Не работает функция! #3
Можете помочь исправить?
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
12.02.2012, 07:04     Не работает функция! #4
goocha, а на чем пишете ? С или С++ ?. А то сразу и не поймешь ....

Добавлено через 40 минут
Цитата Сообщение от goocha Посмотреть сообщение
почемуто функция не работает!
Прототип функции есть . Определение есть . А вызов где ? Где в main
вызов функции ? Может забыли вставить ?
goocha
0 / 0 / 0
Регистрация: 25.10.2011
Сообщений: 38
12.02.2012, 14:39  [ТС]     Не работает функция! #5
Все равно не работает.

Добавлено через 48 минут
На Си но впринципе не важно! Помогите просто срочно надо.
Yandex
Объявления
12.02.2012, 14:39     Не работает функция!
Ответ Создать тему
Опции темы

Текущее время: 16:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru