![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Veteran
![]() |
![]() 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 |
![]() |
![]() |
![]() |
#2 |
Inventar
![]() Registriert seit: 24.01.2001
Beiträge: 5.631
|
![]() 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 |
![]() |
![]() |
![]() |
#3 |
Veteran
![]() |
![]() die main funktion lautet:
void main (void) { input() } |
![]() |
![]() |
![]() |
#4 |
Inventar
![]() Registriert seit: 24.01.2001
Beiträge: 5.631
|
![]() Hier ein Beispiel, wie man so ein Programm in den Grundzügen ausprogrammieren kann:
|
![]() |
![]() |
![]() |
#5 |
Hero
![]() |
![]() @kikakater:
Code:
void show_users (struct s_prg1 *prg1) { int usernr; struct s_benutzer *user; usernr= 0; user= get_user(prg1,usernr); for(;usernr<prg1->nof_users;usernr++,user++) { output(user,usernr+1); } } ![]() Code:
for(usernr= 0; usernr<prg1->nof_users; usernr++) { user = get_user(prg1,usernr); if (user != NULL) { output(user,usernr+1); } }
____________________________________
Bibel |
![]() |
![]() |
![]() |
#6 |
Inventar
![]() Registriert seit: 24.01.2001
Beiträge: 5.631
|
![]() 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 |
![]() |
![]() |
![]() |
#8 |
Inventar
![]() Registriert seit: 24.01.2001
Beiträge: 5.631
|
![]() 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." ![]() ![]() |
![]() |
![]() |
![]() |
#9 |
Veteran
![]() |
![]() danke!
mfg etienne |
![]() |
![]() |
![]() |
#10 |
Veteran
![]() |
![]() kikakater:
danke für dein Bsp. ich glaube ich sollte mal mit was einfacherern anfangen oder noch lernen ![]() mfg etienne |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|