Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Problem (F-Tasten)

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
10.03.2005, 15:51 Uhr
CaesarCortezz
minderer Student


hi leute,
ich habe einen "editor" geschrieben und mein erstes prob ist dass er den abbruch nicht mitschneidet...


C++:
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

int edit(string dat) {
    vector<string> line;
    string tmp;
    int i,y;
    system("CLS");
    cout << "************ Edit ************" << endl << "Filename: " << dat << endl;
    i=0;
    do
    {
        getline(cin, tmp);
        line.push_back(tmp);
        i++;
    }while (tmp!="end." || tmp!="leave.");
    if (tmp=="end.")
    {
        cout << "Saving....." << endl;
        ofstream of(dat.c_str());
        for (y=0;y<=i;y++)
        {
            of << line[y];
        }
    }
    else if (tmp=="leave.")
    {
        exit(1);
    }
    else {
        cout << "An unknown error occured" << endl;
    }    
    return 0;
}    
    


int main()
{
    string dat;
    cout << "Create new dat. Which name?" << endl;
    cin >> dat;
  edit(dat);
  return 0;
}



also wenn ich statt

C++:
while (tmp!="end." || tmp!="leave.");


die 2te bedingung weglasse dann funzt des (nagut ich bekomm nen speicher-problem aber mit dem speichern das hab ich nur so provisorisch gemacht...). aber das logische "oder" ist doch eigentlich korrekt oder bin ich jetzt blind?

meine eigentlichen fragen waren aber 1):
was kann ich besser machen? (ich weiß fast alles aber bin für jeden tip dankbar )
und 2)
ich wollte des eigentlich so machen dass man mit F8 wieder raus kommt (quasi die funktion beenden) und mit F7 oder so das ganze in der datei speichert, so wies jetzt eben mit "end." ist. Wie kann ich des machen?
Ich hoffe ihr lasst euch nicht von der vielzahl der probleme abschrecken
Thx
Caesar

PS: denkt euch die system-befehle einfach weg
--
Thus spake the master programmer:

``When the program is being tested, it is too late to make design changes.''
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
10.03.2005, 16:58 Uhr
virtual
Sexiest Bit alive
(Operator)



Zitat:

also wenn ich statt

C++:
while (tmp!="end." || tmp!="leave.");


die 2te bedingung weglasse dann funzt des (nagut ich bekomm nen speicher-problem aber mit dem speichern das hab ich nur so provisorisch gemacht...). aber das logische "oder" ist doch eigentlich korrekt oder bin ich jetzt blind?


Dies gibt immer true zurück, weil tmp nicht zwei verschiedene gleichzeitig haben kann, also folglich ein der != true zurückgibt.


Zitat:

meine eigentlichen fragen waren aber 1):
was kann ich besser machen? (ich weiß fast alles aber bin für jeden tip dankbar )


Guck dir an, wie es der vi macht. Der macht es seit Jahrzehnten derart gut, daß es noch immer noch Hartgesottene Fans von ihm gibt (Editier und Kommandomode unterscheiden)


Zitat:

und 2)
ich wollte des eigentlich so machen dass man mit F8 wieder raus kommt (quasi die funktion beenden) und mit F7 oder so das ganze in der datei speichert, so wies jetzt eben mit "end." ist. Wie kann ich des machen?
Ich hoffe ihr lasst euch nicht von der vielzahl der probleme abschrecken


F Tasten werden in der Regel nicht durch ein einzelnes Zeichen, sondern durch eine Sequenz von mehreren Zeichen repräsentiert, also im Prinzip mußt Du rausfinden, welche Zeichen das auf Deinem System sind. Ist nicht portabel,
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)

Dieser Post wurde am 10.03.2005 um 16:58 Uhr von virtual editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
10.03.2005, 17:15 Uhr
Pablo
Supertux
(Operator)



Zitat von CaesarCortezz:


also wenn ich statt

