Adressverwaltung...???
-
guude...!!
ich hab voll des problem....
ich soll so ein programm sschreiben womit man adressen verwaltet. und es hängt schon an der ersten sache...
wie lese ich was ein? ich hab des jetzt nur über ein struct probiert aber irgendwie klappt des net...? danke schon mal...
-
ich hab voll des problem....
ich soll so ein programm sschreiben womit man adressen verwaltet. und es hängt schon an der ersten sache...
wie lese ich was ein? ich hab des jetzt nur über ein struct probiert aber irgendwie klappt des net...? danke schon mal...Fehlermeldung?
Source-Code?
Überhaupt schon richtig C++ gelernt(struct <-> einlesen?)?
Oder einfach nur zu faul?mfg
-
ja wir haben so ein blatt bekommen wo so was draufsteht:
#include <iostream> #include <stdlib.h> struct adresse { char name, vname, strasse; int hsnr, plz; char ort; }; int main() { adresse Adresse1; cin >> Adresse1.name; cin.ignore(); cin >> Adresse1.vname; cin.ignore(); cin >> Adresse1.plz; cin.ignore(); cin >> Adresse1.ort; cin.ignore(); cin >> Adresse1.strasse; cin.ignore(); cin >> Adresse1.hsnr; cin.ignore(); //Ausgabe cout << Adresse1.name<<endl; cout << Adresse1.vname<<endl; cout << Adresse1.plz<<endl; cout << Adresse1.ort<<endl; cout << Adresse1.strasse<<endl; cout << Adresse1.hsnr<<endl; }
so... da gibts schon fehlermeldungen aber des liegt glaube an <iostream.h>
so fehler wie "cin undeclared... wenn ich jetzt iostream.h einbinde gibts die hier : "2 D:\Dev-Cpp\include\c++\3.3.1\backward\backward_warning.h:32 #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
wenn ich jetzt <strstream.h oder sstream eininde gibts des selbe wie oben....
ich benutze den dev-c++ compiler...
was nu?
-
*geloescht*
-
stocki schrieb:
ja wir haben so ein blatt bekommen wo so was draufsteht:
IIRC sind wir hier nicht primär zum Hausaufgaben machen da.
stocki schrieb:
was nu?
hm... Suchfunktion benutzen? Wurde IIRC schon 1000mal beantwortet.
mfg
-
irgendwie befürchte ich, dass du gar keine ahnung hast, was du machen sollst oder was es zu bedeuten hat!
weißt du überhaupt, wozu das struct da ist? was cin >> und cout << macht oder was das zu bedeuten hat?
warum oben #include <iostream> steht?
da du oben geschrieben hast, dass du es mit #include <iostream.h> versucht hättest, zeigt, dass du nichtmal das wusstest und dann einfach rumrätst...hast du dir das ausgedacht oder steht das wirklich so auf einem zettel?
ich glaube nämlich nicht, dass es so auf einem zettel steht!
es bringt nichts, einen namen einzulesen, wenn er nur einen buchstaben enthalten darf.... logischer wäre wohl ein string!//edit: da du auch kein besucher bist, der schon länger hier ist, sondern sich erst heute angemeldet hat, glaube ich, dass du nur einmal vorbeischaust, damit man dir die HAs macht und dann wieder verschwindest... solche leute liebe ich
-
Hi, nimm einfach mal das Programm hier. Ich habs eben geschreieben, deswegen hat es noch ein paar Macken (Lineare Suche, system(), Es wird immer alles neu in die Datei geschrieben, aber es ist ein relativ guter Anfang und man kann es ja ein bisschen umschreiben):
#include <iostream> #include <string> #include <vector> #include <fstream> using namespace std; const string Pfad = "Adressen.txt"; class Adresse { public: string VName, NName, Strasse, Ort; int HNr, Plz; void Ausgeben (void); void Einlesen (void); Adresse (void); ~Adresse () {} }; void Adresse::Einlesen (void) { cout << "Bitte Vorname und Nachnamen eingeben" << endl; cin >> VName >> NName; cout << "Bitte Strasse und Hausnummer eingeben" << endl; cin >> Strasse >> HNr; cout << "Bitte Postleitzahl und Ortsname eingeben" << endl; cin >> Plz >> Ort; } void Adresse::Ausgeben (void) { cout << VName << " " << NName << endl; cout << Strasse << " " << HNr << endl; cout << Plz << " " << Ort << endl; } Adresse::Adresse (void) { VName = ""; NName = ""; Strasse = ""; Ort = ""; HNr = 0; Plz = 0; } int AdrSuchen (vector<Adresse> &Liste, string NName) { for(int i = 0; i < Liste.size(); ++i) { if (Liste[i].NName.find(NName) == 0) { //string::npos; return (i); } } return (-1); //Nicht gefunden } void Abspeichern (vector<Adresse> &Liste) { ofstream File; File.open(Pfad.c_str(), ios_base::out); if(File) { File << Liste.size(); for(int i = 0; i < Liste.size();++i) { File << Liste[i].VName; File << " "; File << Liste[i].NName; File << " "; File << Liste[i].Strasse; File << " "; File << Liste[i].HNr; File << " "; File << Liste[i].Plz; File << " "; File << Liste[i].Ort; File << " "; } } else { cout << "Datei konnte nicht geöffnet werden" << endl; return; } File.close(); return; } void Lesen (vector<Adresse> &Liste) { ifstream File; File.open(Pfad.c_str(), ios_base::in); if(File) { int Anzahl = 0; File >> Anzahl; for(int i = 0; i < Anzahl;++i) { Adresse Adr; File >> Adr.VName; File >> Adr.NName; File >> Adr.Strasse; File >> Adr.HNr; File >> Adr.Plz; File >> Adr.Ort; Liste.push_back(Adr); } } else { cout << "Datei konnte nicht geöffnet werden" << endl; return; } File.close(); return; } int Menue (void) { cout << "Was wollen Sie tun?" << endl; cout << "(1) Adresse eingeben" << endl; cout << "(2) Adresse suchen" << endl; cout << "(0) Beenden" << endl; int foo = 0; cin >> foo; return (foo); } int main(void) { vector<Adresse> AdrListe; Lesen(AdrListe); int Auswahl = 0; while(Auswahl = Menue()) { Adresse bar; switch(Auswahl) { case 1: bar.Einlesen(); AdrListe.push_back(bar); break; case 2: string Such = ""; cout << "Nach welchem Namen wollen sie suchen?" << endl; cin >> Such; int index = AdrSuchen(AdrListe, Such); if(index != (-1)) { cout << "Ihrer Anfrage entspricht am ehesten" << endl << endl; AdrListe[index].Ausgeben(); } else { cout << "Es wurde leider kein ihrer Anfrage entsprechender Name gefunden" << endl; } std::cin.clear(); std::cin.ignore(std::cin.rdbuf()->in_avail()); std::cin.get(); break; } std::cin.clear(); std::cin.ignore(std::cin.rdbuf()->in_avail()); std::cin.get(); system("cls"); // BÖSE, habe aber leider keine besser Funktion gefunden, kann mir vielleicht jemand eine sagen? } cout << "Wollen sie ihre Änderungen speichern? (Y/N)" << endl; char Eingabe = 'Y'; cin >> Eingabe; if((Eingabe == 'y') || (Eingabe == 'Y')) { Abspeichern(AdrListe); } return (0); }
So werde glücklich damit. :xmas1: :xmas2:
Felix
-
aaaaalda wie krass bist du denn??????? sau subba fetten dank damit komm ich auf jeden fall weiter... mal gugn ob ich das jetzt auch hinkriege, jetzt hab ich ja en gutes beispiel... *g*