学生信息包括学号姓名年龄性别出生年月地址电话E-mail

作者&投稿:伯乳 (若有异议请与网页底部的电邮联系)
c语言做学生信息管理系统。学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。~

#ifndef H_STUDENT_HH
#define H_STUDENT_HH

#include "stdio.h"
#include "string.h"
#include "malloc.h"


#define LEN sizeof(struct message_student) /*一个结构体数组元素的长度*/
#define numsubs 5 /*学科数目*/
typedef struct message_student /*结构体定义*/
{
char number[6];
char name[20];
char sex[4];
float subject[numsubs];
float score;
float average;
int index;
}student;


extern int numstus; /*学生数目*/
extern student *pointer; /*指向结构体数组*/
extern int lens;



int menu_select(); /*函数声明*/
int openfile(student stu[]);
int findrecord(student stud[]);
int writetotext(student stud[]);
void welcome();
void display1();
void showtable();
void sort(student stu[]);
void deleterecord(student stu[],int i);
void addrecord(student stud[]);
void display(student stud[],int n1,int n2);
void amendrecord(student stud[]);
void count(student stud[]);
void sortnum(student stud[]);
void sortnum2(student stud[]);
void sortname(student stud[]);
void sortname2(student stud[]);
void sortcount(student stud[]);
void sortcount2(student stud[]);
void statistic(student stud[]);
void display1();


#endif

//#include "head.h"
int menu_select()
{
char c;
printf("

");
printf(" | 1. 增加学生记录 5.统计信息 |
");
printf(" | 2. 查询学生记录 6.打开文件 |
");
printf(" | 3. 修改学生记录 7.保存文件 |
");
printf(" | 4. 学生纪录排序 8.显示记录 |
");
printf(" | 0.退出系统 |
");
printf("

");
printf("请选择(0-8):");
c=getchar();
getchar();
return (c-'0');
}

//#include "head.h"
int findrecord(student stud[]) /*查找信息*/
{
char str[2];
int i,num;
if(numstus==0)
{
printf("没有可被查找的记录
");
return -1;
}
else
{
printf("以何种方式查找?
1.学号2.姓名3.名次
");
gets(str);
if(str[0]=='1') /*按学号查找*/
{
printf("请输入学号:");
gets(str);
for(i=0;i<=numstus;i++)
if(strcmp(str,stud[i].number)==0)
{
display(stud,i,i);
break;
}
else continue;
}
else if(str[0]=='2') /*按姓名查找*/
{
printf("请输入姓名:");
gets(str);
for(i=0;i<=numstus;i++)
if(strcmp(str,stud[i].name)==0)
{
display(stud,i,i);
break;
}
else continue;
}
else if(str[0]=='3') /*按名次查找*/
{
printf("请输入名次:");
scanf("%d",&num);
getchar();
for(i=0;i<=numstus;i++)
if(num==stud[i].index)
{
display(stud,i,i);
break;
}
else continue;
}
if(i>numstus)
{
printf("没有查找所要的信息。
");
return -1;
}
return i;
}
}




//#include"head.h"
int openfile(student stu[])
{
int i=0,j;
FILE *fp;
char filename[20],str[2];
if(numstus!=0)
{
printf("已经有记录存在,是否保存?(y/n)");
gets(str);
if(str[0]=='y'||str[0]=='Y')
writetotext(stu);
}
printf("请输入文件名:");
gets(filename);
numstus=0;
if((fp=fopen(filename,"rb+"))==NULL)
{
printf("无法打开该文件
");
return(-1);
}
fscanf(fp,"%d",&numstus);
fgetc(fp);
while(i<numstus)
{
fscanf(fp,"%s",stu[i].number);
fscanf(fp,"%s",stu[i].name);
fscanf(fp,"%s",stu[i].sex);
for(j=0;j<numsubs;j++)
fscanf(fp,"%f",&stu[i].subject[j]);
fscanf(fp,"%f",&stu[i].score);
fscanf(fp,"%f",&stu[i].average);
fscanf(fp,"%d",&stu[i].index);
i++;
}
fclose(fp);
printf("文件读取成功
");
printf("是否显示纪录?(y/n)");
gets(str);
if(str[0]=='y'||str[0]=='Y')
display(stu,0,numstus-1);
return(0);
}
//#include "head.h"
void sort(student stud[])
{
int i,j=0;
char str[5];
student *p;
p=stud;
if(numstus==0)
{
printf("没有可供查询的记录!");
}
while(1)
{
for(i=0;;i++)
{
printf(" 请输入查询方式:");
printf("(直接输入回车则结束查询操作)
");
printf("1.按照学号");
printf("2.按照姓名");
printf("3.按照名次
");
gets(str);
if(strlen(str)==0) break;
if(str[0]=='1')
{
printf("请输入排序次序:
");
printf("1.升序排列");
printf("2.降序排列
");
gets(str);
if(str[0]=='1')
sortnum2(p);
else
sortnum(p);
display(stud,0,numstus-1);
}
else if(str[0]=='2')
{
printf("请输入排序次序:
");
printf("1.升序排列");
printf("2.降序排列
");
gets(str);
if(str[0]=='1')
sortname2(p);
else
sortname(p);
display(stud,0,numstus-1);
}
else if(str[0]=='3')
{
printf("请输入排序次序:
");
printf("1.升序排列");
printf("2.降序排列
");
gets(str);
if(str[0]=='1')
sortcount2(p);
else
sortcount(p);
display(stud,0,numstus-1);
}
else printf("请输入1~3");
printf("是否退出排序?(y/n)");
gets(str);
if(str[0]=='y'||str[0]=='Y') break;
}
return;
}
}
void sortnum(student stud[])
{
int i,j;
student temp;
student *p;
p=stud;
for(i=0;i<numstus;i++)
for(j=0;j<numstus-i-1;j++)
{
if(strcmp(stud[j+1].number,stud[j].number)>0)
{
temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
}
void sortnum2(student stud[])
{
int i,j;
student temp;
student *p;
p=stud;
for(i=0;i<numstus;i++)
for(j=0;j<numstus-i-1;j++)
{
if(strcmp(stud[j].number,stud[j+1].number)>0)
{
temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
}
void sortname(student stud[])
{
int i,j;
student temp;
student *p;
p=stud;
for(i=0;i<numstus;i++)
for(j=0;j<numstus-i-1;j++)
{
if(strcmp(stud[j+1].name,stud[j].name)>0)
{
temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
}
void sortname2(student stud[])
{
int i,j;
student temp;
student *p;
p=stud;
for(i=0;i<numstus;i++)
for(j=0;j<numstus-i-1;j++)
{
if(strcmp(stud[j].name,stud[j+1].name)>0)
{
temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
}
void sortcount(student stud[])
{
int i,j;
student temp;
student *p;
p=stud;
for(i=0;i<numstus;i++)
for(j=0;j<numstus-i-1;j++)
{
if(stud[j+1].index>stud[j].index)
{
temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
}
void sortcount2(student stud[])
{
int i,j;
student temp;
student *p;
p=stud;
for(i=0;i<numstus;i++)
for(j=0;j<numstus-i-1;j++)
{
if(stud[j].index>stud[j+1].index)
{
temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
}
//#include"head.h"
void statistic(student stud[]) /*新增功能,输出统计信息*/
{
int i,j=0,k=0;
char c1,str[2];
float average[numsubs],sum=0;
if(numstus==0)
printf("没有可被查找的记录
");
else
{
while(1)
{
printf("下面将统计考试成绩
");
printf("请选择你要统计哪科的成绩 1.A2.B3.C4.D5.E
");
c1=getchar();
printf("一共有个%d记录
",numstus); /*总共记录数*/
switch(c1)
{
case '1':
for(i=0;i<numstus;i++) /*循环输入判断*/
{
sum+=stud[i].subject[0];
if(stud[k].subject[0]>stud[i].subject[0]) k=i;
if(stud[j].subject[0]<stud[i].subject[0]) j=i;
}
average[0]=sum/numstus;
printf("科目A的最高分:
"); /*最高分*/
printf("学号:%s 姓名:%s 分数:%.2f
",stud[j].number,stud[j].name,stud[j].subject[0]);
printf("科目A的最低分是:
"); /*最低分*/
printf("学号:%s 姓名:%s 分数:%.2f
",stud[k].number,stud[k].name,stud[k].subject[0]);
printf("科目A的平均分是 %5.2f
",average[0]); /*平均分*/
break;
case '2':
for(i=0;i<numstus;i++) /*循环输入判断*/
{
sum+=stud[i].subject[1];
if(stud[k].subject[1]>stud[i].subject[1]) k=i;
if(stud[j].subject[1]<stud[i].subject[1]) j=i;
}
average[1]=sum/numstus;
printf("科目B的最高分:
"); /*最高分*/
printf("学号:%s 姓名:%s 分数:%.2f
",stud[j].number,stud[j].name,stud[j].subject[1]);
printf("科目B的最低分是:
"); /*最低分*/
printf("学号:%s 姓名:%s 分数:%.2f
",stud[k].number,stud[k].name,stud[k].subject[1]);
printf("科目B的平均分是 %5.2f
",average[1]); /*平均分*/
break;
case '3':
for(i=0;i<numstus;i++) /*循环输入判断*/
{
sum+=stud[i].subject[2];
if(stud[k].subject[2]>stud[i].subject[2]) k=i;
if(stud[j].subject[2]<stud[i].subject[2]) j=i;
}
average[2]=sum/numstus;
printf("科目C的最高分:
"); /*最高分*/
printf("学号:%s 姓名:%s 分数:%.2f
",stud[j].number,stud[j].name,stud[j].subject[2]);
printf("科目C的最低分是:
"); /*最低分*/
printf("学号:%s 姓名:%s 分数:%.2f
",stud[k].number,stud[k].name,stud[k].subject[2]);
printf("科目C的平均分是 %5.2f
",average[2]); /*平均分*/
break;
case '4':
for(i=0;i<numstus;i++) /*循环输入判断*/
{
sum+=stud[i].subject[3];
if(stud[k].subject[3]>stud[i].subject[3]) k=i;
if(stud[j].subject[3]<stud[i].subject[3]) j=i;
}
average[3]=sum/numstus;
printf("科目D的最高分:
"); /*最高分*/
printf("学号:%s 姓名:%s 分数:%.2f
",stud[j].number,stud[j].name,stud[j].subject[3]);
printf("科目D的最低分是:
"); /*最低分*/
printf("学号:%s 姓名:%s 分数:%.2f
",stud[k].number,stud[k].name,stud[k].subject[3]);
printf("科目D的平均分是 %5.2f
",average[3]); /*平均分*/
break;
case '5':
for(i=0;i<numstus;i++) /*循环输入判断*/
{
sum+=stud[i].subject[4];
if(stud[k].subject[4]>stud[i].subject[4]) k=i;
if(stud[j].subject[4]<stud[i].subject[4]) j=i;
}
average[4]=sum/numstus;
printf("科目E的最高分:
"); /*最高分*/
printf("学号:%s 姓名:%s 分数:%.2f
",stud[j].number,stud[j].name,stud[j].subject[4]);
printf("科目E的最低分是:
"); /*最低分*/
printf("学号:%s 姓名:%s 分数:%.2f
",stud[k].number,stud[k].name,stud[k].subject[4]);
printf("科目E的平均分是 %5.2f
",average[4]); /*平均分*/
break;
default:printf("输入错误!请输入1~5之间的数
");
}
sum=0;
getchar();
printf("是否继续进行统计?(y/n)");
gets(str);
if(str[0]=='y'||str[0]=='Y') ;
else break;
}
}
}


int writetotext(student stud[]) /*将所有记录写入文件*/
{
int i=0,j;
FILE *fp;
char filename[20];
printf("输入文件名称:");
gets(filename);
fp=fopen(filename,"w");
fprintf(fp,"%d
",numstus);
while(i<numstus)
{
fprintf(fp,"%s %s %s ",stud[i].number,stud[i].name,stud[i].sex);
for(j=0;j<numsubs;j++)
fprintf(fp,"%f ",stud[i].subject[j]);
fprintf(fp,"%f %f %d ",stud[i].score,stud[i].average,stud[i].index);
i++;
}
fclose(fp);
printf("已成功存储!
");
display(stud,0,numstus-1);
numstus=0;
return 0;
}


void welcome()
{
printf("*************************************************************
");
printf("这是一个学生成绩管理系统
倾情奉献 欢迎使用!
");
printf("*************************************************************
");

}


void showtable()
{
printf("---------------------------------------------------------------------------------------
");
printf("学号姓名性别ABCDE总分平均分名次
");
printf("---------------------------------------------------------------------------------------
");
}


void display(student stud[],int n1,int n2)
{
int i;
showtable(); /*显示表头*/
for(i=n1;i<=n2;i++)
printf("%s%s%s%.2f%.2f%.2f%.2f%.2f%.2f%.2f%d
",stud[i].number,stud[i].name,stud[i].sex,stud[i].subject[0],stud[i].subject[1],stud[i].subject[2],stud[i].subject[3],stud[i].subject[4],stud[i].score,stud[i].average,stud[i].index);
/*通过循环输出数据*/

}
void display1()
{
printf("本系统由计应精英一组亲情制作

");
printf("制作人员列表: (按比划)
");
printf("王庆斌张威
李智周在峰
杨凯胡杨
");
printf("

");
getchar();
}



#include
void amendrecord(student stud[])
{
char str[5]; /*供用户输入*/
int i=-1,j;

if(numstus==0) /*没有记录返回*/
printf("没有可供修改的记录!");
while(i<0)
{
i=findrecord(stud);
if(i>=0)
{
printf("要删除这个学生的信息吗?(y/n)");
gets(str);
if(str[0]=='y'||str[0]=='Y')
{
deleterecord(stud,i);
count(stud);
}
else
{
printf("确定要修改这个学生的信息吗?(y/n)");
gets(str);
if(str[0]=='y'||str[0]=='Y')
{

printf("下面请重新输入学生的信息:
");
printf("请输入学号:");
gets(stud[i].number);
printf("请输入姓名:");
gets(stud[i].name);
printf("请输入性别(男/女 1/0):");
gets(str);
if(str[0]=='0')
strcpy(stud[i].sex,"女");
else
strcpy(stud[i].sex,"男");
stud[i].score=0;
printf("请按顺序输入成绩:");
for(j=0;j<numsubs;j++)
{
scanf("%f",&stud[i].subject[j]);
stud[i].score+=stud[i].subject[j];
}
getchar();
stud[i].average=stud[i].score/numsubs;
}
count(stud);
}
display(stud,0,numstus-1);
}
printf("是否继续进行其他修改?(y/n)
");
gets(str);
if(str[0]=='y'||str[0]=='Y')
i=-1;
else i=1;
}
}

void deleterecord(student stu[],int i) /*删除信息*/
{
int j;

while(i>=0)
{
for(j=i;j<numstus;j++)
stu[j]=stu[j+1];
numstus--;
printf("删除成功!
");


}
}

void count(student stud[])
{
int i,j;
for(i=0;i<numstus;i++)
{
stud[i].index=1;
for(j=0;j<numstus;j++)
if(stud[j].score>stud[i].score)
stud[i].index++;
}
}





void addrecord(student stud[])
{
int i=0,j,num;
char str[5];
if(numstus!=0)
{
printf("已有记录存在是否覆盖?(y/n)
");
gets(str);
if(str[0]=='Y'||str[0]=='y')
i=0;
else i=numstus;
}

printf("请输入增加的学生信息条目数:");
scanf("%d",&num);
if(i==0)
numstus=num;
else numstus+=num;
if(numstus>lens)
{
lens+=50;
pointer=(student *)realloc(pointer,lens*LEN);
}
printf("请输入学生信息:
");
for(;i<numstus;i++)
{
getchar();
printf("请输入学号:");
gets(pointer[i].number);
printf("请输入姓名:");
gets(pointer[i].name);
printf("请输入性别(男/女 1/0):");
gets(pointer[i].sex);
if(pointer[i].sex[0]=='0') strcpy(pointer[i].sex,"女");
else strcpy(pointer[i].sex,"男");
printf("请输入各科成绩:(按ABCDE的顺序):");
stud[i].score=0;
for(j=0;j<numsubs;j++)
{
scanf("%f",&stud[i].subject[j]); /*计算总分*/
stud[i].score+=stud[i].subject[j];
}
stud[i].average=stud[i].score/numsubs; /*计算平均分*/
}
count(stud); /*附名次*/
display(stud,0,numstus-1);
getchar();
}
int numstus;
int lens;
student *pointer;
void main()
{
int i=1;
char str[2];
lens=100;
pointer=(student *)malloc(lens*LEN); /*分配内存*/
numstus=0;
welcome(); /*欢迎界面*/
while(i>0)
{
i=menu_select(); /*控制菜单*/
switch(i)
{
case 1:addrecord(pointer);break; /*增加学生信息*/
case 2:findrecord(pointer);break; /*查询学生信息*/
case 3:amendrecord(pointer);break; /*修改学生信息*/
case 4:sort(pointer);break; /*学生信息排序*/
case 5:statistic(pointer);break; /*统计信息*/
case 6:openfile(pointer);break; /*打开文件*/
case 7:writetotext(pointer);break; /*保存文件*/
case 8:display(pointer,0,numstus-1);break; /*显示记录*/
case 0:
if(numstus!=0) printf("是否保存当前记录?(y/n)");
gets(str);
if(str[0]=='y'||str[0]=='Y')
writetotext(pointer);
i=-1;break; /*退出系统*/
default:printf("请输入数字0~8:
");i=1; /*输入错误*/
}
}
printf("欢迎再次使用本系统。

");
display1();
}

// 信息管理系统.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "iostream"
#include "string"
#include "fstream"
#include "conio.h"
using namespace std;
class Student // 定义了一个学生的类
{
public:
char Num[20]; //学生信息所包含的信息
char Name[20];
char Sex[20];
char Born[20];
char Col[20];
Student *Next;
void Input();
void Display();
void Read(istream &in);


};
void Student::Display() // 输出学生信息
{
//cout<<"**学号** "<<"**姓名** "<<"**性别** "<<"**出生年月** "<<"**学院** "<<"
";
cout << Num << "
"<<Name << "
"<<Sex<<"
"<<Born <<"
"<<Col<<"
"<<endl;

}
void Student::Input() // 输入学生信息
{
cout<<"输入学生的学号: ";
cin >>Num;
cout<<"输入学生的姓名: ";
cin >>Name;
cout<<"输入学生的性别: ";
cin >>Sex;
cout<<"输入学生的出生年月: ";
cin >>Born;
cout<<"输入学生的学院: ";
cin >>Col;

}
void Student::Read(istream &in)// 从文件中读取信息
{
in>>Num>>Name>>Sex>>Born>>Col;
}
// *******建立学生信息的类
class Studentinformation
{
public:
Studentinformation();
~Studentinformation();
Student *Head,*End;
void Menu();
void Find();
void Save();
void Modify();
void Delect();
void Swap(Student *,Student *);
void Sort();
void Displaym();
/*{
ifstream infile("student.txt");
//Student *p=Head->Next;p!=End;p=p->Next


for(Student *p=Head->Next;p!=End;p=p->Next)
{
//infile.read((char *)p,sizeof(p));
p->Display();


}
infile.close();
cout <<"输入任意字符以继续";
getch();
}*/
void Add();
/*{


//End->Next=new Student;
//End=End->Next;
Student *p;
p=End;
ofstream outfile("student.txt");

End->Input();
outfileNumNameSexBornCol<<endl;
outfile<<"-------------------------------------------------------------------"<<endl;
outfile.close();



End->Next=new Student;
End=End->Next;

cout<<"添加成功!"<<endl;
cout<<"输入任意字符!继续……";
getch();

}*/
private:
ifstream in;
ofstream out;
Student *FindName(char *Name)
{
for(Student *p=Head;p->Next!=End;p=p->Next)
if(!strcmp(p->Next->Name,Name))
{
return p;
}
return NULL;
}
Student *FindNum(char *Num)
{
for(Student * p=Head;p->Next!=End;p=p->Next)
if(!strcmp(p->Next->Num,Num))
{
return p;
}
return NULL;
}


};
// ********构造函数
Studentinformation::Studentinformation()
{
Head=new Student;
Head->Next=new Student;
End=Head->Next;
in.open("student.txt");
if(!in)
cout<<"这是一个新系统,无学生信息。请先输入。"<<endl;
else
{
while(!in.eof())
{
End->Read(in);
if(End->Name[0]=='\0')
break;
End->Next=new Student;
End=End->Next;

}
in.close();
cout<<"读取学生信息成功!"<<endl;
}

}
// ********析构函数
Studentinformation::~Studentinformation()
{
void Save();
for(Student * temp;Head->Next!=End;)
{
temp=Head->Next;
Head->Next=Head->Next->Next;
delete temp;
}
delete Head,End;
}
// *******菜单显示
void Studentinformation::Menu()
{
cout<<"〓〓〓〓〓〓〓〓〓〓 ☆ 学 生 成 绩 管 理 系 统 ☆ 〓〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓★★★★★ ★★★★★★★ ★★★★★〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 1.增加学生信息 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 2.显示学生信息 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 3.排序统计信息 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 4.查找学生信息 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 5.删除学生信息 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 6.修改学生信息 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;
cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 0.安全退出系统 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl;

cout<<"

请选择:";
}
void Studentinformation::Add()
{


//End->Next=new Student;
//End=End->Next;


ofstream outfile("student.txt");

End->Input();
outfileNumNameSexBornCol<<endl;
outfile<<"-------------------------------------------------------------------"<<endl;
outfile.close();



End->Next=new Student;
End=End->Next;

cout<<"添加成功!"<<endl;
cout<<"输入任意字符!继续……";
getch();

}
void Studentinformation::Displaym()
{
ifstream infile("student.txt");
//Student *p=Head->Next;p!=End;p=p->Next


for(Student *p=Head->Next;p!=End;p=p->Next)
{
//infile.read((char *)p,sizeof(p));
p->Display();


}
infile.close();
cout <<"输入任意字符以继续";
getch();
}
// ********查找函数
void Studentinformation::Find()
{
char Name[20],Num[20];
int n;
Student *p;
cout<<"
*********************************
";
cout<<"※ 1.按学生的姓名查找
※ 2.按学生学号查找";
cout<<"
*********************************
请选择:";
cin>>n;
switch(n)
{
case 1:
{
cout<<"输入要查询的学生姓名";
cin>>Name;
if(p=FindName(Name))
{
p->Next->Display();
cout<<"输入任意字符!继续……";
getch();
}
else

{
cout<<"没有找到该姓名的学生!"<<'
'<<endl;
cout<<"输入任意字符!继续……";
getch();

}
break;
}

case 2:
{
cout<<"请输入要查询学生的学号";
cin>>Num;
if(p=FindNum(Num))
{
p->Next->Display();
cout<<"输入任意字符!继续……";
getch();
}
else
{
cout<<"没有找到该学号的学生!"<<'
'<<endl;
cout<<"输入任意字符!继续……";
getch();

}


}break;

}
}
// *********修改函数

void Studentinformation::Modify()
{
char Name[20],Num;
Student * p;
int n;
cout<<"
*********************************
";
cout<<"※ 1.按学生的姓名查找修改
※ 2.按学生学号查找修改";
cout<<"
*********************************
请选择:";
cin>>n;
switch(n)
{
case 1:
{

cout>Name;
if(p=FindName(Name))
{
cout<<"已找到学生的信息,请输入新的信息!"<<endl;
p->Next->Input();
cout<<"修改成功!"<<endl;
cout<<"输入任意字符!继续……";
getch();
}

else
{
cout<<"没有找到!"<<endl;
cout<<"输入任意字符!继续……";
getch();

}
}break;
case 2:
{
cout>Num;
if(p=FindName(Name))
{
cout<<"已找到学生的信息,请输入新的信息!"<<endl;
p->Next->Input();
cout<<"修改成功!"<<endl;
cout<<"输入任意字符!继续……";
getch();
}

else
{
cout<<"没有找到!"<<endl;
cout<<"输入任意字符!继续……";
getch();

}
break;
}

}

}
//删除函数
void Studentinformation::Delect()
{
char Num[20];
Student *p,*temp;
int n;
cout<<"输入需要删除的学生学号";
cin>>Num;
if(p=FindNum(Num))
{
p->Next->Display();
cout<<"是否删除该学生信息?(1/0)";
cin>>n;
if(n==1)
{
temp=p->Next;
p->Next=p->Next->Next;
delete temp;
cout<<"删除成功!"<<endl;
cout<<"输入任意字符!继续……";
getch();
}
else
{
cout<<"输入任意字符!继续……";
getch();
}

}
else
{
cout<<"无该生信息!"<<endl;
cout<<"输入任意字符!继续……";
getch();
}
}
// 保存函数
void Studentinformation::Save()
{

out.open("student.txt",ios::app);
for(Student *p=Head->Next;p!=End;p=p->Next)
{
outNumNameSexBornCol;
}
out.close();
}
// 学生信息进行排序
void Studentinformation::Sort()
{
Student *p1;
char Num[20];
for(Student * p=Head;p->Next!=End;p=p->Next)
{

if(strcmp(p->Next->Num,Num)<0)

{
p1=p->Next;
p->Next=p->Next->Next;
p->Next->Next=p1;
}
}
}

int main(int argc, char* argv[])
{

int x,i=0;

bool quit=false;


cout<<"§§§§§§§§§§§§§§§§§§§§§§§§§§"<<endl;

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

cout<<"◎ ◎"<<endl;

cout<<"◎★★★★【 欢迎进入学生成绩管理系统 】★★★★◎"<<endl;

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

cout<<"◎ ◎"<<endl;

cout<<"§§§§§§§§§§§§§§§§§§§§§§§§§§
"<<endl;
Studentinformation Stu;
cout<<"按任意键开始……";
getch();
while(!quit)
{
system("cls");
Stu.Menu();
cin>>x;
switch(x)
{
case 0:quit=true;
break;
case 1:Stu.Add();
break;
case 2:Stu.Displaym();
break;
//case 3:Stu.Sort();
//break;
case 4:Stu.Find();
break;
case 5:Stu.Delect();
break;
case 6:Stu.Modify();
break;
}

}


return 0;
}

什么意思?你想问什么内容?


C语言 学生信息管理系统设计
l学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。l试设计一学生信息管理系统,使之能提供以下功能:a)系统以菜单方式工作b)学生信息录入功能(学生信息用文... l学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。l试设计一学生信息管理系统,使之能提供以下功能:a)系统以菜单...

C语言在键盘上输入三个学生的信息(包含学号,姓名,三门课的成绩)并在...
voidprintScore(intscore[4][3]){inti,j;for(i=0;i<4;i++){printf("学生%d的三门成绩分别为:\\t",i+1);for(j=0;j<3;j++){printf("%d\\t",score[j]);if(j==2)printf("\\n");}}printf("\\n");} printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。格...

学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等...
input(stud); \/\/调用输入学生信息函数,参数为学生信息数组名 break;case'2':sort(stud); \/\/调用按总分排榜函数,参数是数组名 break;case'3':find(stud); \/\/调用按学号和姓名查找学生信息函数 break;} }while(selmenu!='4'); \/\/判断是否退出 printf("*^-^* 谢谢使用 *^-^...

编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯、性别...
求各位大虾帮忙,要求用FrontPage编 问题补充:编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯、性别。具体功能:(1)能够输入每个学生的信息;(2)能够列举所有学生的信息;(3)按学号或姓名查询其籍贯;

请大家帮我做一下这道C语言编程的题!
学生成绩管理系统学生信息包括学号、姓名、3门考试成绩。试设计一学生成绩管理系统,使之能提供以下功能:1、学生成绩录入功能2、统计:1)输入学生的学号统计该生的总分及平均分;2)... 学生成绩管理系统学生信息包括学号、姓名、3门考试成绩。试设计一学生成绩管理系统,使之能提供以下功能:1、学生成绩录入功能2、统计...

高校学籍查询(高校学籍查询系统)?
慢着,同学们,很多自考伙伴都在听。 大学学籍查询(大学学籍查询系统)? 所以今天就和教务老师一起看看吧 下一个正文开始:一、高校学籍查询高校学籍查询是高校管理系统中,为学生提供的查询服务,可以帮助学校管理者查询和管理学校学生信息。 可以查询学生学籍信息,包括姓名、学号、性别、出生年月日、联系...

学生信息管理系统设计 学生信息包括:学号,姓名,年龄,性别,出生年月,地 ...
void shuru() \/\/输入学员信息函数 { char a;do{ printf("\\n请输入学号:");scanf("%d",&st[i].id);fflush(stdin);printf("\\n请输入姓名:");gets(st[i].name);printf("请输入年龄:");scanf("%d",&st[i].age);printf("\\n请输入性别:");scanf("%s",&st[i].sex);fflush(s...

...学生信息包括:学号,姓名,年龄,性别,出生年月。地址,电话,E-mail...
page_title("录入学生基本信息");for(n=0;n<32;n++)if(students[n].id==0) break;printf("学号:");scanf("%d",&students[n].id);printf("姓名:");scanf("%s",&students[n].name);printf("年龄:");scanf("%d",&students[n].age);return_confirm();}\/\/① int search_id(void)...

编制一个C语言成绩记录簿,要求每个学生信息包括:学号、姓名、C语言成绩...
编制一个C语言成绩记录簿,要求每个学生信息包括:学号、姓名、C语言成绩。具体功能:(1)创建信息链表并以磁盘文件保存;(2)读取磁盘文件并显示输出所有学生的成绩;(3)按学号或... 编制一个C语言成绩记录簿,要求每个学生信息包括:学号、姓名、C语言成绩。具体功能:(1)创建信息链表并以磁盘文件保存;(2)读取磁盘文件...

班级学生成绩单含有学号姓名属于什么数据的数据组织
含有学号姓名不属于数据组织,是一个数据元素。数据组织可以由若干个数据项组成,例如学生成绩表的一条记录为一个数据元素,它包括学号、姓名等若干个数据项。数据项是数据的不可分割的最小单位。

铁东区17357642316: 国家学生体质健康标准学生基本信息如何填写?
潭瑞爱活: 学生基本信息模版包括,班级编号、班级名称、学号、民族代码、姓名、性别、出生日期、学生来源、身份证号、家庭住址,填写方式如下: 序号 列 名 称 备 注 1 班级编...

铁东区17357642316: 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E - mail等.试设计 -
潭瑞爱活: http://114.246.69.236/src/iceAddressList.src.rariceAddressList 通讯录小工具http://bbs.icese.net/yue/iceManager.rar...

铁东区17357642316: sql命令怎么做1.创建一个名为“学生管理”的数据库.2.在学生管理数据库中,创建一个“学生档案”数据表,字段包括:学号、姓名、性别、出生日期、家... -
潭瑞爱活:[答案] 呵呵 我刚做完这个题 第5个 SELECT 学生档案.学号, 学生档案.姓名, 成绩A+成绩B+成绩C+成绩D+成绩E AS 总分, 总分/5 AS 平均分FROM 学生档案, 学生成绩WHERE (((学生档案.学号)=[学生成绩].[学号]));第6个SELECT Sum...

铁东区17357642316: c语言做学生信息管理系统.学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E - mail等. -
潭瑞爱活: \.sex; if(numstus==0) { printf(" printf(");i&lt: for(i=0;n\请输入名次,stud[j];n)&quot?(y/3' stud[i];;n" printf("/:\n" gets(str);i&lt.score/?(y/\break; for(i=0," int writetotext(student stud[]).C\t%s\ int findrecord(student stud[]) / printf(&quot.h> } return i: for(i...

铁东区17357642316: 用sql代码写一个学生信息数据库包括姓名,学号,性别,年龄,冰写出一条插入信息语句 -
潭瑞爱活: CREATE DATABASE Students ON PRIMARY( NAME = 'STU_DATA',FILENAME = 'C:\MYSQL\SUT_DATA.MDF',SIZE = 5,FILEGROWTH = 15%) LOG ON( NAME = STUL_DATA',FILENAME = 'C:\MYSQL\SUTL_DATA.LDF',SIZE = 5,...

铁东区17357642316: 1、设计一个学生类Student,包括姓名,学号,性别,籍贯,年龄,出生日期和住址,其中“出生日期”定义为 -
潭瑞爱活: 子类 然后成员日、月、年都为整形int

铁东区17357642316: 建立5个学生信息结构体数组,包括学号 姓名 性别 年龄 统计其中男生女生人数,以及小于18岁的人 -
潭瑞爱活: 注意输入数据时的形式.#include<stdio.h> struct person {int xuehao; char name[20]; char sex; int year; int grade; }man[80]; main() {int n,i,max,k=0; printf("一共有多少学生;"); scanf("%d",&n); for(i=0;i<n;i++) {scanf("%d,%d,%d,",&man...

铁东区17357642316: 编写SQL语句 -
潭瑞爱活: CREATE TABLE student (Number CHAR(10), Name CHAR(20), Age SMALLINT, Sex CHAR(8), Home CHAR(20), Telephone CHAR(12), Edu CHAR(20) );------------------------------------------------------------------------------------INSERT INTO student(...

铁东区17357642316: 学籍号包含哪些信息 -
潭瑞爱活: 大学学号一般包括,入学年份,所在学院,专业,那一个班,班里的号码.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网