C++:
while (tmp!="end." || tmp!="leave.");


die 2te bedingung weglasse dann funzt des (nagut ich bekomm nen speicher-problem aber mit dem speichern das hab ich nur so provisorisch gemacht...). aber das logische "oder" ist doch eigentlich korrekt oder bin ich jetzt blind?


ja, das bist du, blind. Du musst lernen, wie man boolsche Ausdrücke negiert.

Code:
¬(A ODER B) = (¬A UND ¬B)



also


C++:
while (tmp!="end." && tmp!="leave.");


--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 10.03.2005 um 17:17 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
10.03.2005, 19:33 Uhr
CaesarCortezz
minderer Student


also eigentlich wollte ich schon in der console bleiben ^^
thx für die tips
--
Thus spake the master programmer:

``When the program is being tested, it is too late to make design changes.''
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
10.03.2005, 20:26 Uhr
Pablo
Supertux
(Operator)



Zitat von CaesarCortezz:
also eigentlich wollte ich schon in der console bleiben ^^
thx für die tips

wer hat hier etwas anders behauptet? Niemand hat hier gesagt, raus aus der Konsole.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
11.03.2005, 15:27 Uhr
CaesarCortezz
minderer Student


naja vi ist so wie ich das gesehen hab ein MFC-Ding oder?


Zitat:

Guck dir an, wie es der vi macht. Der macht es seit Jahrzehnten derart gut, daß es noch immer noch Hartgesottene Fans von ihm gibt (Editier und Kommandomode unterscheiden)


--
Thus spake the master programmer:

``When the program is being tested, it is too late to make design changes.''
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
11.03.2005, 15:40 Uhr
Pablo
Supertux
(Operator)


was?????? Hast du ne Ahnung was vi ist? Das hat mit MFC NIX ZU TUN, vi ist einer der UNIX Standard Editors, von vielen geliebt (von mir) und von vielen gehasst.
http://ex-vi.sourceforge.net/

vi alleine kommt heute nicht mehr vor, es gibt viele VI Varianten, die beliebteste ist VIM (VI Improved) www.vim.org/

vi Derivate sind solche Editoren, die verschiedene Modi kennen, d.h. es gibt schreib Modus, Lese Modus, du kannst Befehle eingeben, usw. Genau das hat virtual gemeint, weil du offenbar etwas ähnliches machen willst.

edit: außerdem für den aufmerksamen Leser, virtual sagte " seit Jahrzehnten" also mehrere. Wir lang gibt es MFC? 10 Jahre? Also nicht mehrere Jahrzenhte
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 11.03.2005 um 15:48 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
11.03.2005, 15:51 Uhr
Spacelord
Hoffnungsloser Fall


Na Pablo,wie war dass mit den albernen Windows Usern die sich aufregen wenn du was negatives über Windows sagst?
Du bekommst ja schon nen Herzinfarkt wenn jemand behauptet dass dein vi was mit MFC zu tun hat....
Ehrlich,du musst mal lockerer werden und anderen Leuten ihre Meinung und ihre Vorlieben lassen.

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
11.03.2005, 15:53 Uhr
CaesarCortezz
minderer Student


oh man da muss ich gleich mal an mich richten -->
MFC... naja wieder mal ins linux-fettnäpfchen gepatscht
k.ah ich wollte nur ne gaaaanz simple funktion zum editieren nix aufwendiges und alles in ein consolen-programm eingebaut. von daher kann ich riesige eigenständige progs net gebrauchen.
--
Thus spake the master programmer:

``When the program is being tested, it is too late to make design changes.''
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
11.03.2005, 18:15 Uhr
Pablo
Supertux
(Operator)



Zitat von Spacelord:
Na Pablo,wie war dass mit den albernen Windows Usern die sich aufregen wenn du was negatives über Windows sagst?


gut beobachtet ich hab auch nie behauptet, dass das nur windows fans betrifft.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: