Code-Schnipsel
Moderatoren: broesel, Martin Conrad, PatrickThema: [EDIT] - Einfachste Codeschnipsel
[EDIT] - Einfachste Codeschnipsel
Jones am 30.01.2006 um 14:43
int empty(char *string)
{
// Funktion: prüft ob ein String leer ist
if(strcmp(string,"")==0) return 1;
else return 0;
}
void center(char* string,int position,int color)
{
/* Funktion: Gibt Text zentriert aus
(geht von einem 80x25 Dos Fenster aus)*/
int i;
textcolor(color); // Bezug auf CONIO.H Farben
i=strlen(string);
i=40-(i/2);
gotoxy(i,position);
/*Höhe (in grossen Fenstern)*/
cprintf(string);
}
Re: Einfachste Codeschnipsel
Patrick (Moderator) am 30.01.2006 um 16:13
Zitat:
Ich hoffe das ist ok, wenn ich hier einfach mal drauf los poste :)
Selbstverständlich, dafür ist das Forum ja da.
Um zu prüfen, ob ein String leer ist, schlage ich folgendes vor:
printf("Test:%d",string[0]?0:1);
Damit sparst du dir
1. deine Funktion empty()
2. den Funktionsaufruf empty()
3. u.U. die Headerdatei string.h
4. den Funktionsaufruf strcmp()
Die Funktion center() lässt sich noch ein wenig tunen. Mein Vorschlag wäre:
void center(char *string, int position, int color){
/*
Funktion: Gibt Text zentriert aus
(geht von einem 80x25 Dos Fenster aus)
*/
textcolor(color); // Bezug auf CONIO.H Farben
gotoxy(40-(strlen(string)>>1), position);
/*
Höhe (in grossen Fenstern)
*/
cprintf(string);
}
Gruß,
Patrick-Oliver
--
To follow the path: look to the master, follow the master, walk with the master, see through the master, become the master.
Re: Einfachste Codeschnipsel
Jones am 30.01.2006 um 22:54
Da ich aber der meinung bin daß man gerade einsteigerfragen hier beantworten sollte, da c eben die einsteigersprache schlecht hin ist, auf C auch PHP basiert etc (wos eben doch genug 15 jährige gibt) denke ich daß es sinnvoll ist nicht zu scharf zu schiessen.
gotoxy(40-(strlen(string)>>1), position);
... ist eine musterlösung. Super effizient, schnell, nimmt kein platz weg. Darum gings mir nicht!
gruß
jones
Re: Einfachste Codeschnipsel
Patrick (Moderator) am 31.01.2006 um 06:58
Ich habe den Grundgedanken speziell von diesem Unterforum anders verstanden.
Jeder der möchte, kann hier seine Lösungen für eine Aufgabe vorstellen.
Zum Einen profitieren davon Leute, die eine ähnliche Aufgabe lösen wollen und zum Anderen bekommt man vieleicht hin und wieder Verbesserungsvorschlage von der Community.
Man gibt also etwas, fördert damit das "Wirgefühl" und bekommt vieleicht sogar etwas "besseres" zurück
Besonders nutzliche Lösungen oder Ideen werden dann auf der Startseite des Unterforums "Code Schipsel" vorgestellt.
Zitat:
Da ich aber der meinung bin daß man gerade einsteigerfragen hier beantworten sollte ... denke ich daß es sinnvoll ist nicht zu scharf zu schiessen.
Ob Einsteiger oder Profi, hier wird eigentlich jedem geholfen so gut wie es geht - vorausgesetzt, die Fragen sind halbwegs OK
Btw. ich bezeichne mich selbst als Anfänger und freue mich jedes Mal diebisch, wenn irgendwer aus einem Haufen Code einen übersichtlichen, aber mystisch anmutenden Codefetzen macht, welcher am Ende die selbe Aufgabe irgentwie "besser" erledigt.
Oft setze ich mich erst dann mit meinen Werkzeugen näher auseinander und lerne intensiever.
Bleiben dann noch Fragen offen, die ich nicht lösen kann, frage ich nach.
Lange Rede, kurzer Sinn:
Jeder, der möchte, kann mit deinen Funktionen arbeiten.
Jeder, der einen Vorschlag oder Fragen zum Lösungsweg hat, kann sich hier melden.
So habe ich das hier verstanden
Gruß,
Patrick-Oliver
--
To follow the path: look to the master, follow the master, walk with the master, see through the master, become the master.
Re: Einfachste Codeschnipsel
TP am 31.01.2006 um 12:25
Zitat:
Da ich aber der meinung bin daß man gerade einsteigerfragen hier beantworten sollte, da c eben die einsteigersprache schlecht hin ist, auf C auch PHP basiert etc (wos eben doch genug 15 jährige gibt) denke ich daß es sinnvoll ist nicht zu scharf zu schiessen.
Wie Patrick schon sagte, ist es egal, ob Du Anfänger oder "Profi" bist. In diesem Forum postet jemand eine Funktion und die Community versucht diese zu verbessern, damit man am Ende eine wiederverwendbare, schnelle und gut lesbare Funktion hat.
C ist definitiv nicht "die Einsteigersprache", sei lieber vorsichtig mit solchen Äußerungen
.
