-
Gesamte Inhalte
67 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von Shadax
-
André Willms: C-Programmierung; Addison-Wesley-Verlag
-
Schleifenprobleme (war: C-Dreck, kann mir einer helfen??)
Shadax antwortete auf geloescht_saschabu's Thema in C und C++
Ja, poste mal bitte die Aufgabe! -
*.com Datei in Quelltext umwandeln
Shadax antwortete auf geloescht_saschabu's Thema in C++: Compiler, IDEs, APIs
Kann man aus einem Hamburger wieder eine Kuh machen? - Leider nein (zumindest nicht nativ). -
Ich kann `nur' C. Gelernt durch K&R und Emulatoren- und Spiele-Programmierung. Die Schule bringt da IMHO ((void*)0).
-
Das sind scheinbar plattform-abhängige Funktionen, die (noch) nicht implementiert worden sind (oder deren Funktionalitäten an einer anderen Stelle implementiert sind). @Crush: das -ist- der Q source
-
// oder mit time(): #include <time.h> #include <stddef.h> int main(void) { time_t oldtime; oldtime = time(NULL); while(1) { if(time(NULL) - oldtime >= 60) { oldtime = time(NULL); // db query // . // . // . } } return 0; }
-
Ja, das kann auch -ich- wärmstens empfehlen! Und danach den K&R lesen.
-
Aus einem Hamburger kann mann ja auch keine Kuh mehr machen... (zumidnest nicht mit einem nativen Stück Fleisch)
-
Vorsicht: neagtive Werte berücksichtige ich nicht (bei negativen Werten wird eine `1' ausgegeben) // reads a decimal value from stdin and prints it in binary form to stdout #include <stdio.h> #include <stdlib.h> //------------------------------------------------------------ // Dec2Bin() - prints the given value in binary form to stdout //------------------------------------------------------------ void Dec2Bin(int val) { if(val > 1) { Dec2Bin(val >> 1); } fputc((val & 1) ? '1':'0', stdout); } //------------------- // main() //------------------- int main(int argc, char *argv[]) { if(argc < 2) { fprintf(stderr, "Usage: %s <decimal value>\n", argv[0]); return 1; } Dec2Bin(atoi(argv[1])); return 0; }
-
<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von EisenUli: <STRONG> Also schoen, Du willst Dich nicht benehmen. *PLONK* Uli</STRONG>
-
Moin. Ja, einen Peil hab ich: int ggt(int a, int { int ggt; // swap signs if necessary if(a<0) a = -a; if(b<0) b = -b; ggt = b>a ? a:b; while(a%ggt || b%ggt) ggt--; return ggt; } [/code]
-
Zeilenumbruch beim Dateienauslesen? Dateiauslesen allgemein?
Shadax antwortete auf Speddy Conzales's Thema in C und C++
Ich denke, Speddy Conzales wollte doch von einer Datei lesen... char *fgets(char *s, int n, FILE *stream); fgets() aus stdio.h liest maximal n-1 Zeichen nach `s' aus `stream'. Wird ein Zeilenumbruch oder das Dateiende früher entdeckt, werden nur die Zeichen bis zu diesem Zeilenumbruch (bzw. bis zum Dateiende) nach `s' geschrieben (einschliesslich des Zeilenumbruchs). Bei Erfolg wird `s' geliefert, bei Misserfolg ein Null-Zeiger (`s' bleibt dann unberührt). Bespiel: char s[2048]; FILE *f; // ... Datei öffnen ... while( fgets(s, sizeof(s), f) ) { printf("Zeile gelesen: %s", s); } // ... Datei schliessen ... Sobald eine Zeile erfolgreich aus der Datei gelesen wurde, kann mit strcmp() aus string.h nach einer bestimmten Zeichenfolge gesucht werden: int strcmp(const char *s1, const char *s2); Hier: strcmp(s, "Wurst"); strcmp() liefert bei Gleichheit beider Zeichenfolgen 0, bei Ungleicheit wird ein Wert ungleich 0 geliefert: war das erste unterschiedliche Zeichen in s1 grösser, wird ein Wert >0 geliefert, war es kleiner, dann <0. -
Ich will jetzt nicht drauf schwören, ob zusammengesetzte Strings zum Standard gehören, aber eigentlich sollte dieser Funktionsaufruf bis auf die fehlden Klammer legal sein: immerhin ist der erste Parameter von printf() ja ein `const char*', der lediglich aus mehreren `const char*'s zusammengesetzt ist. Genauso wie folgendes Code-Fragment: const char * const myStr = "Bugs " "Bunny"; printf("%s\n", myStr); Soweit ich weiss haben die gcc-Bauer mal ein Statement über zusammengesetzte Strings abgeben (leider kann ich es nicht mehr finden). Jedenfalls scheint sich gcc (2.95.2) im ANSI-Modus nicht darüber zu beschweren.
-
Der SH4 steckt im Dreamcast. Um auf der Kiste programmieren zu können, musste ich mir eben den gcc dafür zusammenpfrimeln... deshalb auch die Sache mit dem startup-code (hab ich zwar nicht selbst geschrieben, aber so lernt man den Prozessor schnell kennen). Ansonsten hab ich mich mit dem gcc auf dieser Plattform zu messen versucht - leider mit wenig Erfolg: bei einfachen Routinen (memset, memcpy, ...) verschwendet er nicht einen einzigen Takt - sogar die Delay-Slots werden optimal ausgenutzt (!)...
-
<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von Crush: <STRONG>File*drucker=fopen("PRN","w"); </STRONG>
-
Wenn Du die Variable `preis' nicht in der Funktion ware(), sondern einfach global definierst, dann ist sie auch für alle anderen Funktionen sichtbar.
-
Ich schreibe nicht direkt Software für sowas, aber ich kenn' mich ein bissel mit startup-codes und kleineren Routinen aus (speziell für den SH4).
-
DJGPP + Win2000 scheinen sich nicht so recht vertragen zu wollen. Schau mal bei http://clio.rice.edu/djgpp/win2k/main.htm vorbei. Ansonsten gibt's noch ein minimales gcc-System für Win32: http://www.mingw.org
-
... oder ein vernünftiges Buch (beispielsweise von André Willms), das man auf seinem langwierigen Weg auch tatsächlich mit sich herumtragen kann (was bei Lehrkörpern im allgemeinen eher unpraktikabel ist ).
-
Ich bin zwar kein OpenGL-Experte (und weiss deshalb auch nicht, ob OpenGL von selbst schon solche Funktionen bereitstellt) aber das ganze ist trigonometrisch realitiv primitiv (alles aus dem Kopf, deshalb mit etwas Vorsicht zu geniessen ;-)): Du willst also mehrere Kugeln um ein Zentrum kreisen lassen (zur Vereinfachung betrachte ich jetzt mal nur eine kreisende Kugel und das ganze nur im 2-dimensionalen Raum): Die kreisende Kugel hat ja einen definierten Radius ("radius") zu ihrem Zentrum. Wenn jetzt die Kugel einen bestimmten Winkel ("alpha") einnehmen soll, dann ergibt sich folgendes (ähnlich zu betrachten wie ein Einheitskreis): sin(alpha) = dy / radius; cos(alpha) = dx / radius; wobei dx und dy die jeweiligen Komponenten in x- und y-Richtung bezüglich des Zentrums angeben und durch Umstellen der obigen Formel einfach errechnet werden können: dy = sin(alpha) * radius; dx = cos(alpha) * radius; Die endgültige Position für die kreisende Kugel ergibt sich dann so: Kugel.x = Zentrum.x + dx; Kugel.y = Zentrum.y + dy;
-
In C gibt es so einen Operator nicht, aber mit strcat() (aus string.h) kann man einen String an einen anderen "hängen": char computer_name[255]; char final_string[bIG_ENOUGH]; // [...] strcpy(final_string, "Computername: "); strcat(final_string, computer_name); Man könnte auch mit sprintf() (aus stdio.h eine formatierte Ausgabe in einen String schreiben: sprintf(final_string, "Computername: %s", computer_name); <FONT COLOR="#a62a2a" SIZE="1">[ 08. August 2001 15:14: Beitrag 2 mal editiert, zuletzt von Shadax ]</font>
-
<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von Cool-Matthias: <STRONG>@shadax Hatte keine Chance die zu übersetzen, bei mir kamen Massen an Fehlermeldungen, das die Grafiken nicht geladen werden können. </STRONG>
-
<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von Moon21: <STRONG> Wo hast du die Engine gesaugt ?? Ein Hinweis wäre hilfreich... MfG</STRONG>
-
<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von Cool-Matthias: <STRONG> Da alle Grafiken usw logischerweise bei diesem Code nicht dabei sind, lässt er sich ja noch nicht mal richtig übersetzen [...] </STRONG>
-
<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von Jestertales: <STRONG> Oder ist es möglich, aus einem C++ Programm eine Anwendung zu starten, zu warten, bis das Programm fertig ist und es dann einfach weiterlaufen zu lassen?</STRONG>