Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.89
shyrick
0 / 0 / 0
Регистрация: 10.12.2009
Сообщений: 5
#1

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

10.12.2009, 12:34. Просмотров 2537. Ответов 7
Метки нет (Все метки)

Приветствую! Вот столкнулся с неким траблом в студии. Хронология: значит попросили помочь с задачей "Задан текст состоящий из строк. Строк не менее 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
Всем откликнувшимся буду очень благодарен...
0
Вложения
Тип файла: zip Builder.zip (6.2 Кб, 20 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2009, 12:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Странный трабл с компилятором Visual Studio 6.0 (C++):

С++ vs. Visual Studio C++! - C++
В чем разница между C++ и Visual Studio C++??

Visual Studio vs Visual Studio - C++
Скажите какую версию лучше приобрести, учитывая что 2010 у меня очень зависает. Помогите пожалуйста.

Visual Studio 2010 - C++
Кто нибудь пробовал??? Хочу узнать отзывы...

treeView Visual studio - C++
помогите с записью в файл ! есть такие классы и методы template&lt;typename T,typename Tl&gt; class Buss { public: T buss_number; //...

Problem with Visual Studio 10 - C++
Начал писать на OpenGL написал инициализацию (писал без тестовых компиляций) вылезла ошибка Ошибка 1 error LNK1123: сбой при...

Visual Studio + CUDA - C++
Устанавливаю CUDA 7.5 с сайта https://developer.nvidia.com/cuda-downloads Затем для интеграции в Visual Studio 2015 скачиваю Nsight™...

7
Harlequin
41 / 41 / 4
Регистрация: 08.11.2009
Сообщений: 167
10.12.2009, 13:23 #2
может все дело в тот что vcl борландовская фишка и в студии такого нет?
да и программа у тебя консольная
на кой тебе vcl?
0
shyrick
0 / 0 / 0
Регистрация: 10.12.2009
Сообщений: 5
10.12.2009, 14:04  [ТС] #3
Да не обращайте вы внимания на эту vcl...уберите эти 3 строчки...это не решает проблему не коим образом
0
Harlequin
41 / 41 / 4
Регистрация: 08.11.2009
Сообщений: 167
10.12.2009, 15:00 #4
C++
1
2
3
#include<iostream>
 
using namespace std;
0
shyrick
0 / 0 / 0
Регистрация: 10.12.2009
Сообщений: 5
10.12.2009, 15:53  [ТС] #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;
Благодарю

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

не устанавливается visual studio - C++
выдает окно с надписью visual studiohttp://demon666268.spaces.ru/pictures/?read=72729983 и дальше не в какую не хочет ставится

Готовый проекты в Visual Studio на С++ - C++
Здравствуйте. Я ищу готовые проекты visual studio на с++. Нужны они мне для метрического анализа для диплома. Несколько открытых...

Ищу аналог Visual Studio - C++
Интересует аналоги Visual Studio, как под винду, так и под linux. Требование - это наличие аналога intellisense ( с автодополнением и...

Win32 in Visual Studio 2008 - C++
Я в С++ полный ноль, но хотелось бы создать простое приложение с интерфейсом(Button, Label, Edit...). Помогите советами и если не трудно...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.