![]() |
C Programm funktioniert nciht
versuche seid Tagen dieses Programm zum laufen zu bringen....
#include <stdio.h> #include <conio.h> #include <stdlib.h> #define anzahl 10 #define ESC 27 struct name { char vname[41]; char bname[21]; char nname[41]; char sname[41]; }; struct tele { unsigned long htele; unsigned long tel; }; struct HB { char hobby[80]; char com[80]; }; struct benutzer { struct name nme; struct tele tel; char adresse[41]; struct HB hbbcom; long passwort[anzahl]; }; struct benutzer basic[500], *base; extern int error; void name(void); //Prototyp von name int input() { printf("\nSie haben sich entschieden einen neuen Benutzer anzulegen\n"); printf("Die Datei Basic Datei verbraucht %d byte Speicher",sizeof ((*base))); name(); return (1); } //Deffinition von der Funktion name void name (void) { printf("\nBenutzernamen (max 20 Zeichen):"); fgets(base->nme.bname,20,stdin); printf("\nVorname (max 40 Zeichen):"); fgets(base->nme.vname,40,stdin); printf("\nNachname (max 40 Zeichen):"); fgets((*base).nme.nname,40,stdin); printf("\nSpitzname (max 40 Zeichen):"); fgets((*base).nme.sname,40,stdin); } Das Programm soll einfach einen neuen Benutzer anlegen können. Dabei sollen einige Daten des Benutzers eingelesen werden und in eine Struktur gespeichert werden. Danke im voraus mfg etienne |
Wo ist die Funktion main ?
main muss eine andere Funktion wie speichern,einlesen,name oder dergleichen aufrufen um die gewünschten Dinge auszuführen. Main ist der Einsprungspunkt in das Programm. mfg Kikakater |
habe ich nur nicht hingeschrieben
die main funktion lautet:
void main (void) { input() } |
Hier ein Beispiel, wie man so ein Programm in den Grundzügen ausprogrammieren kann:
|
@kikakater:
Code:
void show_users (struct s_prg1 *prg1) Code:
for(usernr= 0; |
Das fragst Du Dich, gell ?
Zu aller erst: Das Array ist immer mit Userdaten gefüllt bis zum Index nof_users-1 ! 1) Die for Schleife arbeitet ein Array ab, get_user ist nur zur Erlangung eines Blackbox Anfangslabels (Startadresse) vonnöten, danach reicht user++. 2) Die Initialisierungen finden vor dem for statement statt - aufgrund langjähriger Erfahrung, das dies besser ist für das Überblicken. 3) Der Test auf user != NULL muss nicht sein, da das Array von 0 - nof_users - 1 belegt ist. mfg Kikakater |
Zitat:
|
Du zeigst nur, daß es nicht nur die Wiener sondern auch die Kellner'kenna.
Bissi neidisch sein, bissi hinterrücks, bissi <viel> "oberunterüberdrüber usw." ;) :smoke: Take it easy, it's just Kode, wäh, das pickt ! |
danke!
danke!
mfg etienne |
muss lernen
kikakater:
danke für dein Bsp. ich glaube ich sollte mal mit was einfacherern anfangen oder noch lernen :). wie viele Jahre programmierst du schon? mfg etienne |
Seit 29 Jahren !
Zu C++: Das ist etwas für die, die immer etwas erweitern müssen. Perfekter Code ist leider nicht perfekt genug um resistent zu sein, wie es in C der Code nunmal ist. Es hat gute Gründe s_prg1 eine Struktur bleiben zu lassen und nicht alles zu einer Klasse und demnach zu Objekten mutieren zu lassen. Die Trennung von Programm und Daten ist eine segensreiche und auch gewollte, soviel dazu. C++ hat seine Berechtigung im Theoretischen, im Praktischen führt es zu Arbeitsplatzabbau unter den Programmiereren (und nicht einmal wegen Arbeitsmangel) und zu Verlusten für die Kunden der Softwarefirmen. C++ ermöglicht es, sämtliche beteiligte Parteien zu fertigen, nicht jedoch guten Code. |
Alle Zeitangaben in WEZ +2. Es ist jetzt 14:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag