⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 学生成绩shu.cpp

📁 某个班一个学期的学生成绩管理
💻 CPP
📖 第 1 页 / 共 2 页
字号:
cin>>a; 
strcat(a, "\n"); 
strcpy(p->sc.num, a); 

cout<<"请输入语文成绩: "<<endl; 
cin>>a; 
strcat(a, "\n"); 
strcpy(p->sc.chinese, a); 

cout<<"请输入英语成绩: "<<endl; 
cin>>a; 
strcat(a, "\n"); 
strcpy(p->sc.english, a); 

cout<<"请输入数学成绩: "<<endl; 
cin>>a; 
strcat(a, "\n"); 
strcpy(p->sc.math, a); 

cout<<"请输入物理成绩: "<<endl; 
cin>>a; 
strcat(a, "\n"); 
strcpy(p->sc.physics, a); 

cout<<"编辑学科成绩完成!"<<endl; 

dispscore(p); 
} 

void List::edittelephone(nodetype* p) 
{ 
char c[50]; 
cout<<"请输入手机号码: "<<endl; 
cin>>c; 
strcat(c, "\n"); 
strcpy(p->te.SJ, c); 

cout<<"请输入家庭电话号码: "<<endl; 
cin>>c; 
strcat(c, "\n"); 
strcpy(p->te.JD, c); 

cout<<"请输入学校电话号码: "<<endl; 
cin>>c; 
strcat(c, "\n"); 
strcpy(p->te.XD, c); 

cout<<"编辑联系方式完成!"<<endl; 

disptelephone(p); 
} 

void List::dispperson(nodetype* p) 
{ 
cout<<"姓名: "<<p->pe.name; 
cout<<"性别: "<<p->pe.sex; 
cout<<"民族: "<<p->pe.MZ; 
cout<<"国籍: "<<p->pe.GJ; 
cout<<"学历: "<<p->pe.XL; 
cout<<"出生日期: "<<p->birthday; 
cout<<"家庭住址: "<<p->address; 
} 

void List::dispscore(nodetype* p) 
{ 
cout<<"学号: "<<p->sc.num; 
cout<<"语文成绩: "<<p->sc.chinese; 
cout<<"英语成绩: "<<p->sc.english; 
cout<<"数学成绩: "<<p->sc.math; 
cout<<"物理成绩: "<<p->sc.physics; 
} 

void List::disptelephone(nodetype* p) 
{ 
cout<<"手机号码是: "<<p->te.SJ; 
cout<<"家庭电话是: "<<p->te.JD; 
cout<<"学校电话是: "<<p->te.XD; 
} 

void List::help() 
{ 
cout<<endl<<endl; 
cout<<"*********************************************************"<<endl; 
cout<<"1: 编辑个人信息"<<endl; 
cout<<"2: 编辑学科成绩"<<endl; 
cout<<"3: 编辑联系方式"<<endl; 
cout<<"4: 显示个人信息"<<endl; 
cout<<"5: 显示学科成绩"<<endl; 
cout<<"6: 显示联系方式"<<endl; 
cout<<"7: 显示该学生所有信息"<<endl; 
cout<<"8: 帮助菜单"<<endl; 
cout<<"9: 返回上一级菜单"<<endl; 
cout<<"*********************************************************"<<endl; 
} 

List::~List() 
{ 
nodetype *pa=head, *pb; 
if(pa!=NULL) 
{ 
pb=pa->next; 
if(pb==NULL) 
free(pa); 
else 
{ 
while(pb!=NULL) 
{ 
free(pa); 
pa=pb; 
pb=pb->next; 
} 
free(pa); 
} 
} 
} 
class Operater 
{ 
List L1; 
public: 
void Loop(); //主循环 
void display(); //显示菜单 
}; 
List::List() 
{ 
head = NULL; 
} 
void Operater::display() 
{ 
cout<<endl<<endl; 
cout<<"**************************** 学生管理系统 **************************"<<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; 
} 

void Operater::Loop() 
{ 
List L1; //List 对象 
char ch[20]; 
nodetype *p, *head; 
int i; //存放节点序号 

p=L1.load(); //初始化:从外部读入数据创建链表 

head=p; 
display(); 

while(1) 
{ 
cout<<endl<<endl; 
cout<<"请输入选择(帮助选项--> 6 ): "<<endl; 
cin>>ch; 

////system("cls"); 
if(L1.check(ch, "1")) 
{ 
p=L1.insnode(0); 
head=p; 

//system("cls"); 
cout<<endl; 
cout<<"************** 添加一个学生信息 ******************"<<endl; 
cout<<"下面输入个人信息: "<<endl; 
L1.editperson(p); 
cout<<"下面输入学科成绩: "<<endl; 
L1.editscore(p); 
cout<<"下面输入联系方式: "<<endl; 
L1.edittelephone(p); 
} 

if(L1.check(ch, "2")) 
{ 
//system("cls"); 
cout<<endl; 
cout<<"************** 删除一个学生信息 ******************"<<endl; 
L1.dispname(); 
cout<<"请输入学生姓名: "<<endl; 
cin>>ch; 
i=L1.find2(ch); 
L1.delnode(i); 
} 

if(L1.check(ch, "3")) 
{ 
//system("cls"); 
cout<<endl; 
cout<<"************** 显示所有学生姓名 ******************"<<endl; 
L1.dispname(); 
} 

if(L1.check(ch, "4")) 
{ 
//system("cls"); 
cout<<endl; 
cout<<"************** 根据姓名显示单个学生所有信息 ******************"<<endl; 
L1.dispname(); 
cout<<"请输入学生姓名: "<<endl; 
cin>>ch; 
p=L1.find(ch); 
L1.dispnode(p); 
} 

if(L1.check(ch, "6")) 
{ 
display(); 
} 

if(L1.check(ch, "7")) //保存数据 
{ 
FILE *fp; 
if((fp=fopen("student.txt", "w"))==NULL) 
{ 
cout<<"打开文件失败"<<endl; 
return; 
} 

int i; 
char t[255]; 

//将 L1.listlen() 赋予字符串中的数字 
sprintf(t, "The Length Of Link: %d\n", L1.listlen()); 

fputs(t, fp); 
strcpy(t, "\n"); 
fputs(t, fp); 

p=L1.findnode(1); //将链表头指针赋予 p 

for(i=0; i<L1.listlen(); i++) 
{ 
fputs(p->address, fp); //输出地址 
fputs(p->birthday, fp); //输出生日 

fputs(p->sc.num, fp); //输出学号 
fputs(p->sc.chinese, fp); //输出语文成绩 
fputs(p->sc.english, fp); //输出英语成绩 
fputs(p->sc.math, fp); //输出数学成绩 
fputs(p->sc.physics, fp); //输出物理成绩 

fputs(p->pe.name, fp); //输出姓名 
fputs(p->pe.sex, fp); //输出性别 
fputs(p->pe.GJ, fp); //输出国籍 
fputs(p->pe.MZ, fp); //输出民族 
fputs(p->pe.XL, fp); //输出学历 

fputs(p->te.SJ, fp); //输出手机 
fputs(p->te.JD, fp); //输出家庭电话 
fputs(p->te.XD, fp); //输出学校电话 
fputs(t, fp); 

p=p->next; 
} 
p=head; 
fclose(fp); 
} 

if(L1.check(ch, "5")) 
{ 
char c[20]; 
//system("cls"); 
cout<<endl; 
cout<<"************** 根据姓名对单个学生进行编辑 ******************"<<endl; 
L1.dispname(); 
cout<<"请输入学生姓名: "<<endl; 
cin>>c; 
p=L1.find(c); 

//system("cls"); 
cout<<endl<<endl; 
cout<<"*********************************************************"<<endl; 
cout<<"1: 编辑个人信息"<<endl; 
cout<<"2: 编辑学科成绩"<<endl; 
cout<<"3: 编辑联系方式"<<endl; 
cout<<"4: 显示个人信息"<<endl; 
cout<<"5: 显示学科成绩"<<endl; 
cout<<"6: 显示联系方式"<<endl; 
cout<<"7: 显示该学生所有信息"<<endl; 
cout<<"8: 帮助菜单"<<endl; 
cout<<"9: 返回上一级菜单"<<endl; 
cout<<"*********************************************************"<<endl; 

while(1) 
{ 
cout<<endl<<endl; 
cout<<"请输入选择(帮助选项--> 8 ): "<<endl; 
cin>>c; 
//system("cls"); 

if(L1.check(c, "1")) 
{ 
//system("cls"); 
cout<<endl; 
cout<<"************** 编辑个人信息 ******************"<<endl; 
L1.editperson(p); 
} 

else if(L1.check(c, "2")) 
{ 
//system("cls"); 
cout<<endl; 
cout<<"************** 编辑学科成绩 ******************"<<endl; 
L1.editscore(p); 
} 

else if(L1.check(c, "3")) 
{ 
//system("cls"); 
cout<<endl; 
cout<<"************** 编辑联系方式 ******************"<<endl; 
L1.edittelephone(p); 
} 

else if(L1.check(c, "4")) 
{ 
//system("cls"); 
cout<<endl; 
cout<<"************** 显示个人信息 ******************"<<endl; 
L1.dispperson(p); 
} 

else if(L1.check(c, "5")) 
{ 
//system("cls"); 
cout<<endl; 
cout<<"************** 显示学科成绩 ******************"<<endl; 
L1.dispscore(p); 
} 

else if(L1.check(c, "6")) 
{ 
//system("cls"); 
cout<<endl; 
cout<<"************** 显示联系方式 ******************"<<endl; 
L1.disptelephone(p); 
} 

else if(L1.check(c, "7")) 
{ 
//system("cls"); 
L1.dispnode(p); 
} 

else if(L1.check(c, "8")) 
{ 
//system("cls"); 
L1.help(); 
} 

else if(L1.check(c, "9")) 
{ 
display(); 
break; //用 break 跳出本循环,不要用 return ,return 是退出程序 
} 
} 
} 

else if(L1.check(ch, "0")) 
return; 
} 
return; 
} 
int main() 
{ 
system("color 3A"); 
Operater chp; 
chp.Loop(); 
return 0; 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -