c语言:学生学籍管理系统

Python012

c语言:学生学籍管理系统,第1张

#include <stdio.h>

#include <conio.h>

#include <string.h>

#include <stdlib.h>

int n=0,i

struct address_book

{

char name[20]

int num

int age

char place[80]

char sex

char clas[40]

char department[40]

char domain[40]

char dowhat[20]

}stud[200]

void add()

{

char j

front1:

system("cls")//清屏

printf("\n请输入要添加的姓名:")

scanf("%s",stud[n].name)

printf("\n请输入要添加的学号(8位):")

scanf("%d",&stud[n].num)

printf("\n请输入要添加的性别(F/M):")

scanf("\n%c",&stud[n].sex)

printf("\n请输入要添加的年龄:")

scanf("%d",&stud[n].age)

printf("\n请输入要添加的班级:")

scanf("%s",stud[n].clas)

printf("\n请输入要添加的籍贯:")

scanf("%s",stud[n].place)

printf("\n请输入要添加的系别:")

scanf("%s",stud[n].department)

printf("\n请输入要添加的专业:")

scanf("%s",stud[n].domain)

printf("\n请输入学籍变化:")

scanf("%s",stud[n].dowhat)

getchar()

n++

printf("是否继续(Y/N)?:")

j=getchar()

getchar()

if(j=='y'||j=='Y') goto front1//再次输入记录

}

void del()

{

int k=0,m,i

char j

front2:

system("cls")//清屏

printf("\n请输入要删除的学号:")

scanf("%d",&m)

getchar()

for(i=0i<ni++)//查找记录

if(m==stud[i].num)

{

k=1

break

}

if(k==1)//删除记录

{

for(k=ik<n-1k++)

stud[k]=stud[k+1]

n--

printf("已删除\n\n")

}

else

{

printf("找不到要删除的记录!\n")

printf("按回车键返回:")

getchar()

}

printf("是否继续(Y/N)?:")

j=getchar()

getchar()

if(j=='y'||j=='Y') goto front2

getchar()

}

void arrange()

{

int k,i

struct address_book t

system("cls")//清屏

printf("姓名学号性别年龄班级籍贯系别专业\n")

for(k=0k<n-1k++)

for(i=0i<n-k-1i++)

if(stud[i].num>stud[i+1].num)

{

t=stud[i]

stud[i]=stud[i+1]

stud[i+1]=t

}

for(i=0i<=n-1i++)

if(stud[i].num!=0)

printf("%-10s %-8d %8c %-8d %-10s %-10s %-10s %-10s\n",stud[i].name,stud[i].num,stud[i].sex,stud[i].age,stud[i].clas,stud[i].place,stud[i].department,stud[i].domain)

printf("按回车键返回!")

getchar()

getchar()

}

void change()

{

int k=0,m

char j

front5:

system("cls")//清屏

printf("\n请输入要修改记录的学号:")

scanf("%d",&m)

getchar()

for(i=0i<ni++)//查找

if(m==stud[i].num)

{

k=1

break

}

if(k==1)

{

printf("\n请输入要修改的姓名:")

scanf("%s",stud[i].name)

printf("\n请输入要修改的学号(8位):")

scanf("%d",&stud[i].num)

printf("\n请输入要修改的性别(F/M):")

scanf("%c",&stud[i].sex)

printf("\n请输入要修改的年龄:")

scanf("%d",&stud[i].age)

printf("\n请输入要修改的班级:")

scanf("%s",stud[i].clas)

printf("\n请输入要修改的籍贯:")

scanf("%s",stud[i].place)

printf("\n请输入要修改的系别:")

scanf("%s",stud[i].department)

printf("\n请输入要修改的专业:")

scanf("%s",stud[i].domain)

printf("\n请输入要修改的学籍变化:")

scanf("%s",stud[n].dowhat)

getchar()

}

if(k==0)

{

printf("找不到要修改的记录!\n")

printf("按回车键返回:")

getchar()

}

getchar()

printf("是否继续(Y/N)?:")

j=getchar()

getchar()

if(j=='y'||j=='Y') goto front5

}

void find()

{

int k=0,m

char j

front3:

system("cls")//清屏

printf("\n请输入要查找的学生的学号:")

scanf("%d",&m)

getchar()

for(i=0i<ni++)//查找

if(m==stud[i].num)

{

k=1

break

}

if(k==1)

{

printf("姓名学号性别年龄班级籍贯系别专业学籍变化\n")

printf("%-8s %-8d %8c %-8d %-10s %-10s %-10s %-10s %-8s\n",stud[i].name,stud[i].num,stud[i].sex,stud[i].age,stud[i].clas,stud[i].place,stud[i].department,stud[i].domain,stud[i].dowhat)

}

else

{

printf("找不到该同学!请重新输入!按回车返回!")

getchar()

goto front3

}

printf("是否继续(Y/N)?:")

j=getchar()

getchar()

if(j=='y'||j=='Y') goto front3

}

void main()

{

char j

printf("\n\n\n\n\n\n\t\t\t 欢迎使用学生学籍管理系统")

printf("\n\n\n\t\t\t\t制作人:zqr")

printf("\n\n\n\t\t\t\t 2016年1月")

printf("\n\n\n\n\n\n\n\n\n\n\n\n按回车键进入主菜单:")

getchar()

loop:

system("cls")

printf("\n")

printf("\t\t\t\t ************\n")

printf("\t\t\t\t ***主菜单***\n")

printf("\t\t\t\t ************\n\n\n\n\n\n")

printf("\t\t 1、录入学生信息2、删除学生信息\n\n")

printf("\t\t 3、查找学生信息4、学生信息排序\n\n")

printf("\t\t 5、修改学生信息6、保存退出系统\n\n")

printf("\n\n\n\n\n\n\n\n\n请选择[1/2/3/4/5/6]:")

j=getchar()

if(j=='\n') goto loop//返回主菜单

switch(j)

{

case '1': add()goto loop//返回主菜单

case '2': del()goto loop

case '3': find()goto loop

case '4': arrange()goto loop

case '5': change()goto loop

case '6':

{

FILE *fp

fp=fopen("student.dat","w")

for(i=0i<ni++)

fwrite(&stud[i],sizeof(struct address_book),1,fp)

fclose(fp)

exit(0)

}

default: goto loop

}

}

#include<iostream>

#include<string>

#include<fstream>

#include<iomanip>

using namespace std

class student

{

protected:

int number

char name[20]

char sex[6]

char place[20]

char nation[6]

char birth[20]

char party[10]

char id[20]

double score[3]

public:

student *next

student(){ }

~student(){ }

char* getname(){ return name}

int getnumber(){ return number}

double getscore(int i) { return score[3]}

float getg(){ return (score[0]+score[1]+score[2])}

void input()

{

int e=1

cout<<"\t\t\t按提示输入:"<<endl

cout<<"\t\t输入编号: "

cin>>number

cout<<"\t\t输入姓名: "

cin>>name

do

{

cout<<"\t\t输入性别: "

cin>>sex

if(strcmp(sex,"男")==0 || strcmp(sex,"女")==0)

{

cout<<"\t\t输入籍贯: "

cin>>place

cout<<"\t\t输入民族: "

cin>>nation

cout<<"\t\t输入生日: "

cin>>birth

cout<<"\t\t输入政治面貌: "

cin>>party

cout<<"\t\t输入身份证号: "

cin>>id

cout<<"\t\t输入数学分数: "

cin>>score[0]

cout<<"\t\t输入英语分数: "

cin>>score[1]

cout<<"\t\t输入计算机分数: "

cin>>score[2]

e=0

}

else

{

cout<<"\t\t\t无此类型性别!重新输入!"<<endl

e=1

}

}while(e)

return

}

void input(ifstream &is)

{

is>>number>>name>>sex>>place>>nation>>birth>>party>>id

>>score[0]>>score[1]>>score[2]

is.get()

}

void output()

{

cout<<"学生基本信息如下:"<<endl

cout<<"编号:"<<number

<<" 姓名:"<<name

<<" 性别:"<<sex

<<" 籍贯:"<<place

<<" 民族:"<<nation

<<" 生日:"<<birth

<<" 政治面貌:"<<party<<endl

<<"身份证号:"<<id

<<" 数学:"<<score[0]

<<" 英语:"<<score[1]

<<" 计算机:"<<score[2]

<<" 总分:"<<getg()<<endl<<endl

}

void output(ofstream &os)

{

os<<setw(6)<<number

<<setw(15)<<name

<<setw(6)<<sex

<<setw(20)<<place

<<setw(6)<<nation

<<setw(20)<<birth

<<setw(20)<<party

<<setw(20)<<id

<<setw(6)<<score[0]

<<setw(6)<<score[1]

<<setw(6)<<score[2]<<endl

}

}

class school

{

public:

school(){ head=new studenthead->next=NULLkey=0}

~school(){ delete head}

void input()

void mend()

void del()

int find(student **p,int num,char *pn="^")

void found()

void show()

void count()

void save()

void begin()

void clear()

char mainmenu()

int getkey(){ return key}

void setkey(int k){ key=k}

private:

student *head

int key

}

//录入函数

void school::input()

{

student *p,*p2=NULL

p=head

int n

while(p->next)

p=p->next

while(n)

{

p2=new student

p2->input()

p->next=p2

p2->next=NULL

p=p->next

school::setkey(1)

cout<<"\t\t\t按1继续,按0返回 : "

cin>>n

}

}

//子查找函数

int school::find(student **p1,int num,char *pn)

{

student *p

p=head

while(p->next)

{

(*p1)=p

if( (p->next)->getnumber()==num||!strcmp( (p->next)->getname(),pn ) )

return 1

p=p->next

}

return 0

}

//查找函数

void school::found()

{

student *p

int num=-1,n=9

char name[20]="^"

do

{

cout<<"\t\t1:按编号查找,2:按姓名查找: "

cin>>n

}while(n<1||n>2)

if(n==1)

{

cout<<"\t\t\t输入编号: "

cin>>num

}

if(n==2)

{

cout<<"\t\t\t输入姓名: "

cin>>name

}

if(!find(&p,num,name) )

{

cout<<"\t\t找不到你要查找的内容!"<<endl

return

}

(p->next)->output()

}

//删除函数

void school::del()

{

student *p,*p2

int num

cout<<"\t\t\t输入编号: "

cin>>num

if( !find(&p,num,"^") )

{

cout<<"\t\t找不到你要删除的内容!"<<endl

return

}

(p->next)->output()

p2=p->next

p->next=p2->next

delete p2

school::setkey(1)

}

//显示函数

void school::show()

{

student *p

p=head

while(p->next)

{

(p->next)->output()

p=p->next

}

}

//修改函数

void school::mend()

{

student *p

int num=-1,n

char name[20]="^"

do

{

cout<<"\t\t1:按编号修改,2:按姓名修改: "

cin>>n

}while(n<1||n>2)

if(n==1)

{

cout<<"\t\t\t输入编号: "

cin>>num

}

if(n==2)

{

cout<<"\t\t\t输入姓名: "

cin>>name

}

if( !find(&p,num,name) )

{

cout<<"\t\t找不到你要修改的内容!"<<endl

return

}

(p->next)->output()

(p->next)->input()

school::setkey(1)

}

//保存函数

void school::save()

{

student *p

p=head

ofstream os("student.txt",ios::out)

if (school::getkey()==1)

{

while(p->next)

{

(p->next)->output(os)

p=p->next

}

}

cout<<"\t\t\t文件已保存! "<<endl

school::setkey(0)

}

//初始化函数

void school::begin()

{

student *p,*p2

p=head

clear()

long t

ifstream is("student.txt",ios::in)

if(!is)

{

ofstream os("student.txt",ios::out)

os.close()

return

}

int num=-1

while(1)

{

num=-1

t=is.tellg()

is>>num

is.seekg(t)

if(num<0)

{

is.close()

return

}

p2=new student

p2->input(is)

p->next=p2

p2->next=NULL

p=p->next

}

}

//清空函数

void school::clear()

{

student *p,*p2

p=head->next

while( p )

{

p2=p

p=p->next

delete p2

}

}

//统计函数

void school::count()

{

student *p

p=head

int n=0

double g[3]={0,0,0}

float j[3]={0,0,0}

while(p->next)

{

p=p->next

n++

for(int i=0i<3i++)

{

g[++i]=g[i]+( p->getscore(i) )

(p->getscore(i) )>=60? j[i++] : 0

}

}

cout<<"\t\t\b\b\b\b数学总分:"<<g[0]<<" 平均分:"<<g[0]/n

<<" 及格率:"<<j[0]/n<<endl<<"\t\t\b\b\b\b英语总分:"<<g[1]

<<" 平均分:"<<g[1]/n<<" 及格率:"<<j[1]/n<<endl

<<"\t\t\b\b\b\b计算机总分: "<<g[2]<<" 平均分: "<<g[2]/n

<<" 及格率:"<<j[2]/n<<endl

}

//主选菜单函数

char school::mainmenu()

{

char n[6]

cout<<"\n\n ☆☆☆☆欢迎进入高校学籍管理系统☆☆☆☆"<<endl<<endl

<<" * * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl

<<" * * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl

<<" * * 1: 录入学生信息 * *"<<endl

<<" * * 2: 显示学生信息 * *"<<endl

<<" * * 3: 查找学生信息 * *"<<endl

<<" * * 4: 删除学生信息 * *"<<endl

<<" * * 5: 修改学生信息 * *"<<endl

<<" * * 6: 统计学生成绩 * *"<<endl

<<" * * 7: 保存学生信息 * *"<<endl

<<" * * 0: 退出系统 * *"<<endl

<<" * * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl

<<" * * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl

<<" 请选择:"

cin>>n

return n[0]

}

//主函数

void main()

{

school pp

int k=1

char n

pp.begin()

while(k==1)

{

n=pp.mainmenu()

switch(n)

{

case '1':pp.input()break

case '2':pp.show()break

case '3':pp.found()break

case '4':pp.del()break

case '5':pp.mend()break

case '6':pp.count()break

case '7':pp.save()break

case '0':

if(pp.getkey()==1)

{

cout<<"\t\t\t是否保存? 1 : 保存 0:不保存 : "

cin>>k

if(k==1)

pp.save()

}

pp.clear()

k=0

break

}

}

}

#include <iostream>

#include <fstream>

#include <string>

#include <conio.h>//用getch()

using namespace std

/*程序中一般用i表示学生序号,j表示科目序号

*其他循环变量用k,m,n表示

*最多统计10科50人的成绩信息

*temname用于临时储存姓名

*temsub用于临时储存科目名称

*data.txt用于储存成绩; data1.txt用于储存学科名称、学时、学分; data2.txt用于储存学生信息

*/

char name[51][20] //姓名

int Id[51] //学号

int sex[51] //性别

int tel[51] //联系方式

char subject[11][20] //学科

int score[11][51] //成绩 格式为score[j][i] j i 以1为初始值

int shi[11] //学时

int fen[11] //学分

/*添加科目*/

void subadd () //添加科目

{

int j

char subjectname[20]

cout<<"输入添加科目名称:\t"

cin>>subjectname

for (j=1j<=10j++)

{

if (strcmp(subject[j],"KONG")==0)

{

strcpy(subject[j],subjectname)

break

}

}

cout<<endl<<"输入该科目学时:\t\t"

cin>>shi[j]

cout<<endl<<"输入该科目学分:\t\t"

cin>>fen [j]

cout<<endl<<"输入任意字符退出"<<endl

getch()

}

