Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Функциональный КОСЯК 
:(
    Опции темы
Ufyljy
  Дата 20.10.2007, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 5.10.2007

Репутация: нет
Всего: 1



Код

/* -_-_ Создано: 
                 Автор: 
        Дополнения: 
                    Коррекции:
        Благодарности: wils0n, DjoNIK, FREEDEV, Kuvaldis, Lazin
*/   

#include<stdio.h>
#include<conio.h>

#define test puts("*");
#define br putchar('\n');

char mill[10]; int k,i,l,m;
char point='y';

int textModule()
{
    puts("Zdrastvuytu!");
    puts("V etoy programme vam nado vvesti chislo");
    puts("Nachinayushiesya na '1' s nnim chislom 0");
    
    br;
}

int howNum()
{
    k=0;
    
    for(i=0; i<10; i++)
    {
             if(mill[i]=='1')
             {
                           k=k+1;
             }
    }
 
} 

int firstNum()
{
    printf("Enter mill: "); scanf("%s",&mill);
    if(mill[0] != '1') {printf("\a"); firstNum();}
    howNum();
}

int askQu()
{
    br; br;
    printf("Jelaete li vi vvesti ehe (y or n)? "); scanf("%s",&point);
    if(point == 'y' or point == 'Y') {firstNum();}
}
   

main()
{
      textModule(); firstNum();
      
      if(k = 1)
      {printf("Bessmilennoe virajenie");}      

      askQu(); getch();
}


Программа компилируется smile И это уже должно радовать, однако, как всегда что-то должно насрать на душу.
Если рассказать: Программа проверяет - считается ли первый элемент строки =1, если да, то выдает "бессмысленное выражение",
если нет - это уже другая история.. Самое главное, что после этого в конце задается вопрос: хотите ли еще ввести число?
Допустим, да, вводим число =1. 
НО программа не выдает "бессмысленное выражение", ПАЧЕММУУУ?

PM MAIL   Вверх
Daevaorn
Дата 20.10.2007, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 51
Всего: 70



Цитата(Ufyljy @  20.10.2007,  12:47 Найти цитируемый пост)

НО программа не выдает "бессмысленное выражение", ПАЧЕММУУУ?

потому что ты этого не запрограммировал.
PM MAIL WWW   Вверх
Goganchic
Дата 20.10.2007, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 678
Регистрация: 18.6.2004

Репутация: нет
Всего: 5



Код

 if(k = 1)

может быть ты имел ввиду:
Код

 if(k == 1)

PM Jabber   Вверх
Ufyljy
Дата 20.10.2007, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 5.10.2007

Репутация: нет
Всего: 1



> потому что ты этого не запрограммировал.
Конкретней
PM MAIL   Вверх
S.A.G.
Дата 20.10.2007, 18:54 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


не эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1339
Регистрация: 20.7.2006
Где: in ad equate

Репутация: нет
Всего: 19



Цитата(Ufyljy @  20.10.2007,  17:40 Найти цитируемый пост)
Конкретней

Если пытаешься считать строку, то адрес определять ненужно т.к. имя массива является адресом его первого элемента.

Неправильно:
Код
scanf("%s", &mill);

Правильно:
Код
scanf("%s", mill);


Условие составлено неверно:
Код
 if(point == 'y' or point == 'Y')

Правильно:
Код
 if((point == 'y') | (point == 'Y'))


Окончательный вариант работающей программы:

Код
/* -_-_ Ñîçäàíî: 
                 Àâòîð: 
        Äîïîëíåíèÿ: 
                    Êîððåêöèè:
        Áëàãîäàðíîñòè: wils0n, DjoNIK, FREEDEV, Kuvaldis, Lazin
*/   

#include<stdio.h>
#include<conio.h>

#define test puts("*");
#define br putchar('\n');

char mill[10]; int k,i,l,m;
char point='y';

int textModule()
{
    puts("Zdrastvuytu!");
    puts("V etoy programme vam nado vvesti chislo");
    puts("Nachinayushiesya na '1' s nnim chislom 0");
    
    br;
    return 0;
}

int howNum()
{
    k=0;
    
    for(i=0; i<10; i++)
    {
             if(mill[i]=='1')
             {
                           k=k+1;
             }
    }
    return 0;
 
} 

int firstNum()
{
    printf("Enter mill: "); scanf("%s", mill);
    if(mill[0] != '1') {printf("\a"); firstNum();}
    howNum();
    return 0;
}

int askQu()
{
    br; br;
    printf("Jelaete li vi vvesti ehe (y or n)? "); scanf("%s",&point);
    if ((point == 'y') | (point == 'Y')) {firstNum();}
    return 0;
}
   

int main(void)
{
      textModule(); firstNum();
      
      if(k = 1)
      {printf("Bessmilennoe virajenie");}      

      askQu(); getch();
      return 0;

}


Это сообщение отредактировал(а) S.A.G. - 20.10.2007, 19:20


--------------------
Вот она задачка: спасти себя от себя самого © Cube
Sometimes good people do evil things © A Simple Plan
PM   Вверх
S.A.G.
Дата 20.10.2007, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1339
Регистрация: 20.7.2006
Где: in ad equate

Репутация: нет
Всего: 19



Не забывай возвращать 0, если в определении или прототипе у тебя заявлено, что функция возвращает значение.


--------------------
Вот она задачка: спасти себя от себя самого © Cube
Sometimes good people do evil things © A Simple Plan
PM   Вверх
archimed7592
Дата 20.10.2007, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Цитата(S.A.G. @  20.10.2007,  18:54 Найти цитируемый пост)
if(point == 'y' or point == 'Y')

Тут всё правильно.


Цитата(S.A.G. @  20.10.2007,  18:54 Найти цитируемый пост)
if((point == 'y') | (point == 'Y'))

А вот здесь ошибка.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
S.A.G.
Дата 20.10.2007, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1339
Регистрация: 20.7.2006
Где: in ad equate

Репутация: нет
Всего: 19



У меня второе компиллируется, а первое - нет.

В чем ошибка?

Сгораю от любопытства, если честно.

Это сообщение отредактировал(а) S.A.G. - 20.10.2007, 19:43


--------------------
Вот она задачка: спасти себя от себя самого © Cube
Sometimes good people do evil things © A Simple Plan
PM   Вверх
Daevaorn
Дата 20.10.2007, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 51
Всего: 70



Цитата(S.A.G. @  20.10.2007,  20:40 Найти цитируемый пост)
В чем ошибка?

побитовое или?
PM MAIL WWW   Вверх
archimed7592
Дата 20.10.2007, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Цитата(S.A.G. @  20.10.2007,  19:40 Найти цитируемый пост)
а первое - нет.

Плохой компилятор: см. ISO/IEC 14882:2003 2.5 Alternative tokens.

Цитата(S.A.G. @  20.10.2007,  19:40 Найти цитируемый пост)
У меня второе компиллируется

У меня такое тоже компилируется
Код
((int *)0) = 5;

Только это ещё не означает корректность.

Как уже сказал Daevaorn, ошибка в том, что используешь побитовое "или", а не логическое. В частности, в случае с логическим "или" совсем не нужны скобки вокруг сравнений point == 'y'.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
S.A.G.
Дата 20.10.2007, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


не эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1339
Регистрация: 20.7.2006
Где: in ad equate

Репутация: нет
Всего: 19



А, || надо было.

Круглые скобки - это елемент стиля. Т.е. как кому удобно.


--------------------
Вот она задачка: спасти себя от себя самого © Cube
Sometimes good people do evil things © A Simple Plan
PM   Вверх
Ufyljy
  Дата 22.10.2007, 03:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 5.10.2007

Репутация: нет
Всего: 1



Все равно не работает (уже исправил (k==1) ). Если повторно набираю "1", происходит выход из программы.

Почему это правильно? scanf("%s", mill);
Ведь если даже я укажу адрес, ошибки не будет, компилятор ее не выдаст.


А если это и правильно, я до этого создавал темы, и в коде, который я там выкладывал, где-то было scanf("%s",&mill);
И почему меня до этого никто не поправил?

> Не забывай возвращать 0, если в определении или прототипе у тебя заявлено, что функция возвращает значение.
Стоп, к сожалению я не знаю где это заявляется.

Насколько я знаю оператор && можно заменить на AND, оператор || на OR

PM MAIL   Вверх
Lazin
Дата 22.10.2007, 07:22 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



Цитата(Ufyljy @  22.10.2007,  03:39 Найти цитируемый пост)
Насколько я знаю оператор && можно заменить на AND, оператор || на OR

лучше ненадо, читать потом невозможно будет smile
PM MAIL Skype GTalk   Вверх
archimed7592
Дата 22.10.2007, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Цитата(Ufyljy @  22.10.2007,  03:39 Найти цитируемый пост)
Почему это правильно? scanf("%s", mill);
Ведь если даже я укажу адрес, ошибки не будет, компилятор ее не выдаст.

Компилятор не выдаст ошибки даже, если ты напишешь scanf("%s", 21, 17);

Цитата(Ufyljy @  22.10.2007,  03:39 Найти цитируемый пост)
А если это и правильно, я до этого создавал темы, и в коде, который я там выкладывал, где-то было scanf("%s",&mill);
И почему меня до этого никто не поправил?

В данном конкретном случае никакой разницы нет, но если, вдруг, ты заменишь у mill тип на char *, то получишь не совсем тот результат, какой хотел бы...

Цитата(Ufyljy @  22.10.2007,  03:39 Найти цитируемый пост)
Насколько я знаю оператор && можно заменить на AND, оператор || на OR

Только писать их нужно маленькими буквами.

Цитата(Lazin @  22.10.2007,  07:22 Найти цитируемый пост)
лучше ненадо, читать потом невозможно будет smile 

Почему?



--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Lazin
Дата 22.10.2007, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



Цитата(archimed7592 @  22.10.2007,  09:53 Найти цитируемый пост)
Почему?
А зачем превращать С в свой личный язык программирования, сделать так конечно можно, но это плохо с точки зрения стиля.
Цитата(archimed7592 @  22.10.2007,  09:53 Найти цитируемый пост)
Только писать их нужно маленькими буквами.

Почему?
PM MAIL Skype GTalk   Вверх
Ufyljy
Дата 22.10.2007, 10:12 (ссылка)   | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 5.10.2007

Репутация: нет
Всего: 1



Токо все равно прога не корректно работает

PM MAIL   Вверх
SergeCpp
Дата 22.10.2007, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 15
Всего: 124



if( ( point == 'y' ) | ( point == 'Y' ) )

Да, тут побитовое OR, однако ошибки нет

Да, тут вычисляются обе части в OR, однако в данном случае это некритично

Кстати, ветвлений не будет, так как не нужно обходить вычисление правой части OR при true в первой

PM MAIL WWW ICQ   Вверх
archimed7592
Дата 22.10.2007, 11:46 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Цитата(Lazin @  22.10.2007,  09:59 Найти цитируемый пост)
А зачем превращать С в свой личный язык программирования, сделать так конечно можно, но это плохо с точки зрения стиля.

Цитата(Lazin @  22.10.2007,  09:59 Найти цитируемый пост)
Почему?

Это не свой собственный язык. Это Стандартные ключевые слова(точнее alternative tokens) и любой нормальный компилятор их понимает. Ты наверное решил, что я предлагаю использовать #define? Нет. Я даже указывал чуть выше пункт в Стандарте, где описаны эти токены(IIRC, 2.5).


Цитата(SergeCpp @  22.10.2007,  10:13 Найти цитируемый пост)
Да, тут побитовое OR, однако ошибки нет

Ок, уточню что я имел ввиду: здесь идеологическая ошибка.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Lazin
Дата 22.10.2007, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



Цитата(archimed7592 @  22.10.2007,  11:46 Найти цитируемый пост)
Это Стандартные ключевые слова(точнее alternative tokens) и любой нормальный компилятор их понимает. Ты наверное решил, что я предлагаю использовать #define?

В msvs8 это сделано через макросы объявленные в <iso646.h>, так-что разницы нет.

Добавлено через 4 минуты и 36 секунд
Цитата(archimed7592 @  22.10.2007,  11:46 Найти цитируемый пост)
Я даже указывал чуть выше пункт в Стандарте, где описаны эти токены(IIRC, 2.5).

А ничего что он на Си пишет?  smile 

PM MAIL Skype GTalk   Вверх
archimed7592
Дата 22.10.2007, 12:11 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Цитата(Lazin @  22.10.2007,  11:59 Найти цитируемый пост)
В msvs8 это сделано через макросы объявленные в <iso646.h>, так-что разницы нет. 

Читай внимательней стандарт!
Цитата
Annex C Compatibility

C.2.2.2 Header <iso646.h>

The tokens and, and_eq, bitand, bitor, compl, not_eq, not, or, or_eq, xor, and xor_eq are
keywords in this International Standard (2.11). They do not appear as macro names defined in
<ciso646>.


Это во-первых. Во-вторых, эти ключевые слова работают(должны работать) без подключения каких-либо хэдеров(как, к примеру, ключевое слово for).
В-третьих, даже если это будет сделано через макросы, то поведуй мне пожалуйста, чем это будет противоречить стандарту?
Цитата
2.11 Keywords

2 Furthermore, the alternative representations shown in Table 4 for certain operators and punctuators (2.5) are
reserved and shall not be used otherwise
:
далее идёт таблица с альтернативными токенами

Если эти имена нельзя использовать в качестве идентификаторов, то никаких проблем, даже если они будут определены через макросы не будет.

Добавлено через 5 минут и 27 секунд
Цитата(Lazin @  22.10.2007,  11:59 Найти цитируемый пост)
А ничего что он на Си пишет?  smile 

А с чего ты взял? Во-первых, он об этом нигде явно не сказал(и это его проблемы - если нужно решение на Си, то, будьте добры, указывайте это явно). Во-вторых, даже используя С-стиль написания программ он использует С++ компиялтор и делает своим модулям расширение .cpp(иначе такое не скомпилировалось).

Это сообщение отредактировал(а) archimed7592 - 22.10.2007, 12:12


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Lazin
Дата 22.10.2007, 13:09 (ссылка)  | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



Цитата(archimed7592 @  22.10.2007,  12:11 Найти цитируемый пост)
А с чего ты взял?

Цитата(Ufyljy @  19.10.2007,  10:58 Найти цитируемый пост)
Вообщем я не в тему  smile В том смысле, что программа обучения не дошла до матриц, а мне-таки интересно двигать чуть дальше. 
Вот. Познакомился с матрицами из 9 элементов, написал программу на Си.


Цитата(archimed7592 @  22.10.2007,  12:11 Найти цитируемый пост)
эти ключевые слова работают(должны работать) без подключения каких-либо хэдеров(как, к примеру, ключевое слово for).

нет, они не работают без подключения заголовочного файла.. я же говорил
И вообще, если даже это часть стандарта, то все равно, имхо, лучше этим не пользоваться, если конечно кто-нибудь будет читать твою программу. Я к примеру не у кого в коде не встречал and or.... Зачем плодить сущности, если есть &&, то зачем тогда and (который к тому-же многие IDE не подсвечивают).
PM MAIL Skype GTalk   Вверх
archimed7592
Дата 22.10.2007, 13:12 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Цитата(Lazin @  22.10.2007,  13:09 Найти цитируемый пост)
И вообще, если даже это часть стандарта, то все равно, имхо, лучше этим не пользоваться, если конечно кто-нибудь будет читать твою программу. Я к примеру не у кого в коде не встречал and or.... Зачем плодить сущности, если есть &&, то зачем тогда and (который к тому-же многие IDE не подсвечивают). 

Глупость какая... Давай использовать только кл. слово class ибо зачем плодить сущности и использовать struct, когда это, по сути одно и то же...

Добавлено через 17 секунд
Цитата(Lazin @  22.10.2007,  13:09 Найти цитируемый пост)
нет, они не работают без подключения заголовочного файла.. я же говорил

Выкинуть компилятор.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Lazin
Дата 22.10.2007, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



Цитата(archimed7592 @  22.10.2007,  13:12 Найти цитируемый пост)
Выкинуть компилятор.

visual studio 8 - на свалку
Цитата(archimed7592 @  22.10.2007,  13:12 Найти цитируемый пост)
Глупость какая... Давай использовать только кл. слово class ибо зачем плодить сущности и использовать struct, когда это, по сути одно и то же...

Не надо передергивать, я не это имел ввиду. Попробуй на собеседовании при приеме на работу написать что-то вроде if (a == 0 and b)... вряд-ли тебе дадут возможность объяснить что это часть стандарта, а компилятор нужно выкинуть. В реальной работе лучше использовать то, что понятно людям, которые с тобой работают, и компилятору, который купила фирма. А в реальных проектах эти "ключевые слова" можно встретить разве что в комментариях.
PM MAIL Skype GTalk   Вверх
JackYF
Дата 22.10.2007, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 18
Всего: 162



Цитата(Lazin @  22.10.2007,  13:45 Найти цитируемый пост)
visual studio 8 - на свалку

угу.

Цитата(Lazin @  22.10.2007,  13:45 Найти цитируемый пост)
ряд-ли тебе дадут возможность объяснить что это часть стандарта, а компилятор нужно выкинуть.

если не дадут объясниться, то нафиг таких работодателей


Цитата(Lazin @  22.10.2007,  13:45 Найти цитируемый пост)
В реальной работе лучше использовать то, что понятно людям

а еще людям не понятны паттерны (зачем, легче код скопипастить), система сигнал/слотов (зачем, можно функцию напрямую вызвать)

Цитата(Lazin @  22.10.2007,  13:45 Найти цитируемый пост)
и компилятору, который купила фирма.

синдром покупщика... g++/gcc покупать не требуется, например.


Цитата(Lazin @  22.10.2007,  13:45 Найти цитируемый пост)
А в реальных проектах

про сколько реальных проектов (в процентном соотношении) ты можешь говорить?


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
archimed7592
Дата 22.10.2007, 15:42 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Цитата(Lazin @  22.10.2007,  13:45 Найти цитируемый пост)
visual studio 8 - на свалку

Именно.

Цитата(Lazin @  22.10.2007,  13:45 Найти цитируемый пост)
Попробуй на собеседовании при приеме на работу написать что-то вроде if (a == 0 and b)...

Думаю, я как-нибудь переживу, если меня не возьмут туда, где не чтиться Стандарт.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Lazin
Дата 22.10.2007, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



Цитата(archimed7592 @  22.10.2007,  15:42 Найти цитируемый пост)
Думаю, я как-нибудь переживу, если меня не возьмут туда, где не чтиться Стандарт. 

Цитата(JackYF @  22.10.2007,  15:22 Найти цитируемый пост)
синдром покупщика... g++/gcc покупать не требуется, например.

Много-ли контор, где его (g++) реально используют (для программирования под Windows). В основном все используют компиляторы, которые не "чтят" стандарт.. пардон Стандарт.
Цитата(JackYF @  22.10.2007,  15:22 Найти цитируемый пост)
про сколько реальных проектов (в процентном соотношении) ты можешь говорить? 

в процентном отношении от чего?
PM MAIL Skype GTalk   Вверх
archimed7592
Дата 22.10.2007, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Цитата(Lazin @  22.10.2007,  16:29 Найти цитируемый пост)
в процентном отношении от чего? 

Мсье слышал про объективное мнение smile?
Объективное мнение, в отличии от субъективного учитывает всё(в данном случае все существующие проекты smile).


Цитата(Lazin @  22.10.2007,  16:29 Найти цитируемый пост)
Много-ли контор, где его (g++) реально используют (для программирования под Windows). В основном все используют компиляторы, которые не "чтят" стандарт.. пардон Стандарт.

Конкретно я использую и не испытываю от этого никаких неудобств, а что касается контор - это их личное дело, что именно использовать. При чём тут они вообще?


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Lazin
Дата 22.10.2007, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



Цитата(archimed7592 @  22.10.2007,  16:42 Найти цитируемый пост)
Мсье слышал про объективное мнение smile?
Объективное мнение, в отличии от субъективного учитывает всё(в данном случае все существующие проекты smile).

Мсье не умеет читать ваши мысли.
Мое мнение не может учитывать все существующие проекты, но может учитывать те, в которых я участвовал, или изучал, по работе. И я никогда с этим не сталкивался.
Ты сам когданибудь использовал эти операторы?



PM MAIL Skype GTalk   Вверх
archimed7592
Дата 22.10.2007, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 58
Всего: 93



Цитата(Lazin @  22.10.2007,  21:43 Найти цитируемый пост)
Ты сам когданибудь использовал эти операторы?

Нет, но если встречу в коде, то не удивлюсь...


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Ufyljy
Дата 23.10.2007, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 5.10.2007

Репутация: нет
Всего: 1



Ну чё, вы не знаете как решить проблему?
Я в буквальном ступоре

Повторюсь: при повторном введении "1" происходит выход из программы  

Это сообщение отредактировал(а) Ufyljy - 23.10.2007, 16:19
PM MAIL   Вверх
JackYF
Дата 23.10.2007, 19:25 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 18
Всего: 162



Цитата(Ufyljy @  23.10.2007,  16:17 Найти цитируемый пост)
Повторюсь

Что такое отладчик, в курсе?


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Ufyljy
Дата 25.10.2007, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 5.10.2007

Репутация: нет
Всего: 1



Нет
PM MAIL   Вверх
Lazin
Дата 25.10.2007, 11:29 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



Цитата(Ufyljy @  25.10.2007,  11:10 Найти цитируемый пост)
Нет 
  smile

Добавлено через 30 секунд
сказать кто выш препод?
PM MAIL Skype GTalk   Вверх
Optimus
Дата 25.10.2007, 14:35 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 186
Регистрация: 1.9.2007

Репутация: 1
Всего: 14



Цитата(Ufyljy @  23.10.2007,  16:17 Найти цитируемый пост)
Повторюсь: при повторном введении "1" происходит выход из программы 

а что вы хотели

Код

main()
{
      textModule(); firstNum();
      
      if(k = 1)
      {printf("Bessmilennoe virajenie");}      

      askQu(); getch();
}


вызываем функцию askQu()
она вызывает функцию firstNum()
firstNum() вызывает функцию howNum()

вызываем функцию getch() 
и все, выходим из программы

ИМХО, функция main() и askQu() должны быть примерно так:
Код

int askQu()
{
    br; br;
    printf("Jelaete li vi vvesti ehe (y or n)? "); scanf("%s",&point);
    if(point == 'y' || point == 'Y')
      return 1;

    return 0;
}


Код

void main()
{
      textModule();

  do
  {
    firstNum();

    if (k == 1)
    {
      printf("Bessmilennoe virajenie");
    }


  } while (askQu() == 1);

  getch();
}


P.S. Используйте отладчик

Это сообщение отредактировал(а) Optimus - 25.10.2007, 14:39
--------------------
"постановка задачи наполовину решает саму задачу"
PM MAIL   Вверх
Ufyljy
Дата 25.10.2007, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 5.10.2007

Репутация: нет
Всего: 1



Препод лошара полная

Добавлено через 1 минуту и 13 секунд
А Optimus's двойное спасибо
PM MAIL   Вверх
Lazin
Дата 25.10.2007, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



Ufyljy, тебе про эту ошибку в одном из первых постов сказали.
Цитата(Goganchic @  20.10.2007,  15:13 Найти цитируемый пост)

    
Код

 if(k = 1)


может быть ты имел ввиду:

Код

 if(k == 1)



Даже в древнем Turbo C есть функция TraceInto и StepOver - попробуй для запуска программа нажать F7.
PM MAIL Skype GTalk   Вверх
Starikan
Дата 25.10.2007, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 25.10.2007

Репутация: нет
Всего: -15



Всё дело в подключении к Direct
Попробуй такой вариант:
Код

 CFileDialog dlg(FALSE,"csv",dateiname,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_LONGNAMES,filter,this);
    int max_name_tmp = dlg.m_ofn.nMaxFileTitle-4;
    
    BOOL accepted_file_name = FALSE;    
    while ((!accepted_file_name) & (dlg.DoModal() != IDCANCEL))
    {
        CString temp_name; 
        temp_name = dlg.m_ofn.lpstrFile;
        temp_name = temp_name.Right(temp_name.GetLength()-temp_name.ReverseFind('\\')-1);   // Убрала Path. Осталось "голое" имя

        dateiname=dlg.GetFileName();
        if (temp_name.GetLength()>dlg.m_ofn.nMaxFileTitle)
        {
            dateiname.ReleaseBuffer(max_name_tmp);
            dateiname.Insert(max_name_tmp,".csv");              // "Откусила" хвост имени файл и поставила своё расширение
                                                                  // Для расширения я "-4" отнимала
            CString strMessage;
            strMessage.LoadString(IDS_MSG_NAME_IST_ZU_LANG);     // Вывод предупреждающего сообщения
            strMessage.Replace("%1", temp_name);
            strMessage.Replace("%2", dateiname);
            GekMessageBox(strMessage,MB_OK);    
        }
            else {  
                                                    accepted_file_name = TRUE;

                 ofstream file(dateiname,ios::out);

                                                         // Далее вывод файла на диск, как оно и было раньше
             }

PM MAIL   Вверх
DjoNIK
Дата 25.10.2007, 19:19 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 28.9.2006
Где: Питер/Георгиевск

Репутация: 4
Всего: 5



Starikan, ты уверен, что туда отписался?


--------------------
- Плесни-ка мне холодного кипятку.
- Как кипяток может быть холодным?! Ты, верно, хочешь кипяченой воды?
- Какая ещё кипяченая вода? Не пудри мне мозги - налейхолодного кипятку.
(разговор петербуржца и москвича)
PM MAIL ICQ   Вверх
Ufyljy
Дата 26.10.2007, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 5.10.2007

Репутация: нет
Всего: 1



2 Lazin: Не работает
PM MAIL   Вверх
Lazin
Дата 26.10.2007, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



Ufyljy, поищи в меню пункт Debug, кстати чем пользуешься?
PM MAIL Skype GTalk   Вверх
Optimus
Дата 26.10.2007, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 186
Регистрация: 1.9.2007

Репутация: 1
Всего: 14



Цитата(Lazin @  25.10.2007,  16:36 Найти цитируемый пост)
Ufyljy, тебе про эту ошибку в одном из первых постов сказали.

Я не исправлял эту ошибку, потому что
Цитата(Ufyljy @  22.10.2007,  03:39 Найти цитируемый пост)
Все равно не работает (уже исправил (k==1) ). Если повторно набираю "1", происходит выход из программы

я добавил цикл do while(), для того что бы выйти из программы, когда на вопрос
Цитата(Ufyljy @  20.10.2007,  11:47 Найти цитируемый пост)
printf("Jelaete li vi vvesti ehe (y or n)? "); 

ответ будет 'n'
--------------------
"постановка задачи наполовину решает саму задачу"
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1391 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.