Deutsch

Вопрос новичка в С++

245  1 2 все
taksos прохожий19.11.05 19:43
taksos
NEW 19.11.05 19:43 
Вот задача: вводится два числа, потом операция (сложение, вычитание, умножение, деление), потом должен быть выведен результат. Вот, что я написал, помогите найти ошибки.
#include <stdafx.h>
#include <stdio.h>
int main(void)
{
int a,b;
char d;
printf("Vvedite dva chisla\n",0);
scanf("%d %d", &a,&b,0);
printf("Vvedite operaciyu\n",0);
scanf("%c",&d,0);
switch (d) {
case d='+' :printf("Summa chisel=%d", a+b,0); break;
case d='-': printf("Raznost chisel=%d", a-b,0); break;
case d='*': printf("Proizvedenie chisel=%d", a*b,0); break;
case d='/': printf("Chastnoe chisel=%d", a/b,0); break;
return 0;
}
}
#1 
scorpi_ скептик19.11.05 20:25
NEW 19.11.05 20:25 
в ответ taksos 19.11.05 19:43
А где здесь С++?
#2 
Tomasson украинеджин19.11.05 21:14
Tomasson
NEW 19.11.05 21:14 
в ответ taksos 19.11.05 19:43
я, как новичек в С++, написал бы так.
смотри файл.
#3 
scorpi_ скептик19.11.05 22:13
NEW 19.11.05 22:13 
в ответ Tomasson 19.11.05 21:14
Опять ты весь Spaß испортил...
#4 
Tomasson украинеджин19.11.05 22:26
Tomasson
NEW 19.11.05 22:26 
в ответ scorpi_ 19.11.05 22:13
почему же?:-)
место для Spass'а еще ого-го 8-)
Validation, Menu, ...
#5 
scorpi_ скептик19.11.05 22:34
NEW 19.11.05 22:34 
в ответ Tomasson 19.11.05 22:26
Кстати, что это прикол - cout в скобки брать?
#6 
Tomasson украинеджин19.11.05 22:38
Tomasson
NEW 19.11.05 22:38 
в ответ scorpi_ 19.11.05 22:34
привычка:-)
вдруг что-то дописать надо.
ну и вообще 8-)
#7 
scorpi_ скептик19.11.05 22:41
NEW 19.11.05 22:41 
в ответ Tomasson 19.11.05 22:38
А почему тогда break вне?
#8 
Tomasson украинеджин19.11.05 22:48
Tomasson
NEW 19.11.05 22:48 
в ответ scorpi_ 19.11.05 22:41
ну, стиль у меня такой :-Р
case и break - это одно, а код между ними - это другое 8-)
#9 
Murr коренной житель19.11.05 23:03
Murr
NEW 19.11.05 23:03 
в ответ Tomasson 19.11.05 22:38
А что, если вне скобок напишешь - работать не будет?
По стилю - мне вполне хватат двух пробелов между Switch и Case и еще двух - между Case и операторами. Ну и пустая строка после Break'а.
#10 
Tomasson украинеджин19.11.05 23:17
Tomasson
NEW 19.11.05 23:17 
в ответ Murr 19.11.05 23:03
работать не будет?
будет. Но я привык так 8-)
Насчет стиля:
как-то на одной из практик мне бог послал напарника, который от моего стиля пришел в ужас, и заявлял, что если я его не поменяю, то он уйдет в другую группу. Т.к. у него уходит уйма времени, чтобы все исправлять на свой лад.
А дело было в том, что я скобку ставил не так как он %-))
Мое:
... onCreate()
{
...
}

Его:
... onCreate() {
...
}

#11 
Murr коренной житель19.11.05 23:58
Murr
NEW 19.11.05 23:58 
в ответ Tomasson 19.11.05 23:17
В свое время меня тоже раздражала скобка в конце строки.
Весьма раздражала, надо сказаать... Бо, всегда использовал парные скобки либо в одной строке, либо в одной колонке... привычка разделять блоки, въевшаяся еще со времен фортрана-2 - пусть без скобок, но с отступами... Но как-то пришлось писать на Жабе в группе... с жабьим стилем - скобка в конце строки... и ничего - привык. Но читабельность все одно лучше в моем стиле - там еще два пробела перед скобкой...
А вообще, сколько раз было было - приходит кто-нибудь и просит - ПА-МА-ЖИ... Смотришь, что там сляпано и вообще ничего не понимаешь... Садишься, редатируешь в привычную форму... и спрашиваешь - свою ошибку ТЕПЕРЬ видишь? - Да, теперь вижу!!!
P.S. Билли, со своим форматированием хоть в VS6, хоть в .NET все еще достает... Единственное, что оправдывает это издевательство - без хотя бы такого форматирования многие соурсы вообще не читабельны...
#12 
taksos прохожий20.11.05 06:34
taksos
NEW 20.11.05 06:34 
в ответ taksos 19.11.05 19:43
Почему вы используете для ввода-вывода команды cin и cout. Как мне рассказывали, надо использовать printf и scanf. В чем разница?
#13 
scorpi_ скептик20.11.05 07:02
NEW 20.11.05 07:02 
в ответ taksos 20.11.05 06:34
Вы же говорили о С++? Вот Вам и дали С++, а printf и scanf - это С.
#14 
taksos прохожий20.11.05 07:31
taksos
NEW 20.11.05 07:31 
в ответ scorpi_ 20.11.05 07:02
Все ясно. Спасибо за помощь.
#15 
Simple Nothing is f*cked20.11.05 18:49
Simple
NEW 20.11.05 18:49 
в ответ Murr 19.11.05 23:58
Отличное форматирование в VS6 имхо ;)
#16 
voxel3d Мальчик ветра20.11.05 20:14
voxel3d
NEW 20.11.05 20:14 
в ответ scorpi_ 19.11.05 22:34
Как было написано в одном бородатом факе по Си, нет ничего бесполезней споров о стиле написания.
Лично я однажды заставив себя не морщиться от не моего стиля, теперь легко читаю чужие иcxодники и всегда могу писать в чужом стиле, если надо. Короче, мне по-барабану, кто как пишет, на самом деле на читаемость кода положение скобок и количество пробелов не влияют.
Если, конечно, вс╦ в едином стиле выдержано.
Dropbox - средство синхронизации и бэкапа файлов.
#17 
Murr коренной житель20.11.05 20:20
Murr
NEW 20.11.05 20:20 
в ответ Simple 20.11.05 18:49, Последний раз изменено 20.11.05 20:25 (Murr)
Тогда ой... Или проще - есть таблица в базе, есть серверная процедура для UPDATE, есть VB SUB создающая и заполняющая список параметров. Настрой, плс, среду так, чтобы небыло проблем читать поколоночный текст VB SUB... Т.е. чтобы я мог сказать реально тупому кодеру или даже не кодеру - строка 36-я, колонка 8-мь, замени на... и он мог это без проблем сделать...
#18 
Murr коренной житель20.11.05 20:28
Murr
20.11.05 20:28 
в ответ voxel3d 20.11.05 20:14
С чем согласен - наличие любого стиля - лучше, чем отсутствие стиля вообще.
С чем _не_ согласен - что нет разницы в каком стиле написано. Текст в привычном стиле читается и правится быстрее.
#19 
Simple Nothing is f*cked20.11.05 22:04
Simple
NEW 20.11.05 22:04 
в ответ Murr 20.11.05 20:20
Меня интересует только c++ ;)
#20 
1 2 все