Zum Inhalt springen

notorious.madeye

Mitglieder
  • Gesamte Inhalte

    34
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von notorious.madeye

  1. Hallo, folgendes Problem: habe eine Excel-Tabelle, die ich mit MS Excel 2000 bearbeiten will. Habe 9 Spalten und ca. 940 Zeilen. Die erste Spalte ist immer die Indexnummer der zugehörigen Zeile, nach welcher ich sortieren will. Die Attribute für das Indexnummernfeld sind auf Zahl gesetzt, sobald ich jedoch sortieren möchte, sortiert er nur einen bestimmten Bereich und lässt die anderen Zahlen aber komplett aus. So sortiert er z.B. von 110 bis 935 problemlos, kann aber z.B. die Indexnummer 001 oder 061 nicht vor die 110 setzen, genauso wie auch andere Werte, die nachträglich eingetragen wurden und dann mitsortiert werden sollen. Ich hoffe jemand von euch hat eine Idee zu der ganzen Geschichte, weil mir das ganze sehr sehr komisch vorkommt und ich sowas in Excel noch nie erlebt hab. Danke.
  2. Habe es jetzt doch selbst gelöst, lese in ein char ein und setze das char in ein CString. Mann muss lediglich folgedes vor der Ausgabe der CString Variablen setzen: (const TCHAR*)m_cVorname
  3. Hallo, hab ein "Problemchen" und hoffe mal wieder auf eure Hilfe..... Folgendes: Habe eine Klasse erstellt, die im Private drei Variablen hat, zwei davon CString. Diese CString Variablen würd ich gern mit cin verarbeiten, nur will er nich, der Compiler: Tja, nur warum, das wüsst ich gern....? Denn der Zugriff erfolgt innerhalb einer Methode von dieser Klasse, also kann es nicht daran liegen. Eine weitere Idee, die mir helfen würde, wäre die CStrings in Chars umzuwandeln, nur wie?!?!? Wenn ihr könnt, tut bitte euer bestes um mir zu helfen......... Danke
  4. Hi, hab das Problem gelöst und das Programm noch weiter umgeschrieben. Läuft jetzt mit nur einer Datei. Danke für den Tip mit den globalen Datenströmen@Klotzkopp.... Hier nun der Code des fertigen Proggz............. kunde2.cpp: #include "stdafx.h" #include "fstream.h" #include "kunde2.h" #include "windows.h" int main() { int auswahl; while (true) { cout<<endl<<"*ACHTUNG: Vergessen Sie nicht Ihre Arbeit zu speichern.*"; cout<<endl<<"==========M=E=N=U=E============"; cout<<endl<<"Liste Laden...................1"; cout<<endl<<"Liste speichern...............2"; cout<<endl<<"Neue Liste....................3"; cout<<endl<<"Zu Liste hinzufuegen..........4"; cout<<endl<<"Kunden auflisten..............5"; cout<<endl<<"Kunden loeschen...............6"; cout<<endl<<"Programm beenden..............7"; cout<<endl<<"Ihre Wahl....................."; cin>>auswahl; switch(auswahl) { case 1: lesen(); break; case 2: schreiben(); break; case 3: eingabe(); break; case 4: hinzufuegen(); break; case 5: auflisten(); break; case 6: loeschen(); break; case 7: return 0; break; } } } void eingabe() { ende=kopf; zwischen=new struct kunde; cout<<"Kundennummer:"<<MaxKdNr+1<<endl; zwischen->nkundennummer=MaxKdNr+1; MaxKdNr++; cout<<"Vorname:"; cin>>zwischen->cVorname; cout<<"Nachname:"; cin>>zwischen->cNachname; zwischen->weiter=NULL; if (kopf==NULL) { kopf=zwischen; return; } while (ende->weiter!=NULL) { ende=ende->weiter; } ende->weiter=zwischen; } void hinzufuegen() { ende=kopf; zwischen=new struct kunde; cout<<"Kundennummer:"<<MaxKdNr+aktuell->nkundennummer+1<<endl; zwischen->nkundennummer=MaxKdNr+aktuell->nkundennummer+1; MaxKdNr++; cout<<"Vorname:"; cin>>zwischen->cVorname; cout<<"Nachname:"; cin>>zwischen->cNachname; zwischen->weiter=NULL; if (kopf==NULL) { kopf=zwischen; return; } else if(kopf!=NULL) { while(ende->weiter!=NULL) { ende=ende->weiter; } ende->weiter=zwischen; } } void loeschen() { int KundenNr; cout<<endl<<"Geben Sie die Kundennummer ein:"; cin>>KundenNr; ende = zwischen = aktuell = kopf; if (aktuell) { if (kopf->nkundennummer == KundenNr) { if (zeigen(kopf)) { kopf = kopf->weiter; delete zwischen; } } else { if(kopf->weiter == NULL) { cout<<endl<<"Es gibt keinen Kunden mit dieser Nummer!"<<endl; return; } ende=ende->weiter; while(ende->nkundennummer != KundenNr) { if(ende->weiter == NULL) { cout<<endl<<"Es gibt keinen Kunden mit dieser Nummer!"<<endl; return; } zwischen=ende; ende=ende->weiter; } if(zeigen(ende)) { aktuell=ende; ende=ende->weiter; if(aktuell->weiter == NULL) { zwischen->weiter=NULL; } else { zwischen->weiter=ende; } delete aktuell; } } } } void auflisten() { aktuell=kopf; if(aktuell) { while(aktuell->weiter != NULL) { cout<<endl<<"Kundennummer:"<<aktuell->nkundennummer; cout<<endl<<"Vorname:"<<aktuell->cVorname; cout<<endl<<"Nachname:"<<aktuell->cNachname; aktuell=aktuell->weiter; } cout<<endl<<"Kundennummer:"<<aktuell->nkundennummer; cout<<endl<<"Vorname:"<<aktuell->cVorname; cout<<endl<<"Nachname:"<<aktuell->cNachname<<endl; } } void schreiben() { entfernen(); fstream in_out("kunden.txt", ios::out); aktuell=kopf; if(aktuell) { while(aktuell->weiter != NULL) { in_out<<endl<<aktuell->nkundennummer<<" "; in_out<<aktuell->cVorname<<" "; in_out<<aktuell->cNachname; aktuell=aktuell->weiter; } in_out<<endl<<aktuell->nkundennummer<<" "; in_out<<aktuell->cVorname<<" "; in_out<<aktuell->cNachname; } } void lesen() { fstream in_out("kunden.txt", ios::in|ios::nocreate); do { do { zwischen=new struct kunde; while(zwischen->weiter) { ende=kopf; in_out>>zwischen->nkundennummer; in_out>>zwischen->cVorname; in_out>>zwischen->cNachname; zwischen->weiter=NULL; if(kopf==NULL) { kopf=zwischen; } else if(kopf!=NULL) { while(ende->weiter!=NULL) { ende=ende->weiter; } ende->weiter=zwischen; } } }while(!in_out.eof()); i++; }while(i==2); } bool zeigen(kunde *pkunde) { char auswahl; cout<<endl<<"Kundennummer:"<<pkunde->nkundennummer; cout<<endl<<"Vorname:"<<pkunde->cVorname; cout<<endl<<"Nachname:"<<pkunde->cNachname; cout<<endl<<"Diesen Kunden loeschen? (J/N):"; cin>>auswahl; auswahl = toupper(auswahl); if (auswahl == 'J') { return true; } return false; } void entfernen() { DeleteFile("kunden.txt"); } kunde2.h: #ifndef kunde #define _kunde int MaxKdNr = 0; int i; struct kunde { int nkundennummer; char cVorname[30]; char cNachname[30]; struct kunde *weiter; } *kopf, *aktuell, *zwischen, *ende; void eingabe(); void loeschen(); void auflisten(); void schreiben(); void lesen(); void hinzufuegen(); void entfernen(); bool zeigen(kunde *pkunde); #endif Danke nochmals für die Hilfe..........
  5. Hi, habe eine kleine Adressverwaltung geschrieben, nur hab ich leider noch 2 kleine Problemchen und hoffte auf eure Hilfe...... Das Programm soll mit 2 Dateien arbeiten, der kunden.txt und der kunden_b.txt. Die kunden.txt ist die Datei mit der gearbeitet wird, in der kunden_b.txt werden dann alle finalen Daten gespeichert und bei erneutem Programmaufruf gelesen. Das Programm erstellt aber keine Kopie in die kunden_b.txt, sobald ich sie auch zum einlesen benutze. Kommentier ich es aus, klappts wunderbar.... Das zweite Problemchen ist, dass er mir nich alle Felder der Struktur ausgibt in die kunden_b.txt........... Hier mal der Quellcode des Hauptprogramms: #include "stdafx.h" #include "fstream.h" #include "kunde2.h" #include "windows.h" int main() { int auswahl; while (true) { cout<<endl<<"*ACHTUNG: Vergessen Sie nicht Ihre Arbeit zu speichern.*"; cout<<endl<<"==========M=E=N=U=E============"; cout<<endl<<"Liste Laden...................1"; cout<<endl<<"Liste speichern...............2"; cout<<endl<<"Neue Liste....................3"; cout<<endl<<"Zu Liste hinzufuegen..........4"; cout<<endl<<"Kunden auflisten..............5"; cout<<endl<<"Kunden loeschen...............6"; cout<<endl<<"Programm beenden..............7"; cout<<endl<<"Ihre Wahl....................."; cin>>auswahl; switch(auswahl) { case 1: lesen(); break; case 2: schreiben(); break; case 3: eingabe(); break; case 4: hinzufuegen(); break; case 5: auflisten(); break; case 6: loeschen(); break; case 7: return 0; break; } } } void eingabe() //Neue Liste erstellen { ende=kopf; zwischen=new struct kunde; cout<<"Kundennummer:"<<MaxKdNr+1<<endl; zwischen->nkundennummer=MaxKdNr+1; MaxKdNr++; cout<<"Vorname:"; cin>>zwischen->cVorname; cout<<"Nachname:"; cin>>zwischen->cNachname; zwischen->weiter=NULL; if (kopf==NULL) { kopf=zwischen; return; } while (ende->weiter!=NULL) { ende=ende->weiter; } ende->weiter=zwischen; } void hinzufuegen() //Wenn alte Liste geladen, Einträge hinzufügen { ende=kopf; zwischen=new struct kunde; cout<<"Kundennummer:"<<MaxKdNr+aktuell->nkundennummer+1<<endl; zwischen->nkundennummer=MaxKdNr+aktuell->nkundennummer+1; MaxKdNr++; cout<<"Vorname:"; cin>>zwischen->cVorname; cout<<"Nachname:"; cin>>zwischen->cNachname; zwischen->weiter=NULL; if (kopf==NULL) { kopf=zwischen; return; } else if(kopf!=NULL) { while(ende->weiter!=NULL) { ende=ende->weiter; } ende->weiter=zwischen; } } void loeschen() //Einträge aus Liste die aktuell bearbeitet wird löschen { int KundenNr; cout<<endl<<"Geben Sie die Kundennummer ein:"; cin>>KundenNr; ende = zwischen = aktuell = kopf; if (aktuell) { if (kopf->nkundennummer == KundenNr) { if (zeigen(kopf)) { kopf = kopf->weiter; delete zwischen; } } else { if(kopf->weiter == NULL) { cout<<endl<<"Es gibt keinen Kunden mit dieser Nummer!"<<endl; return; } ende=ende->weiter; while(ende->nkundennummer != KundenNr) { if(ende->weiter == NULL) { cout<<endl<<"Es gibt keinen Kunden mit dieser Nummer!"<<endl; return; } zwischen=ende; ende=ende->weiter; } if(zeigen(ende)) { aktuell=ende; ende=ende->weiter; if(aktuell->weiter == NULL) { zwischen->weiter=NULL; } else { zwischen->weiter=ende; } delete aktuell; } } } } void auflisten() //Alle Einträge aus aktueller Liste anzeigen { aktuell=kopf; if(aktuell) { while(aktuell->weiter != NULL) { cout<<endl<<"Kundennummer:"<<aktuell->nkundennummer; cout<<endl<<"Vorname:"<<aktuell->cVorname; cout<<endl<<"Nachname:"<<aktuell->cNachname; aktuell=aktuell->weiter; } cout<<endl<<"Kundennummer:"<<aktuell->nkundennummer; cout<<endl<<"Vorname:"<<aktuell->cVorname; cout<<endl<<"Nachname:"<<aktuell->cNachname<<endl; } } void schreiben() //Aktuelle Liste speichern { entfernen(); fstream in_out("kunden.txt", ios::out); aktuell=kopf; if(aktuell) { while(aktuell->weiter != NULL) { in_out<<endl<<aktuell->nkundennummer<<" "; in_out<<aktuell->cVorname<<" "; in_out<<aktuell->cNachname; aktuell=aktuell->weiter; } in_out<<endl<<aktuell->nkundennummer<<" "; in_out<<aktuell->cVorname<<" "; in_out<<aktuell->cNachname; } DeleteFile("kunden_b.txt"); CopyFile("kunden.txt","kunden_b.txt",true); } void lesen() //Datei von Festplatte einlesen { do { do { zwischen=new struct kunde; while(zwischen->weiter) { ende=kopf; in>>zwischen->nkundennummer; in>>zwischen->cVorname; in>>zwischen->cNachname; zwischen->weiter=NULL; if(kopf==NULL) { kopf=zwischen; } else if(kopf!=NULL) { while(ende->weiter!=NULL) { ende=ende->weiter; } ende->weiter=zwischen; } } }while(!in.eof()); i++; }while(i==2); } bool zeigen(kunde *pkunde) //Anzeige für die Löschfunktion { char auswahl; cout<<endl<<"Kundennummer:"<<pkunde->nkundennummer; cout<<endl<<"Vorname:"<<pkunde->cVorname; cout<<endl<<"Nachname:"<<pkunde->cNachname; cout<<endl<<"Diesen Kunden loeschen? (J/N):"; cin>>auswahl; auswahl = toupper(auswahl); if (auswahl == 'J') { return true; } return false; } void entfernen() //Alte Dateien löschen, damit neue erstellt und gefüllt werden können { DeleteFile("kunden.txt"); DeleteFile("kunden_b.txt"); } Und hier der Code von der Header kunde2.h: #ifndef kunde #define _kunde int MaxKdNr = 0; int i; struct kunde { int nkundennummer; char cVorname[30]; char cNachname[30]; struct kunde *weiter; } *kopf, *aktuell, *zwischen, *ende; void eingabe(); void loeschen(); void auflisten(); void schreiben(); void lesen(); void hinzufuegen(); void entfernen(); bool zeigen(kunde *pkunde); fstream in_out("kunden.txt", ios::out); ifstream in("kunden_b.txt", ios::in|ios::nocreate); #endif Ich hoffe auf eure Hilfe und danke schon mal im Vorraus..... Viel Spaß damit

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...