/*删除科目*/

void subdel () //删除科目

{

int i,j,k

char temsub[20]

cout<<"输入科目:"<<endl

cin>>temsub

for (j=1j<=10j++) //查找科目j

{

if ((strcmp(subject[j],temsub)!=0)&&(j==10))

{

cout<<"无此科目!"<<endl<<"输入任意字符退出"<<endl

getch()

return

}

if (strcmp(subject[j],temsub)==0)

break

}

for (k=jk<=9k++)

{

strcpy(subject[k],subject[k+1]) //删除科目j,将科目j后的数据移动

shi[k]=shi[k+1]

fen[k]=fen[k+1]

for (i=1i<=50i++) //删除科目j的成绩

{

score[k][i]=score[k+1][i]

}

}

cout<<"输入任意字符退出"<<endl

getch()

}

/*判断成绩等级*/

void dengji(int af) //判断成绩等级

{

if (af>=90) cout<<"A"

else if (af>=80) cout<<"B"

else if (af>=70) cout<<"C"

else if (af>=60) cout<<"D"

else cout<<"E"

}

/*添加学生*/

void stuadd () //添加学生

{

int i,j

char bijiao[20]="\0"

for (i=1i<=50i++)

{

if (strcmp(name[i],"KONG")==0)

break

if ((strcmp(name[i],"KONG")!=0)&&(i==50))

{

cout<<"数据已满!"<<endl<<"输入任意字符退出"<<endl

getch()

return

}

}

cout<<"输入学生姓名:\t\t"

cin>>name[i]

cout<<endl<<"输入学生性别(男1/女2):"

cin>>sex[i]

cout<<endl<<"输入学生学号:\t\t"

cin>>Id[i]

cout<<endl<<"输入学生联系方式:\t"

cin>>tel[i]

for (j=1j<=10j++)

{

if (strcmp(subject[j],"KONG")==0) break

cout<<"输入"<<subject[j]<<"成绩:\t\t"

cin>>score[j][i]

cout<<endl

}

cout<<"姓名\t\t"<<name[i]<<endl<<"性别\t\t"<<sex[i]<<endl<<"学号\t\t"<<Id[i]<<endl<<"联系方式\t"<<tel[i]<<endl

cout<<"科目\t\t分数\t\t等级\t\t"<<endl

for (j=1j<=10j++)

{

if (strcmp(subject[j],"KONG")==0) break

cout<<subject[j]<<"\t\t"<<score[j][i]<<"\t\t"

dengji(score[j][i])

cout<<endl

}

cout<<"输入任意字符退出"<<endl

getch()

}

/*删除学生*/

void studel () //删除学生

{

int i,j,k

char temname[20]

cout<<"输入学生姓名:"<<endl

cin>>temname

for (i=1i<=50i++)

{

if ((strcmp(name[i],temname)!=0)&&(i==50))

{

cout<<"无此学生!"<<endl<<"输入任意字符退出"<<endl

getch()

return

}

if (strcmp(name[i],temname)==0)

break

}

for (k=ik<=49k++)

{

strcpy(name[k],name[k+1])

Id[k]=Id[k+1]

sex[k]=sex[k+1]

tel[k]=tel[k+1]

}

for (k=ik<=49k++)

{

for (j=1j<=10j++)

score[j][k]=score[j][k+1]

}

cout<<"输入任意字符退出"<<endl

getch()

}

/*查询成绩*/

void chengji () //查询成绩

{

char temname[20]

int i,j=1,ji=0,zongfen=0 //学分积,总学分 ji为学分积,zongfen为总学分

cout<<"输入学生姓名:"<<endl

cin>>temname

cout<<endl

for (i=1i<=50i++) //查找学生

{

if ((strcmp(name[i],temname)!=0)&&(i==50))

{

cout<<"无此学生!"<<"输入任意字符退出"<<endl

getch()

return

}

if (strcmp(name[i],temname)==0)

break

}

cout<<"姓名\t\t"<<name[i]<<endl<<"性别\t\t"<<sex[i]<<endl<<"学号\t\t"<<Id[i]<<endl<<"联系方式\t"<<tel[i]<<endl

if (strcmp(subject[j],"KONG")!=0) cout<<"科目\t\t"<<"成绩\t\t"<<"等级\t\t"<<endl

for (j=1j<=10j++)

{

if (strcmp(subject[j],"KONG")==0) break

cout<<subject[j]<<"\t\t"<<score[j][i]<<"\t\t"

dengji(score[j][i])

cout<<endl

}

for (j=1j<=10j++) //计算学分积

{

if (strcmp(subject[j],"KONG")==0) break

ji=ji+score[j][i]*fen[j]

zongfen=zongfen+fen[j]

}

ji=ji/zongfen

cout<<"学分积\t\t"<<ji<<endl

cout<<"输入任意字符退出"<<endl

getch()

}

/*成绩统计*/

void tongji () //成绩统计

{

char temsub[20],na[51][20],tempna[20]

int sc[51],tempsc

int j,k,m

cout<<"输入科目名称:"<<endl

cin>>temsub

cout<<endl

for (j=1j<=10j++) //查找科目j

{

if ((strcmp(subject[j],temsub)!=0)&&(j==10))

{

cout<<"无此科目!"<<"输入任意字符退出"<<endl

getch()

return

}

if (strcmp(subject[j],temsub)==0)

break

}

for (k=1k<=50k++) //成绩排序采用冒泡排序法

{

strcpy(na[k],name[k])

sc[k]=score[j][k]

}

for (k=1k<=50k++)

{

for (m=1m<51-km++)

{

if (sc[m]>sc[m+1])

{

tempsc=sc[m]strcpy(tempna,na[m])

sc[m]=sc[m+1]strcpy(na[m],na[m+1])

sc[m+1]=tempscstrcpy(na[m+1],tempna)

}

}

}

cout<<"名次\t\t"<<"姓名\t\t"<<"成绩\t\t"<<"等级\t\t"<<endl

for (k=50k>=1k--)

{

if (strcmp(na[k],"KONG")==0) break

cout<<51-k<<"\t\t"<<na[k]<<"\t\t"<<sc[k]<<"\t\t"

dengji(sc[k])

cout<<endl

}

cout<<"输入任意字符退出"<<endl

getch()

}

/*修改成绩*/

void xiugai() //修改成绩

{

int i,j

char temname[20],temsub[20]

cout<<"要修改的学生姓名:\t"

cin>>temname

cout<<endl

for (i=1i<=50i++) //查找学生

{

if ((strcmp(name[i],temname)!=0)&&(i==50))

{

cout<<"无此学生!"<<endl<<"输入任意字符退出"<<endl

getch()

return

}

if (strcmp(name[i],temname)==0)

{

cout<<"输入科目名称:\t\t"

cin>>temsub

cout<<endl

for (j=1j<=10j++) //查找科目j

{

if ((strcmp(subject[j],temsub)!=0)&&(j==10))

{

cout<<"无此科目!"<<"输入任意字符退出"<<endl

getch()

return

}

if (strcmp(subject[j],temsub)==0)

{

cout<<"输入新的成绩:\t\t"

cin>>score[j][i]

cout<<endl

break

}

}

break

}

}

cout<<"输入任意字符退出"<<endl

getch()

}

/*主界面*/

void ShowMenu() //主界面

