Klassen/Struktur-Problem

zarqon

Grünschnabel
Code:
#include <iostream.h>
#include <stdio.h>
#include <string.h>

char Dateiname[]="Daten.txt";
char Auswahl;
int i,x;
int ArtNrMin,ArtNrMax;

const int Maxeintrag=15;

struct Artikeldb
{
	int ArtNr[10],Gewicht,Gruppe,Laenge,Tiefe;
	char ArtBeschr[30],Farbe;
};


void main()
{
	Artikeldb Datenbank[Maxeintrag]={0};
	i=0;
	x=0;
	ArtNrMin=50;
	ArtNrMax=1000;

	cout <<"Vorhandene Artikeldatenbank oeffnen? [Ja=1/Nein=0]:";
	cin >>Auswahl;
	cout <<"\n";

	if (Auswahl=='1')
	{
		FILE *f_datei;

		cout <<"Vorhandene Artikeldatenbank wird geoeffnet!\n\n";
		f_datei=fopen(Dateiname,"r");
		
		if(f_datei==0)
		{
			cout <<"Es trat ein Fehler beim Oeffnen der Artikeldatenbank ";
			cout <<Dateiname <<" auf! -Kein Inhalt-\n\n";
		}
		else	
		{
			for(i=0;i<(Maxeintrag);i++)	
			{
				fread(&Datenbank[i],sizeof(Artikeldb),1,f_datei);
			}
			fclose(f_datei);
			cout <<"Artikeldatenbank erfolgreich geeoffnet.\n\n";
		}
	}
	else
	{
		cout <<"Eingabe von Daten in die Artikeldatenbank\n\n";
		do{
		cout <<"Geben Sie die Artikelnummer ein (min.50- max.1000):";
		cin >>Datenbank.ArtNr;
		}while((ArtNr < ArtNrMax)||(ArtNr >ArtNrMin));
	Datenbank[x].ArtNr;
	}
}

Es soll eine Datenbank unter MVS6 werden.Meine Frage:Warum sagt der Compiler bei cin>>...: error C2228: Der linke Teil von '.ArtNr' muss eine Klasse/Struktur/Union sein, wenn der linke Teil (Datenbank)doch ganz oben schon angegeben ist?Was muß ich da ändern?
 
Zuletzt bearbeitet von einem Moderator:
du hast wohl meinen beitrag nicht gelesen?
du hast den selben fehler wieder gemacht...

cin >>Datenbank.ArtNr;
hab mir mal nur den ausschnitt betrachtet...

Code:
cin >> Datenbank[x].ArtNr[x];
und ich versteh immer noch nicht, warum du auf Datenbank ein array benutzt... Artikeldb::ArtNr ist übrigens auch eins....
 
Zurück