![]() |
![]() |
|
|
|||||||
| 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." ![]() Take it easy, it's just Kode, wäh, das pickt ! |
|
|
|
|
|
#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 . wie viele Jahre programmierst du schon?mfg etienne |
|
|
|
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|