{

cout<<endl<<endl

cout<<" 学 生 成 绩 管 理 系 统 "<<endl<<endl

cout<<"***************************** 9.初始化程序 **************************"<<endl<<endl

cout<<"----------------------------- 1.添加科目--------------------------"<<endl

cout<<"----------------------------- 2.删除科目--------------------------"<<endl

cout<<"----------------------------- 3.添加学生--------------------------"<<endl

cout<<"----------------------------- 4.删除学生--------------------------"<<endl

cout<<"----------------------------- 5.查询成绩--------------------------"<<endl //含学分积

cout<<"----------------------------- 6.各科排名--------------------------"<<endl

cout<<"----------------------------- 7.修改成绩--------------------------"<<endl

cout<<"----------------------------- 0.退出系统--------------------------"<<endl

cout<<"初始化同时会清空已输入的数据!!"<<endl<<"初次使用程序请初始化!!"<<endl

cout<<"\n\t\t\n\t\t请选择:"

}

void readtxt() //读取信息

{

int i,j

ifstream file("data.txt")

for (i=1i<=50i++)

{

for (j=1j<=10j++)

{

file>>score[j][i]

}

}

file.close()

}

void readtxt1()

{

int j

ifstream file("data1.txt")

for (j=1j<=10j++)

{

file>>subject[j]

file>>shi[j]

file>>fen[j]

}

file.close()

}

void readtxt2()

{

int i

ifstream file("data2.txt")

for (i=1i<=50i++)

{

file>>name[i]

file>>Id[i]

file>>sex[i]

file>>tel[i]

}

file.close()

}

/*存入成绩*/

void savetxt()

{

int i,j

FILE *fp,*fp1,*fp2

if ((fp=fopen("data.txt","w+"))==NULL) //存入成绩

{

cout<<"文件不能打开"<<endl

exit(0)

}

for (i=1i<=50i++)

{

for (j=1j<=10j++)

{

fprintf(fp,"%d ",score[j][i])

}

}

fclose(fp)

if ((fp1=fopen("data1.txt","w+"))==NULL) //存入学科名称、学时、学分

{

cout<<"文件不能打开"<<endl

exit(0)

}

for (j=1j<=10j++)

{

fprintf(fp1,"%s %d %d ",subject[j],shi[j],fen[j])

}

fclose(fp1)

if ((fp2=fopen("data2.txt","w+"))==NULL) //存入学生信息

{

cout<<"文件不能打开"<<endl

exit(0)

}

for (i=1i<=50i++)

{

fprintf(fp2,"%s %d %d %d ",name[i],Id[i],sex[i],tel[i])

}

fclose(fp2)

}

void chu() //初始化程序,将所有数据赋值"KONG"或0

{

int i,j

for (j=0j<=10j++) //"KONG"用于表示空值,无数据

{

shi[j]=0

fen[j]=0

strcpy(subject[j],"KONG")

for (i=1i<=50i++)

{

score[j][i]=0

}

}

for (i=0i<=50i++)

{

Id[i]=0

sex[i]=0

tel[i]=0

strcpy(name[i],"KONG")

}

savetxt()

}

int main ()

{

system("color 30")//背景湖蓝色,字符黑色

int x,j,i=0

readtxt ()

readtxt1()

readtxt2()

bool quit=false

cout<<"\t\t -------------------------------------------------"<<endl //欢迎界面开始

for(i=0i<2i++)

cout<<"\t\t|\t\t\t\t\t\t |"<<endl

cout<<"\t\t|★★★★【 欢迎进入学生成绩管理系统 】★★★★ |"<<endl

for(i=0i<2i++)

cout<<"\t\t|\t\t\t\t\t\t |"<<endl

cout<<"\t\t -------------------------------------------------\n"<<endl //欢迎界面结束

cout<<endl<<"\t\t按任意键开始"

getch()

while(!quit)

{

system("cls")

ShowMenu() //显示主界面

cin>>x

switch(x)

{

case 0:quit=truebreak

case 1:subadd()break

case 2:subdel()break

case 3:stuadd()break

case 4:studel()break

case 5:chengji()break

case 6:tongji()break

case 7:xiugai()break

case 9:chu()break

}

}

savetxt() //程序退出前将数据存入记事本

return 0

}