이 코드를 보세요.
//프로그램은 먼저 D 디스크에 두 개의 텍스트 문서인 teams.txt 와 teamlist.txt 를 만들어 팀 정보와 점수 정보를 저장해야 합니다.
# include & ltiostream & gt
# include & lt 문자열>
# include & ltfstream & gt
네임스페이스 STD 사용
클래스 팀 {
개인:
Int 목표
Int cgoal
Int pgoal
Int win
Int 손실
Int 같음;
Int scorce
공용:
차 이름 [20];
팀 () {
목표 = 0;
Cgoal = 0;
P goal = 0;;
Win = 0;;
누락 = 0;
같음 = 0;
Scorce = 0;;
}
Void 표시 () {
Cout & lt& lt 이름<& lt'<& lt 대상<<'<<C goal & lt<'<<P goal &
}
Void goal chg (int a) :
Void matchchg(int a, int b) :
무효 경기 (팀 & ampt);
Voidsetim ();
Intgets ();
Intgetpg ();
}
Void Team::goalchg(int a){
(a>0) 인 경우
이-> 목표+= a;
(a<0) 인 경우
이-> CGO al-= a;;
P goal = goal-cgoal;
}
Void Team::matchchg(int a, int b){
(a & gtb){
이-> Win+=1;
이-> Scorce+= 3;;
}
(a & ltb){
이-> Lost+=1;
}
If(a==b){
이-> +=1;
이-> Scorce+=1;
}
}
잘못된 팀:: 경기 (팀 & ampt){
Int a, b;
Cout & lt& lt "가정별 목표:";
CIN>;; & gta;;
(a & lt0){
Cout & lt& lt "경고"<& ltendl
종료 (1);
}
Cout & lt& lt "ihome 의 목표에 따라:";
CIN>;; & gtb;;
If(b & lt;; 0){
Cout & lt& lt "경고"<& ltendl
종료 (1);
}
이-> Goalchg (a);
이-> Goalchg (0-b);
목표 (b);
T. goalchg (0-a);
이-> Matchchg(a, b);
T.matchchg(b, a);
}
Void Team::setIm(){
Cout & lt& lt "팀 이름:";
CIN>;; & gt 이-> 이름;
}
Int Team::getS(){
이것으로 돌아가기-> 스콜스
}
Int Team::getPG(){
이것으로 돌아가기-> P 골
}
Voidgetteamlist ();
Fstream team("d:\\teams.txt ",IOs:: in | IOs:: out | IOs:: binary);
Void main(){
차 이름 [20];
팀 t [5];
Int t 1, T2;
Char n;;
Int I;;
만약 (! 팀) {
Cout & lt& lt 누락된 파일<& ltendl
종료 (1);
}
While( 1){
Cout & lt& lt "팀 인스턴트 메시징을 설정했습니까? (y) "< & ltendl
CIN>;; & gtn;;
If(n=='Y'||n=='y')
깨뜨리다
For(int I = 0;; 나 & lt=4; I++){
T[i] 입니다. Setim ();
Team.write ((char *) & T[i], sizeof (t [I]);
}
깨뜨리다
}
팀.seekg (0, IOs:: beg);
For(I = 0;; 나<5; I++)
Team.read ((char *) & T[i], sizeof (t [I]);
While( 1){
Cout & lt& lt "지금 성냥이 있습니까? (n) "< & ltendl
CIN>;; & gtn;;
If(n=='N'||n=='n')
깨뜨리다
을 (를) 하다
Cout & lt& lt "주 팀 이름:";
CIN>;; & gt 이름;
For(I = 0;; 나<5; I++){
If(strcmp(name, t[i]). Name)==0){
T1= I;
깨뜨리다
}
기타
계속;
}
} while (I = = 5);
을 (를) 하다
Cout & lt& lt”keteam 이름: ";
CIN>;; & gt 이름;
For(I = 0;; 나<5; I++){
If(strcmp(name, t[i]). Name)==0){
T2 = I;;
깨뜨리다
}
기타
계속;
}
} while (I = = 5);
T[t 1] 입니다. 패치 (t [T2]);
}
팀.seekg (0, IOs:: beg);
For(I = 0;; 나<5; I++)
Team.write ((char *) & T[i], sizeof (t [I]);
Getteamlist ();
}
Void getteamlist(){
팀 t1[5];
하오 팀
Fstream gamelist ("d: \ \ teamlist.txt", IOs:: in | IOs:: out | IOs:: binary);
만약 (! 게임 목록) {
Cout & lt& lt "가 잘못되었습니다! ! "<& ltendl
종료 (1);
}
팀.seekg (0, IOs:: beg);
For(int I = 0;; 나<5; I++){
Team.read ((char *) & T 1[i], sizeof (t1[I]);
}
For(int j = 0;; J<4; J++)
For(int I = 0;; 나<4-j; I++){
If (t1[I]. gets () < T 1[i+ 1]. GetS()){
Hao = t1[I];
T1[I] = t1[I+1];
T 1[I+ 1]= 하오;
}
If (t1[I]. gets () = = t1[I+1]. GetS()){
If (t1[I]. getpg () < T 1[i+ 1]. GetPG()){
Hao = t1[I];
T1[I] = t1[I+1];
T 1[I+ 1]= 하오;
}
}
}
Cout & lt& lt "팀"
For(I = 0;; 나<5; I++){
Gamelist.write ((char *) & T 1[i], sizeof (t1[I]);
T 1[i]. 표시 ();
}
나는 기본적으로 이렇게 많이 썼다. 네가 쓸 수 있는지 보자.