AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

frage zu einem programmcode...

Ein Thema von KosMottchen · begonnen am 4. Mär 2006 · letzter Beitrag vom 19. Mär 2006
Antwort Antwort
Seite 1 von 2  1 2      
KosMottchen

Registriert seit: 4. Mär 2006
34 Beiträge
 
Delphi 7 Enterprise
 
#1

frage zu einem programmcode...

  Alt 4. Mär 2006, 01:42
huhu,

hab in der schule ne aufgabe aufbekommen...

hab die mal hier hochgeladen als bild

http://img75.imageshack.us/img75/856/lastscan27ie.jpg

den qellcode hab ich mal schon gemacht und wollt gerne wissen, ob des richtig so ist...

ich werd das ganze wohl als oneclick machen, aber das ist ja erstmal egal...

ich hoffe ihr könnt die schrift von meinem lehrer lesen...

is ne formel zur berechnung, an welchem tag man geboren ist...

kommt am ende ne zahl von 1 bis 7 raus und welcher tag da was ist, kann sich ja jeder denken ;o)

ich bin mir nur mit der variablenzustellung nich so sicher, welche nun real sein sollen und welche integer und eben, ob ich das alles richtig umgesetzt habe mit den ganzen ausnahmen für die formel...

ich danke euch allen schonmal im vorraus

Code:
var
z, t, m, j, Jh,a,b,c,d:real;
code:integer;
s:string;

begin


VAL (form1.edit1.text, t, code);            // einlesen von t
VAL (form1.edit2.text, m, code);            // einlesen von m
VAL (form1.edit3.text, j, code);            // einlesen von j
VAL (form1.edit4.text, Jh, code);            // einlesen von Jh

j:=j MOD 100                    // wichtig für jahr j

Jh:=Jh MOD 100          // wichtig für jahrhundert Jh



a:=((m+1)*26) DIV 10                                    // teil a der gleichung berechnen

b:=(5*j) DIV 4                                               // teil b der gleichung berechnen

c:=Jh DIV 4                                                     // teil c der gleichung berechnen

d:=(2*Jh)-1                                                     // teil c der gleichung berechnen

z:=((t+a+b+c)-d) MOD 7                                // formel zur berechnung der „Tagnummer“

if m=1               
 then m:=13;

// januar umrechnen in m:=13

if m=2
 then m:=14;

// februar umrechnen in m:=14

if m=1
 then j:=j-1;

// wenn januar dann jahr :=j-1

if m=2
 then j:=j-1

// wenn februar dann jahr :=j-1

if z:=((t+a+b+c)-d) MOD 7=-z
 then z+7;

// wenn ((t+a+b+c)-d) MOD 7  negativ, dann Tagesummer z um 7 erhöhen

if j=-1
 then j:=99;

if j:=-1
 then Jh:=Jh-1;

str (z:2:10,s);
form1.edit5.text:=s;

end;
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2

Re: frahe zu einem programmcode...

  Alt 4. Mär 2006, 02:10
Grobe Einschätzung : der Code ist nicht von Deinem Lehrer. 8) Welcher Monat hat 26 Tage ? Und was soll der Rest ? Sieht etwas seltsam aus. Irgendein Dummer wird das schon für Dich erledigen.
Gruß
Hansa
  Mit Zitat antworten Zitat
fLaSh11
(Gast)

n/a Beiträge
 
#3

Re: frahe zu einem programmcode...

  Alt 4. Mär 2006, 06:54
Zitat von KosMottchen:
Code:
z:=((t+a+b+c)-d) MOD 7
Man kann dem mod doch nur ne Ganzzahl übergeben, oder sehe ich des falsch?
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#4

Re: frahe zu einem programmcode...

  Alt 4. Mär 2006, 08:10
Zitat von fLaSh11:
Zitat von KosMottchen:
Code:
z:=((t+a+b+c)-d) MOD 7
Man kann dem mod doch nur ne Ganzzahl übergeben, oder sehe ich des falsch?
Das werden ja schon Ganzzahlen sein, ansonsten wird gerundet
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#5

Re: frahe zu einem programmcode...

  Alt 4. Mär 2006, 08:23
Hai KosMottchen,

erst einmal: "Herzlich Willkommen in der Delphi-PRAXiS"

Zu den Berechnungen haben ja andere schon etwas gesagt.
Aber Du hast auch "logik" Fehler im Code

Delphi-Quellcode:
.
.
if m=1 then m:=13;
// januar umrechnen in m:=13

if m=2 then m:=14;
// februar umrechnen in m:=14

if m=1 then j:=j-1;
// wenn januar dann jahr :=j-1

if m=2 then j:=j-1
.
.
Bei der ersten IF-Abfrage prüfst Du ob m=1 ist und setzt die Variable dann auf 13. Dadurch wird die nächste Abfrage auf m=1 natürlich nie mehr zutreffen. Das sebe gilt für m=2.

Du musst die Operationen also in eine Abfrage packen:
Delphi-Quellcode:
begin
  .
  if (m = 1) then
  begin
    m := 13;
    j := j - 1;
  end;
  if (m = 2) then
  begin
    m := 14;
    j := j - 1;
  end;
end;
Das nur als anmerkung zu deinen IF-Abfragen. Über die Richtigkeit der Berechnungen möchte ich damit nichts sagen
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
KosMottchen

Registriert seit: 4. Mär 2006
34 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: frahe zu einem programmcode...

  Alt 4. Mär 2006, 09:53
gutem morgen,

dann sag ich schonmal danke dafür und werde das gleich mal umändern und dann mal versuchen zu starten, was mir nur leider hier unter linux nich möglich ist...

@ hans:

die aufgabe is vom lehrer, aber der code is von mir... den habe ich schon gemacht, da ich ja nich verlangen kann, dass ihr mir hier den gesamten code präsentiert ;o)

ich wollt wie gesagt nur wissen, obs richtig so ist ;o)

mfg halloween
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#7

Re: frahe zu einem programmcode...

  Alt 4. Mär 2006, 10:03
wenn du mit linux arbeitest versuch doch das ganze mal in C zu programmieren und ändere es danach einfach in Delphi um
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
fLaSh11
(Gast)

n/a Beiträge
 
#8

Re: frahe zu einem programmcode...

  Alt 4. Mär 2006, 10:09
hab den Code mal ausprobiert, mit Round vor dem mod, wos nötig ist.
Für heute kam der richtige Tag raus ,
nur sonst wars falsch...
  Mit Zitat antworten Zitat
KosMottchen

Registriert seit: 4. Mär 2006
34 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: frahe zu einem programmcode...

  Alt 4. Mär 2006, 10:28
Zitat von fLaSh11:
hab den Code mal ausprobiert, mit Round vor dem mod, wos nötig ist.
Für heute kam der richtige Tag raus ,
nur sonst wars falsch...
huhu,

danke, dann werd ich mir da mal nen kopf machen, bzw mein infolehrer^^

@Angel4585:

das prob is ja.. ich lern gard seit 3 monaten delphi in der schule... da hab ich noch keinen plan, wie ich was in c schreibe und dann einfach in delphi umwandle...

dass ich mit c unter linux was machen kann, das weiß ich ja, weil ich mich mal infomiert habe, obs mit delphi unter linux geht... aber dem is ja leider nicht so
  Mit Zitat antworten Zitat
fLaSh11
(Gast)

n/a Beiträge
 
#10

Re: frage zu einem programmcode...

  Alt 4. Mär 2006, 10:38
dazu nimmst du am besten kylix
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz