Jeżeli chodzi o pytanie 2 może wytłumaczę jaśniej polecenie system("cls") znam ale nie chcę go użyć bo czyści całą konsolę, ja potrzebuję wyczyścić jedną linię.
To jest menu bankomatu
[code]
WITAJ
1 - Wyplata gotowki 2 - Stan konta
3 - Wydruk 4 - Wpłatomat
5 - Zmiana pin 6 - Dane konta
1
podaj kwote do wyplaty : 34
wyplacono
wybierz opcje
3
Wyplacono: 34 zl
Stan konta po wyplaceniu: 4940
2
Stan twojego konta wynosi : 4940
//jak widać wszystkie operacje które dokonałem zostają na konsoli.
// mi chodzi o to że po naciśnięciu enter np. wciskam 1 i daję enter to cyferka 1 znika a w jej miejsce ukazuję się napis "podaj kwote do wyplaty" wpisuję kwotę 34 i enter wtedy napis "podaj kwote do wyplaty : 34" znika i w jego miejsce pojawiają się
wyplacono
wybierz opcje
wybieram 3 i enter wtedy "wyplacono wybierz opcje" itd; Z TYM ,ŻE NAPIS "WITAJ" ORAZ TO MENU ZOSTAJĄ
[/code]
Jeżeli nie da się to zrobić prostym sposobem to nie będę się bawił , jak mówiłem to miało by za zadanie po porostu uestetyczniać wygląd.
Pytanie 2:
Sposób który podał kolega rincewind zrobiłem tak:
[code]
void main()
{
string imie, nazwisko, nr_konta;
fstream fin;
fin.open("dane1.txt");
getline(fin, imie);
getline(fin, nazwisko);
getline(fin, nr_konta);
cout << imie << "\n";
cout << nazwisko << "\n";
cout << nr_konta << std::endl;
getchar();
}
[/code]
Fajnie działa, próbowałem też zrobić tak jak pokazał kolega gswidwa bo chcę to zrobić na tablicy a nie na stringach.
[code]
int main()
{
char imie[50];
char nazwisko[50];
char nr_konta[50];
ifstream fin();
fin.open("dane1.txt");
fin.getline(imie, 50);
fin.getline(nazwisko, 50);
fin.getline(nr_konta, 50);
fin.close();
cout << imie << "\n";
cout << nazwisko << "\n";
cout << nr_konta << std::endl;
getchar();
}
[/code]
ale to nie idzie są błędy.
[code]
1>------ Build started: Project: kolko krzyzyk, Configuration: Debug Win32 ------
1>Compiling...
1>kolko.cpp
1>d:\projekt\kolko krzyzyk\kolko krzyzyk\kolko.cpp(13) : error C2228: left of '.open' must have class/struct/union
1>d:\projekt\kolko krzyzyk\kolko krzyzyk\kolko.cpp(14) : error C2228: left of '.getline' must have class/struct/union
1>d:\projekt\kolko krzyzyk\kolko krzyzyk\kolko.cpp(15) : error C2228: left of '.getline' must have class/struct/union
1>d:\projekt\kolko krzyzyk\kolko krzyzyk\kolko.cpp(16) : error C2228: left of '.getline' must have class/struct/union
1>Build log was saved at "file://d:\Projekt\kolko krzyzyk\kolko krzyzyk\Debug\BuildLog.htm"
1>kolko krzyzyk - 4 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
[/code]
Co robię źle??
No i jak wspomniałem chciałbym to zrobić na klasie(chyba że źle mówię), ale wyjaśnię o co mi chodzi.
Chcę dwa pliki konto.h i konto.cpp
W konto.h
#pragma once
#include<iostream>
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
class konto
{
public:
char nazwisko[20];
char imie[20];
char nr_konta[20];
konto(char*nazw,char*im,char*nr);
};
W konto.cpp
#include "konto.h"
konto::konto(char *nazw, char *im, char *nr)
{
char imie[50];
char nazwisko[50];
char nr_konta[50];
ifstream fin();
fin.open("dane1.txt");
fin.getline(imie, 50);
fin.getline(nazwisko, 50);
fin.getline(nr_konta, 50);
fin.close();
}
A w main.cpp po prostu odwołać się tak że konto u1; cout<<u1.im<<u1.nazw<<u1.nr<<endl;
Ale się spisałem mam nadzieję ,że to przybliży wam mój problem.