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

Странный трабл с компилятором Visual Studio 6.0 - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.89
shyrick
0 / 0 / 0
Регистрация: 10.12.2009
Сообщений: 5
10.12.2009, 12:34     Странный трабл с компилятором Visual Studio 6.0 #1
Приветствую! Вот столкнулся с неким траблом в студии. Хронология: значит попросили помочь с задачей "Задан текст состоящий из строк. Строк не менее 10. В строке не менее 5 слов, в слове не менее 5 символов. Слова разделяются пробелом. Осуществить сортировку строк по их длине в порядке возрастания. Программ должна осуществлять ввод текста и вывод обработанного варианта" Я ее написал в C++Builder (студии не было под рукой). Само собой разумеется все работало без проблем. Но на след. день заказчик мне говорит, задача не правильно работает, не так как у тебя (а я отправил цппшку и ехешку) Я О_о быть не может.... Заказчик компилил ее в студии 6.0. И действительно откомпилив код в студии предо мной предстали некие траблы, неправильное выполнение программы. Я никогда с таким не сталкивался, что бы один и тот же код компилился по разному, причем он даже не должен так компилится как получается в студии. Кто что скажет по этому поводу?
Вот привожу код и ехе собранную билдером (она работает правильно)
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
#include <vcl.h>           //
#pragma hdrstop            //   если компилируется в Microsoft Visual Studio C++
#pragma argsused           //   то эти строчки убрать
 
 
#include<iostream.h>
#include<stdlib.h>
#include<string>
 
 
 
int main() {
 
    struct line {                  //описана структура содержащая строку и ее длину
        char str[255];
        int len;
    };
 
    int str_count=0,i,j,count_words,count_chars;
    char buf[255],buf2[255],*p;
        bool verifi,pr=0;
    
        line text[500];              //описано 500 структур...можно изменить на другое
        line temp;
 
    cout<<"Enter the text, to cancel, type 0"<<endl;
 
    while(true) {                       //бескончный цикл для ввода строк, будет вводить строки пока не будет введен 0
                verifi=false;
                while(!verifi) {                      //бесконечный цикл, будет выводить ошибку пока введенная строка не будет соответствовать условию задачи (5 слов, 5символов и тд)
                cout<<"Line "<<str_count+1<<":  ";
                gets(buf);
                if (strcmp(buf,"0")==0 && str_count>=10) {      //проверка кол-ва введенных строк..не менее 10
                                      pr=1;
                                      break;
                                      }
                        count_words=0;
                        count_chars=0;
                        strcpy(buf2,buf);
                        p=strtok(buf2," ");
                        while(p!=NULL){
                                if (strlen(p)>=5) count_chars++;
                                p=strtok(NULL," ");
                                count_words++;
                        }
                        if (count_words>=5 && count_words==count_chars) verifi=true;         //проверка кол-ва слов в строке и символов в слове...не менее 5
                        else {
                                cout<<"* Error: not the condition. Please re-enter *"<<endl;
                                verifi=false;
                                }
                }
                if (pr==1) break;
        strcpy(text[str_count].str,buf);       //введенная строка заносится в массив
        text[str_count].len=strlen(buf);       //длина строки заносится в массив
        str_count++;
        }
 
        for (i=0; i<str_count-1; i++)                        //сортировка массива по возрастанию длин строк
                for (int j=i+1; j<str_count; j++)
                        if (text[j].len<text[i].len) {
                                 temp=text[i];
                                 text[i]=text[j];
                                 text[j]=temp;
                                 }
 
        cout<<endl<<"Sorted text: "<<endl<<endl;            //вывод отсортированного текста
    for (i=0; i<str_count; i++)
        cout<<text[i].str<<endl;
 
        cin.get();
    
    return 0;
}
просьба ко всем кто может откомпилить сей код в студии и в билдере и сравнить или сравнить вот с этой ехехой Builder.zip
Всем откликнувшимся буду очень благодарен...
Вложения
Тип файла: zip Builder.zip (6.2 Кб, 20 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2009, 12:34     Странный трабл с компилятором Visual Studio 6.0
Посмотрите здесь:

Visual C++ Visual Studio C++
С++ vs. Visual Studio C++! C++
C++ Visual studio
Visual C++ Visual studio
Visual Studio vs Visual Studio C++
Visual Studio 6 Visual C++
C++ Visual Studio C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Harlequin
 Аватар для Harlequin
41 / 41 / 4
Регистрация: 08.11.2009
Сообщений: 167
10.12.2009, 13:23     Странный трабл с компилятором Visual Studio 6.0 #2
может все дело в тот что vcl борландовская фишка и в студии такого нет?
да и программа у тебя консольная
на кой тебе vcl?
shyrick
0 / 0 / 0
Регистрация: 10.12.2009
Сообщений: 5
10.12.2009, 14:04  [ТС]     Странный трабл с компилятором Visual Studio 6.0 #3
Да не обращайте вы внимания на эту vcl...уберите эти 3 строчки...это не решает проблему не коим образом
Harlequin
 Аватар для Harlequin
41 / 41 / 4
Регистрация: 08.11.2009
Сообщений: 167
10.12.2009, 15:00     Странный трабл с компилятором Visual Studio 6.0 #4
C++
1
2
3
#include<iostream>
 
using namespace std;
shyrick
0 / 0 / 0
Регистрация: 10.12.2009
Сообщений: 5
10.12.2009, 15:53  [ТС]     Странный трабл с компилятором Visual Studio 6.0 #5
Вот как должно и как компилирует билдер
http://www.fotohost.by/pic_b/09/12/1...c867a229c3.jpg


А вот как корявит VS 6.0
http://www.fotohost.by/pic_s/09/12/1...937d81534b.jpg

По поводу VCL что бы ни кого не смущало: заказчик особь женского пола, с присущими всем дамам нелогичностью мышления, а иногда и отсутствием мышления :rolleyes:. Вот и представляем: создает она после долгих раздумий консольный проект в билдере, там по умолчанию стоит галка на использование вцл, она конечно же не зная что это такое жмякает ОК, вставляет код без первых 3 строчек, F9, неведомая для нее ошибка, очередной звонок мне....А мне это надо?? Вот потому я так и оставил все...

Добавлено через 1 минуту
Цитата Сообщение от Harlequin Посмотреть сообщение
C++
1
2
3
#include<iostream>
 
using namespace std;
Да не помогает.....

Добавлено через 50 минут
Хотя я не совсем прав... помогло
C++
1
2
3
4
5
#include<iostream>
#include<stdlib.h>
#include<string>
 
using namespace std;
Благодарю

А теперь расскажите мне почему так...
shyrick
0 / 0 / 0
Регистрация: 10.12.2009
Сообщений: 5
10.12.2009, 18:09  [ТС]     Странный трабл с компилятором Visual Studio 6.0 #6
Как-то я все время без этого обходился и нормально было...
Harlequin
 Аватар для Harlequin
41 / 41 / 4
Регистрация: 08.11.2009
Сообщений: 167
10.12.2009, 20:44     Странный трабл с компилятором Visual Studio 6.0 #7
using namespace std; - это подключение пространства имен std
именно в этом пространстве имен находятся нужные функции потокового ввода-вывода cin и cout
можно обойтись и без этого подключения, но тогда надо будет писать std::cin и std::cout
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2009, 23:23     Странный трабл с компилятором Visual Studio 6.0
Еще ссылки по теме:

C++ Visual Studio
visual Studio C++
Си на Visual Studio Visual C++
Модуль для Rad Studio типа VAssist для Visual Studio C++ Builder
C++ Visual Studio C++ и OpenCV

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

Или воспользуйтесь поиском по форуму:
shyrick
0 / 0 / 0
Регистрация: 10.12.2009
Сообщений: 5
11.12.2009, 23:23  [ТС]     Странный трабл с компилятором Visual Studio 6.0 #8
хм...странно, до этого случая всегда без проблем было...
Yandex
Объявления
11.12.2009, 23:23     Странный трабл с компилятором Visual Studio 6.0
Ответ Создать тему
Опции темы

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