Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

problem ze stałymi symbolicznymi preprocesora

Ostatnio zmodyfikowano 2010-07-30 02:35
Autor Wiadomość
Krixsu
Temat założony przez niniejszego użytkownika
problem ze stałymi symbolicznymi preprocesora
» 2010-07-28 12:24:25
otóz mam problem z tym zadaniem tematu IV nr zadania 2, niewiem w jaki sposób dać dwukropek między godzine. Zastanawiałem sie nad rodzieleniem 15:23 na 2 stałe symboliczne preprocesora, ale pewnie jest jakis sposob aby zrobic to w jednej stałej symbolicznej. z góry dzieki za pomoc

treść zadania:
2. Napisz program, który będzie korzystał tylko ze stałych symbolicznych.

Na ekranie monitora ma się pojawić taki fragment:
** Godz. 15:23 **
** 23:15 .Godz **

Nie wolno używać zapisów cout << „Godz.”; tylko stałe symboliczne!!! Dodatkowo pierwszy program napisz używając tylko stałych symbolicznych preprocesora! Natomiast drugi tylko klasyfikatora const.
Mój kod:

C/C++
//dyrektywy preprocesora------------------------------------
#include <iostream>
#include <conio.h>
#define GODZ 1523
#define G "G"
#define O "o"
#define D "d"
#define Z "z"
int main()
{
    using namespace std;
    cout << G << O << D << Z << GODZ;
    getch();
    return 0;
}
//----------------------------------------------------------
P-20217
TheLukon
» 2010-07-28 12:30:40
Zrób kazdy znak jako stałą symboliczną i będzie git:D
P-20219
ison
» 2010-07-28 13:18:46
chodzi ci o to aby w define był dwukropek?
zamiast
C/C++
#define GODZ 1523
zrób
C/C++
#define GODZ "15:23"

i nie wiem czemu każdą literkę slowa Godz definiujesz jako inną stałą symboliczną

C/C++
#include <iostream>
#include <conio.h>

#define napis "Godz"
#define godzina "15:23"

using namespace std;

int main()
{
    cout << napis << " " << godzina << endl;
    getch();
    return 0;
}
P-20220
lenrokskate
» 2010-07-28 13:30:31
Post edytowano: 10 razyROTFL

@topic
Nie używaj tych (...) define, w C++ są od tego const
C/C++
const char tekst[] = "Godz: ";
const char godz[] = "15:23";

////

int main()
{
    std::cout << tekst << godz;
}

jak ci nie działa dwukropek to zamiast
" ... : ..."
daj
" ... \: ..."
edit by malan
P-20225
ison
» 2010-07-28 13:34:14
@lenrokskate na początku napisałem mu tylko o define'ach, potem edytowałem żeby wstawić kod, często tak mam że zawsze zauważę jakiś błąd i poprawie. Nie musisz od razu się tak unosić bo wątpię żeby to coś wnosiło do tego tematu

twój kod się nie skompiluje, brak liba iostream



Nie używaj tych popieprzonych define, w C++ są od tego const
zanim zabierzesz się do naśmiewania się z innych to http://img265.imageshack.us/img265/2558/pytanie.png
w zadaniu jest napisane aby tego użył...
P-20226
lenrokskate
» 2010-07-28 13:39:07
@ison
to już się zaśmiać nie można?

a co do mojego kodu to był pseudokod...

w zadaniu jest napisane aby tego użył...bo ten kurs ma dużo błędów, zresztą zapytaj pana Piotra albo Iname, też ci powiedzą żeby nie używać makr
P-20227
ison
» 2010-07-28 13:42:26
to już się zaśmiać nie można?
 nie wypada :)

ja nie mówie czy to jest dobrze czy źle. Zadanie powinno być zrobione tak jak jest w treści. Chociażby dlatego żeby nauczyć się co to define
P-20231
Elaine
» 2010-07-28 13:48:53
zapytaj pana Piotra albo Iname, też ci powiedzą żeby nie używać makr
Nie wiem jak on, ale ja tak na pewno nie powiem - jasne, makra mają tonę problemów, można nimi w łatwy sposób zrobić sobie ładny syf w kodzie, ale jednak to C++, w którym czasami makr użyć trzeba. Byle robić to tylko wtedy, kiedy faktycznie zachodzi konieczność.
P-20232
« 1 » 2
  Strona 1 z 2 Następna strona