用C++语言编写一个“学生成绩管理系统”。

作者&投稿:欧卸 (若有异议请与网页底部的电邮联系)
用C++语言编写一个简单的“学生成绩管理系统”~

好好看看课本吧。。真是的 现在的孩子,书上有的东西都懒怠打到电脑里。
1、 对C++设计的《学生成绩管理系统》总体说明

系统上采用BC31编译器作为开发环境,这个环境是我们在学习C++的平台,这个编译器功能完善,使用方便。我作的这次课程设计是《学生成绩管理系统》,它的主要功能是对学生的成绩进行修改和管理,而且方便快速,这个程序虽然简单,但是可以作为老师的辅助软件,对学生的各种成绩进行管理。

系统功能要求:

(1)界面





****************************

学生成绩管理系统

****************************

************************************

** F1 --帮助 **

** F2 --输入数据并存入文件 **

** F3 --根据学号查询成绩 **

** F4 --根据姓名查询成绩 **

** F5 --输出文件内容 **

** F6 --统计及格和优秀人数 **

** ESC--退出系统 **

************************************

(2)功能

这个程序的主要功能是输入学生的学号、姓名对其进行存储,在存储后可以对学生的成绩按学号和姓名进行查寻。该系统具有存贮学生数据,按学号、姓名查询,列出学生成绩和统计功能。使用方法:系统输入数据后,将在当前目录中建立一个名为stu.dat文件,用于保存输入的数据。学号输入只能用数字输入,并且学号只能是10位。姓名输入符合中国人的姓名,只能用中文,且最长为5个汉字。此程序在BC2.0下运行通过由于是第一次用C++编写,所以水平有限此系统还有许多不够完整和严密性,敬请老师指正!

(3)实用性

《学生成绩管理系统》是对学生的成绩进行修改和管理,而且方便快速,这个程序虽然简单,但是可以作为老师的辅助软件,对学生的各种成绩进行管理。

目的:

通过课程设计培养了我的动手能力以及综合运用所学的C++语言基础理论,基础知识,基本技能,进行程序分析和程序开发,提高在实际开发中解决问题的能力,达到了能够利用C++语言进行应用程序的规划,分析,设计和实施,更能进一步使我对这门语言有深刻的理解和更好的得到巩固,更能对我所学的知识得到检验。



2、对《学生成绩管理系统》的介绍

具体的功能:

(1)帮助

(2)输入数据并存入文件

(3)根据学号查询成绩

(4)根据姓名查询成绩

(5)输出文件内容

(6)统计及格和优秀人数

(7)退出

(1)帮助

运行程序,屏幕出现该程序界面,第一项就是帮助,在按下“F1”后出现帮助信息,“此系统是应老师所布置的作业编制而成,该系统具有存贮学生数据,按学号、姓名查询,列出学生成绩和统计功能。使用方法:系统输入数据后,将在当前目录中建立一个名为stu.dat文件,用于保存输入的数据。学号输入只能用数字输入,并且学号只能是10位。姓名输入符合中国人的姓名,只能用中文,且最长为5个汉字。”

(2)输入数据并存入文件

在界面状态下,按下“F2”后出现“请输入学号:”,若输入“#”,则返回真值结束输入。在其后面可以输入学生的学号,长度要求10位而且必须是数字,这里用到了结构体变量和函数,对输入的字符进行判断,如果输入字母和汉字会出现“非法学号!请重新输入。”,如果学号长度不为10,则返回重新输入提示“学号长度不对。”, 如果学号后面的字符不是回车符,则学号长度大于10提示“学号长度大于10个!请重新输入!” 输入完学号后会出现提示“请输入姓名:”,在其后面可以输入学生的姓名,姓名必须是汉字而且长度必须是5, 这里也用到了结构体变量和函数,对输入的字符进行判断,如果输入为字母和数字会提示“姓名只能用中文,请重新输入!”,如果输入的汉字长度大于5会提示“姓名长度大于5个!请重新输入!”,输入姓名后会出现“请输入数学成绩:”、“ 请输入英语成绩:”和“请输入总评成绩:”输入规则也和前面输入学号、姓名的类似,判断输入的是否为数字,如果不是就会出现提示,重新输入,直到输入正确为止。都输入完成后,改系统会调用写文件函数对指定的文件进行写操作,把输入的学生信息写入到文件中。

(3)根据学号查询成绩

在界面状态下,在按下“F3”后会出现“请输入要查询的学号:” 输入“#”结束查询,若文件打不开则输出下面的信息,“文件打开失败!按任意键返回...”,如果文件打开会按照用户的要求从文件头开始查询满足要求的学号,找到即显示该学生的基本信息和成绩。如果未找到就会显示“无此学号”。

(4)根据姓名查询成绩

在界面状态下,在按下“F4”后会出现“请输入要查询的学生姓名:” 输入“#”结束查询,若文件打不开则输出下面的信息,“文件打开失败!按任意键返回...”,如果文件打开会按照用户的要求从文件头开始查询满足要求的姓名,找到即显示该学生的基本信息和成绩。如果未找到就会显示“无此学生!”。

(5)输出文件内容

输出文件,列出所有学生成绩。如果文件未打开会出现“文件打开失败!按任意键返回...”打开成功会每输出20个学生成绩,停一下提示,“请按任意键继续...”,关闭文件。

(6)统计及格和优秀人数

这里用到结构体函数和变量,判断成绩大于等于60分的为及格,并统计人数,判断成绩大于等于80分的为优秀,并统计人数,最后统计出来,显示在屏幕上。

(7)退出

在界面状态下,按下“ESC”会退出该学生成绩管理系统。返回源程序。

程序清单

/*-------------1-------------*/

#include

#include /*头文件*/

#include

#include

#include

#include

#include

#include



#define NULL 0

#define ESC 0x001b /* 退出 */

#define F1 0x3b00 /* 查看帮助信息,调用HelpMassage()函数 */

#define F2 0x3c00 /*输入学生成绩*/

#define F3 0x3d00 /*按学号查找*/

#define F4 0x3e00 /*按姓名查找*/

#define F5 0x3f00 /*列出所有学生成绩*/

#define F6 0x4000 /*统计*/



struct stuType /*定义结构体变量*/

{

char NO[11]; /*学号长度为10*/

char XM[10];

float CJ[4]; /*包含4门成绩*/

};



/*-------------2-------------*/

int JY_NO(char *stu_num,FILE *fp) /*检验学号的正确性*/

{ struct stuType stud;

int NO;

char *p=stu_num;

if(strcmp(stu_num,"#")==0) return 1; /*若输入"#"返回真值,不再循环输入*/

while(*p!='\0') /*学号必须是数字,否则返回重新输入*/

{ NO=(int)*p;

if(NO57)

{ puts("非法学号!请重新输入!
");

return 0;

}

else p++; /*指针加1*/

}

if(strlen(stu_num)!=10) /*若学号长度不为10,则返回重新输入*/

{ puts("学号长度不对!
");

return 0;

}

if(getchar()!='
') /*若学号后面的字符不是回车符,则学号长度大于10*/

{ printf("学号长度大于10个!请重新输入!
");

do{}while(getchar()!='
'); /*用getchar接收多余的字符*/

return 0;

}



else

{

rewind(fp); /*使文件指针指向头*/

while(!feof(fp)) /*若文件指针未到结尾,就继续执行下面的循环,feof遇到文件结束符返回非零值,否则返回0*/

{ fread(&stud,sizeof(struct stuType),1,fp); /*读取一定长度的数据*/

if(strcmp(stu_num,stud.NO)==0) /*学号的唯一性*/

{ printf("学号重复,请重新输入!
");

printf("该学生成绩如下:
");

printf("语文:%.1f
",stud.CJ[0]);

printf("数学:%.1f
",stud.CJ[1]);

printf("英语:%.1f
",stud.CJ[2]);

printf("总评:%.1f
",stud.CJ[3]);

return 0;

}

}

}

return 1;



}



/*-------------3-------------*/

int JY_NO2(char *stu_num) /*检验学号*/

{ int NO;

char *p=stu_num;

if(strcmp(stu_num,"#")==0)return 1; /*若输入“#”,则返回真值结束*/

if(strlen(stu_num)!=10) /*学号长度为10*/

{ puts("学号长度不对!
");

return 0;

}

while(*p!='\0') /*学号必须用数字,若包含有字母,或其它字符则返回假值重新输入*/

{ NO=(int)*p;

if(NO57)

{ puts("非法学号!请重新输入!
");

return 0;

}

else p++; /*指针加1*/

}

if(getchar()!='
') /*检验学号长度是否大于10,并把多余的字符去掉*/

{ printf("学号长度大于10个!请重新输入!
");

do{}while(getchar()!='
');

return 0;

}

return 1;

}



/*-------------4-------------*/

int JY_XM(char *stu_XM) /*检验姓名*/

{ int PD;

char *p;

p=stu_XM;

while(*p!='\0') /*姓名只能用中文*/

{

PD=(int)*p;

if(PD>0)

{ puts("姓名只能用中文,请重新输入!
");

return 0;

}

else p++; /*使指针加1,指向下一汉字*/

}

if(getchar()!='
') /*姓名长度不得大于5个*/

{ printf("姓名长度大于5个!请重新输入!
");

do{}while(getchar()!='
');

return 0;

}

return 1; /*字符串全为汉字返回真*/



}



/*-------------5-------------*/

int JY_CJ(float stu_CJ) /*学生成绩只能在0~100之间*/

{

if(stu_CJ100)

{ printf("输入错误,成绩只能在0~100之间!
");

return 0;

}

return 1;

}



/*-------------6-------------*/

void CreatFile() /*输入文件*/

{ FILE *fp;

struct stuType stu,stu0={"","",}; /*对stu0先赋值*/

fp=fopen("stu.dat","wb+"); /*打开或创建一个二进制文件,打开时将原来的内容删除*/

if(fp==NULL)

{ printf("文件打开失败!
按任意键返回...");

getch();

return;

}

else

{ while(1)

{ stu=stu0;

do{ printf("
请输入学号:"); /*输入学号并检验其正确性*/

scanf("%10s",stu.NO);

}while(!JY_NO(stu.NO,fp));

if(strcmp(stu.NO,"#")==0)break;

do{ printf("
请输入姓名:"); /*输入姓名并检验其正确性*/

scanf("%10s",stu.XM);

}while(!JY_XM(stu.XM));

do{ printf("
请输入语文成绩:"); /*输入成绩并检验其正确性*/

scanf("%f",&stu.CJ[0]);

}while(!JY_CJ(stu.CJ[0]));

do{ printf("
请输入数学成绩:"); /*同上*/

scanf("%f",&stu.CJ[1]);

}while(!JY_CJ(stu.CJ[1]));

do{ printf("
请输入英语成绩:");

scanf("%f",&stu.CJ[2]);

}while(!JY_CJ(stu.CJ[2]));

do{ printf("
请输入总评成绩:");

scanf("%f",&stu.CJ[3]);

}while(!JY_CJ(stu.CJ[3]));

fwrite(&stu,sizeof(struct stuType),1,fp); /*写文件*/

}



}

fclose(fp); /*关闭文件*/



}



/*-------------7-------------*/

void Search_Xuehao() /*按学号查询*/

{ FILE *fp;

int flag;

struct stuType stu,stud;

fp=fopen("stu.dat","rb");

if(fp==NULL) /*若文件打不开则输出下面的信息*/

{ printf("文件打开失败!
按任意键返回...");

getch();

return;

}

else

{ do{ puts("
输入“#”结束查询");

do{ printf("请输入要查询的学号:");

scanf("%10s",stu.NO);

}while(!JY_NO2(stu.NO));

if(strcmp(stu.NO,"#")==0)break; /*若输入“#”则结束循环*/

flag=0;

rewind(fp);

while(fread(&stud,sizeof(struct stuType),1,fp)) /*检查文件指针结束*/

{ if(strcmp(stu.NO,stud.NO)==0) /*比较学号*/

{ puts("该学生成绩如下:");

printf("学号:%s
",stud.NO);

printf("姓名:%s
",stud.XM);

printf("语文:%.1f
",stud.CJ[0]);

printf("数学:%.1f
",stud.CJ[1]);

printf("英语:%.1f
",stud.CJ[2]);

printf("总评:%.1f
",stud.CJ[3]);

flag=1; /*记录学号是否查到*/

}

}

if(flag==0)puts("无此学号!");

}while(strcmp(stu.NO,"#")!=0);





}

fclose(fp); /*关闭文件*/



}



/*-------------8-------------*/

void Search_Xingming() /*按姓名查找*/

{ FILE *fp;

int flag=0;

struct stuType stu,stud;

fp=fopen("stu.dat","rb");

if(fp==NULL)

{ printf("文件打开失败!
按任意键返回...");

getch();

return;

}

else

{ do{

do{ printf("请输入要查询的学生姓名:");

scanf("%10s",stu.XM);

}while(!JY_XM(stu.XM));

rewind(fp); /*文件指针指向头*/

while(fread(&stud,sizeof(struct stuType),1,fp))

{ if(strcmp(stu.XM,stud.XM)==0) /*比较姓名是否相同*/

{ puts("该学生姓名如下:");

printf("学号:%s
",stud.NO);

printf("姓名:%s
",stud.XM);

printf("语文:%.1f
",stud.CJ[0]);

printf("数学:%.1f
",stud.CJ[1]);

printf("英语:%.1f
",stud.CJ[2]);

printf("总评:%.1f
",stud.CJ[3]);

flag=1; /*记录姓名是否被查到*/

}

}

if(flag==0)puts("
无此学生!");

puts("是否继续(y--继续,其他返回)?");

}while(getch()=='y');

}

fclose(fp);

/* puts("请按任意键继续...");*/

/* getch();*/





}



/*-------------9-------------*/

int ListFile(void) /*输出文件,列出所有学生成绩*/

{ FILE *fp;

int REC=0; /*记录学生人数*/

struct stuType stu;

fp=fopen("stu.dat","rb");

if(fp==NULL)

{ printf("文件打开失败!
按任意键返回...");

getch();

return 1;

}

else{ printf("学生成绩如下:
");

printf("学号姓名语文数学英语总评
");

rewind(fp);

while(fread(&stu,sizeof(struct stuType),1,fp))

{ /*每读取一个长度的数据就输出*/

printf("%s",stu.NO);

printf("%s",stu.XM);

printf("%.1f",stu.CJ[0]);

printf("%.1f",stu.CJ[1]);

printf("%.1f",stu.CJ[2]);

printf("%.1f",stu.CJ[3]);

printf("
");

REC++;

if(REC%20==0) /*每输出20个学生成绩,停一下*/

{ printf("请按任意键继续...
");

getch();

}

}

}

fclose(fp); /*关闭文件*/

printf("请按任意键继续...");

getch();



}



/*-------------10-------------*/

void Statistics() /*统计及格和优秀人数*/

{ FILE *fp;

int REC=0,pass[4]={0},good[4]={0}; /*REC--记录个数,即人数,pass--及格人数,good--优秀人数*/

float highest[4]={0},score[4]={0}; /*highest--最高分,score--总分*/

struct stuType stu;

fp=fopen("stu.dat","rb");

if(fp==NULL)

{ printf("文件打开失败!
按任意键返回...");

getch();

return;

}

else { rewind(fp);

while(fread(&stu,sizeof(struct stuType),1,fp))

{ REC++;

score[0]=score[0]+stu.CJ[0]; /*语文*/

if(stu.CJ[0]>=60)pass[0]++;

if(stu.CJ[0]>=80)good[0]++;

if(highest[0]<stu.CJ[0])highest[0]=stu.CJ[0];

score[1]=score[1]+stu.CJ[1]; /*数学*/

if(stu.CJ[1]>=60)pass[1]++;

if(stu.CJ[1]>=80)good[1]++;

if(highest[1]<stu.CJ[1])highest[1]=stu.CJ[1];

score[2]=score[2]+stu.CJ[2]; /*英语*/

if(stu.CJ[2]>=60)pass[2]++;

if(stu.CJ[2]>=80)good[2]++;

if(highest[2]<stu.CJ[2])highest[2]=stu.CJ[2];

score[3]=score[3]+stu.CJ[3]; /*总评*/

if(stu.CJ[3]>=60)pass[3]++;

if(stu.CJ[3]>=80)good[3]++;

if(highest[3]<stu.CJ[3])highest[3]=stu.CJ[3];

}

if(REC==0) /*可以防止记录为0是REC作除数而造成的错误*/

{ printf("未输入学生记录!按任意键返回...");

getch();

return;

}

else{

printf(" 语文 数学 英语 总评
"); /*输出统计信息*/

printf("平均分: %.1f %.1f %.1f %.1f
",score[0]/REC,score[1]/REC,score[2]/REC,score[3]/REC);

printf("最高分: %.1f %.1f %.1f %.1f
",highest[0],highest[1],highest[2],highest[3]);

printf("优秀人数:%d %d %d %d
",good[0],good[1],good[2],good[3]);

printf("及格人数:%d %d %d %d
",pass[0],pass[1],pass[2],pass[3]);

}

}

fclose(fp);

printf("
请按任意键继续...");

getch();



}



/*-------------11-------------*/

void HelpMessage()

{ clrscr();

printf("




此系统是应老师所布置的作业编制而成,该系统具有存贮学生数据,按学号、姓名查询,列出学生成绩和统计功能。

使用方法:系统输入数据后,将在当前目录中建立一个名为stu.dat文件,用于保存输入的数据。学号输入只能用数字输入,并且学号只能是10位。姓名输入符合中国人的姓名,只能用中文,且最长为5个汉字。
此程序在Turbo C2.0下运行通过

由于是初学者,水平有限此系统还有许多不够完整和严密性,敬请指正!");

getch();

}



/*-------------12-------------*/

int GetKey(void) /*此函数返回一个按键的数值*/

{ int key;

key=bioskey(0); /*bioskey为调用BIOS键盘接口*/

if(key<<8) /*位移*/

{

key=key&0x00ff;



}

return key; /*返回按键*/

}



/*-------------13-------------*/

void main()

{ int key;

struct date d; /*定义时间结构体*/

getdate(&d); /*读取系统日期并把它放到结构体d中*/

clrscr(); /*清除屏幕*/

printf("




");

printf("****************************
"); /*版本信息*/

printf(" 学生成绩管理系统1.0
");

printf("****************************
");

printf(" 制作人:张春覃
");

printf(" 指导老师:杨宇晶 于宏伟
");

printf(" 制作时间:2005年9月
");

printf("****************************
");

printf("请按任意键继续...");

/*while(!kbhit());*/

getch(); /*从键盘读取一个字符,但不显示于屏幕*/

system("cls"); /*调用DOS的清屏函数,TC中可用clrscr代替*/

while(1) /*主菜单*/

{

printf("




");

printf("************************************
");

printf("**F1 --帮助 **
");

printf("**F2 --输入数据并存入文件 **
");

printf("**F3 --根据学号查询成绩 **
");

printf("**F4 --根据姓名查询成绩 **
");

printf("**F5 --输出文件内容 **
");

printf("**F6 --统计及格和优秀人数 **
");

printf("**ESC--退出系统 **
");

printf("************************************
");

printf("
请输入选项%d年%d月%d日

",d.da_year,d.da_mon,d.da_day); /*提示信息,并显示当前系统日期*/

key=GetKey(); /*调用自定义函数,读取一个键*/

switch(key)

{

case F1: HelpMessage(); break;

case F2: CreatFile(); break;

case F3: Search_Xuehao(); break;

case F4: Search_Xingming();break;

case F5: ListFile(); break;

case F6: Statistics(); break;

case ESC:exit(1); break;

/*default: puts("输入错误选项!");

printf("按任意键返回...");

getch();*/

}

clrscr(); /*每执行完一项功能后,自动清屏*/

}



}





1. 总结

通过本次的C++课程设计,让我学会了把书本上的知识应用到了实际中来。虽然在这几周中有过挫折和坎坷,有的问题一直到了最后才被解决,但是我认为这未必就不是好事,这样能锻炼我的意志,磨练我的耐心,失败是成功之母,这话一点都没错,没有失败就没有成功。

让我没有失去信心的是关怀我们的老师,当我们有了问题和疑问,老师就很耐心的给予讲解,让我们有了一个良好的学习氛围。

2. 参考文献

《C++程序设计》 钱能 清华大学出版社

《C++程序设计试验指导》 钱能 清华大学出版社

《C程序设计》 谭浩强 清华大学出版社

#include
#include
#include
#include
#include
#include
struct student //定义一个学生结构体
{
char name[8];
int num;
char add[20];
int GS,YY,JSJ,SUM;
};

int s=0;
class student1 //定义一个学生类
{
private:
student stu[40];
char name,add;
int num;
int GS,YY,JSJ,SUM;

public:
void sr(char *,int,char *,int,int,int);
void print(int);
int jc(int xxh)
{
int m=0;
while(m<=s+1)
if(xxh==stu[m++].num)
break;
if(m>s+1)
return 0;
else
return 1;
}
void cz(int);
void sc(int);
void sum(int);
};


void student1::sr(char *xm,int xh,char *dz,int gs,int yy,int jsj) //输入模块
{
strcpy(stu[s].name,xm);
stu[s].num=xh;
strcpy(stu[s].add,dz);
stu[s].GS=gs;
stu[s].YY=yy;
stu[s].JSJ=jsj;
}

void student1::print(int s) //输出模块
{
cout<<s<<"";
cout<<stu[s].name<<"";
cout<<stu[s].num<<"";
cout<<stu[s].add<<"";
cout<<stu[s].GS<<"";
cout<<stu[s].YY<<"";
cout<<stu[s].JSJ<<"";
cout<<endl;
}

void student1::cz(int s) //查找模块
{
int xxh,p;
while(s==0)
{
cout<<"没有记录,请先输入记录!"<<endl;
break;
}
if(s!=0)
{cout<<"请输入您要查找的学号:";
cin>>xxh;
while (xxh999999) //判断输入的学号是否正确
{
cout<<"您输入的学号不正确,请输入一个六位数的学号"<<endl;
cin>>xxh;
}
while(s!=0) //查找是否有符合条件的记录
{
p=1;
if (xxh==stu[s].num)
{
cout<<"姓名学号地址高数英语计算机"<<endl;
cout<<stu[s].name<<"";
cout<<stu[s].num<<"";
cout<<stu[s].add<<"";
cout<<stu[s].GS<<"";
cout<<stu[s].YY<<"";
cout<<stu[s].JSJ<<endl;
getch();
break;
}
else
p=0;
s--;
}
if(p==0)
cout<<"很抱歉,没有找到您要查找的学号!"<<endl;}
getch();
}

void student1::sc(int n) //删除模块
{
int xxh,p;
char da;
while(s==0)
{
cout<<"没有记录,请先输入记录!"<<endl;
break;
}
if(s!=0)
{
cout<<"请输入您要删除的学号:";
cin>>xxh;
while (xxh999999)
{
cout<<"您输入的学号不正确,请您输入一个六位数的学号" <<endl;
cin>>xxh;
}

for(int i=1;i<=n;i++)
{
if(stu[i].num!=xxh)
p=0;
if(stu[i].num==xxh)
{
cout<<"姓名学号地址高数英语计算机"<<endl;
cout<<stu[i].name<<"";
cout<<stu[i].num<<"";
cout<<stu[i].add<<"";
cout<<stu[i].GS<<"";
cout<<stu[i].YY<<"";
cout<<stu[i].JSJ<<endl;
cout<<"您确实要删除该学生的记录吗?(y/n)";
cin>>da;
if(da=='y'||da=='Y')
{
for(int j=i;j<=n-1;j++) //删除记录
{
strcpy(stu[j].name,stu[j+1].name);
stu[j].num=stu[j+1].num;
strcpy(stu[j].add,stu[j+1].add);
stu[j].GS=stu[j+1].GS;
stu[j].YY=stu[j+1].YY;
stu[j].JSJ=stu[j+1].JSJ;

}
cout<<"该记录已删除!"<<endl;
s=s-1;
p=1;
break;
}
else
{
cout<<"该记录未删除!"<<endl;
p=1;
}
}
}
if(p==0)
cout<<"很抱歉,没有找到您要找的学号!"<<endl;
}
getch();
}



void student1::sum(int s) //排序模块
{
int chang;
int b[40];
while(s==0)
{
cout<<"没有记录,请先输入记录!"<<endl;
break;
}
if(s!=0)
{
cout<<"姓名学号地址英语";
cout<<"高数计算机总分"<<endl;

for(int k=1;k<=s;k++)
{
b[k]=stu[k].GS+stu[k].YY+stu[k].JSJ;
stu[k].SUM=stu[k].GS+stu[k].YY+stu[k].JSJ;
}

for(int i=1;i<=s;i++) //利用冒泡法对B[]进行排序
for(int j=1;j<=s-i;j++)
if(b[j]<b[j+1])
{
chang=b[j];
b[j]=b[j+1];
b[j+1]=chang;
}
for(int h=1;h<=s;h++) //输出与B[]中相同总分所对应的内容
for(int e=1;e<=s;e++)
if(b[h]==stu[e].SUM)
{
cout<<stu[e].name<<"";
cout<<stu[e].num<<"";
cout<<stu[e].add<<"";
cout<<stu[e].YY<<"";
cout<<stu[e].GS<<"";
cout<<stu[e].JSJ<<"";
cout<<stu[e].SUM<<endl;
}
}

getch();
}


void main()
{
student1 st;
char da,a;
char *xm,*dz;
int gs,yy,jsj,xh;
time_t t;
time(&t);
while(1)
{
system("cls");
cout<<" 版权所有:张珊珊 肖朋丽 姚约汉"<<endl;
cout<<endl;
cout<<" 学生成绩管理系统"<<endl;
cout<<" 显示系统时间和日期:"<<ctime(&t)<<endl;
cout<<"1.输入/添加学生资料"<<endl;
cout<<"2.显示学生资料"<<endl;
cout<<"3.按学号查找"<<endl;
cout<<"4.删除记录"<<endl;
cout<<"5.按总分进行排序"<<endl;
cout<<"6.退出"<<endl;
cout<<"请选择操作(1-6)"<<endl;
cin>>a;
t: if(a=='6') break;
switch (a)
{
case '1':
{
cout<<"请依次输入学生的姓名,学号,地址,高数,英语,计算机:"<<endl;
xm=new char[];dz=new char[];
cin>>xm>>xh>>dz>>gs>>yy>>jsj;
while(st.jc(xh)) //调用JC模块判断学号是否重复
{
cout<<"学号重复,请重新输入!"<<endl;
cin>>xh;
}
s=s+1;
st.sr(xm,xh,dz,gs,yy,jsj);
cout<<"是否继续输入?(y/n)";
cin>>da;
while (da=='y'||da=='Y') //判断是否要继续输入
{
cout<<"请依次输入学生的姓名,学号,地址,高数,英语,计算机:"<<endl;
xm=new char[];dz=new char[];
cin>>xm>>xh>>dz>>gs>>yy>>jsj;
while(st.jc(xh))
{
cout<<"学号重复,请重新输入!"<<endl;
cin>>xh;
}
s=s+1;
st.sr(xm,xh,dz,gs,yy,jsj);
cout<<"是否继续输入?(y/n)";
cin>>da;

}
getch();
};break;

case '2':
{
if(s==0) //判断是否有记录输入
{
cout<<"没有记录,请先输入记录!"<<endl;
getch();
break;
}
if(s!=0)
{
cout<<"序号"<<"";
cout<<"姓名"<<"";
cout<<"学号"<<"";
cout<<"地址"<<"";
cout<<"高数"<<"";
cout<<"英语"<<"";
cout<<"计算机"<<endl;
for(int i=1;i<=s;i++)
st.print(i);
getch();
}
};break;
case '3':st.cz(s);break;
case '4':st.sc(s);break;
case '5':st.sum(s);break;
default:
{
while(a=='0'||a>'6') //判断选项是否正确
{
cout<<"错误选项,请重新选择!"<<endl;
cin>>a;
}
goto t;
};break;
}
}
cout<<"谢谢您的使用!"<<endl;
}

给你一个,自己将一些函数名,变量名什么的改一改,在简单调整一下就可以了

/////////////////////////////////////////////////////////////////////
///////////// List.h: 类的所有成员都在头文件里声明 //////////////////
/////////////////////////////////////////////////////////////////////

#include <iostream.h> // cin 及 cout
#include <malloc.h> // 用到申请内存函数 malloc() 和释放内存函数 free()
#include <string.h> // 字符串处理
#include <stdio.h> // 文件操作(读文件)
#include <stdlib.h> // system("cls")

struct address /*家庭地址*/
{
char city[10]; /*城市*/
char town[10]; /*县城*/
char village[10]; /*乡镇*/
};

struct telephone /*联系方式*/
{
char SJ[50]; /*手机*/
char JD[30]; /*家庭电话*/
char XD[30]; /*学校电话*/
};

struct person /*个人信息*/
{
char name[20]; /*名字*/
char sex[10] ; /*性别*/
char MZ[16]; /*民族*/
char GJ[17]; /*国籍*/
char XL[19]; /*学历*/
};

struct score //成绩
{
char num[20]; //学号
char english[20];
char chinese[20];
char math[20];
char physics[20];
};

typedef struct linknode //定义节点的类型
{
char address[100]; //地址
char birthday[100]; //出生日期
struct score sc; //成绩
struct person pe; //个人信息
struct telephone te; //联系方式
bool flag;
struct linknode* next;
}nodetype;

class List
{
nodetype* head;

public:
List();
List::~List();

linknode* creatlist(int); //创建链表
int listlen(); //返回链表长度
nodetype* findnode(int); //通过查找序号返回节点的指针
nodetype* find(char c[]); //通过查找姓名返回节点的指针
int find2(char c[]); //通过查找姓名返回节点的序号
nodetype* insnode(int); //插入节点
void delnode(int); //删除节点

nodetype* load(); //初始化:从外部读入数据

void readstr(FILE *f,char *string); //读行函数
bool check(char *a, char *b); //对比两个字符串是否相等
void help(); //显示帮助菜单

void editperson(nodetype*); //编辑个人说明
void editscore(nodetype*); //编辑学科成绩
void edittelephone(nodetype*); //编辑联系方式

void dispname(); //显示所有学生姓名
void dispnode(nodetype* p); //显示一个学生的所有信息
void dispperson(nodetype*); //显示一个学生的个人说明
void dispscore(nodetype*); //显示一个学生的学科成绩
void disptelephone(nodetype*); //显示一个学生的联系方式

};

#include <iostream.h> // cin 及 cout
#include <string.h> // strcpy(): 字符串复制
#include <stdlib.h> // system("cls")
#include <stdio.h> // 文件操作(写文件)
#include "list.h" // 我们要创建类 List 的对象和节点指针,所以要把类的头文件包含进来

class Operater
{
List L1;
public:
void Loop(); //主循环
void display(); //显示菜单
};

/////////////////////////////////////////////////////////////////////////////////////
//////////////////////// List.cpp : The body of the class List //////////////////////
/////////////////////////////////////////////////////////////////////////////////////

#include "list.h"

List::List()
{
head = NULL;
}

bool List::check(char *a, char *b) //对比两个字符串是否相等
{
int i;
int j=strlen(b);
for(i=0; i<j; i++)
{
if(*a==*b)
{
a++;
b++;
}
else
return 0;
}
return 1;
}

nodetype* List::creatlist (int n) //创建链表
{
nodetype *h=NULL, *s, *t;
int i=1;

for(int j=0; j<n; j++)
{
if(i==1) //创建第一个节点
{
h=(nodetype*)malloc(sizeof(nodetype));
h->next=NULL;
t=h;
}
else //创建其余节点
{
s=(nodetype*)malloc(sizeof(nodetype));
s->next=NULL;
t->next=s;
t=s; //t 始终指向生成的单链表的最后一个节点
}

i++;
}

head=h;
return h;
}

/*
nodetype* List::creatlist (int n) //创建链表
{
nodetype *h=NULL;
int i=1;

for(int j=0; j<n; j++)
{
h=insnode(0);
}
head=h;
return h;
}
*/

void List::readstr(FILE *f,char *string)
{
do
{
//①: 先读入一行文本
fgets(string, 255, f); //fgets(): 从文件 f 读入长度为 255-1 的字符串
// 并存入到 string 中
} while ((string[0] == '/') || (string[0] == '\n'));

return;
}

nodetype* List::load()
{
FILE *fp;
nodetype *p;
char c[255];
int num;
if((fp=fopen("student.txt", "r"))==NULL)
{
cout<<"打开文件失败"<<endl;
return 0;
}
readstr(fp, c);
sscanf(c, "The Length Of Link: %d", &num); //获取链表长度

p=creatlist(num); //创建链表

for(int i=0; i<num; i++)
{
readstr(fp, c);
strcpy(p->address, c);
readstr(fp, c);
strcpy(p->birthday, c);

readstr(fp, c);
strcpy(p->sc.num, c);
readstr(fp, c);
strcpy(p->sc.chinese, c);
readstr(fp, c);
strcpy(p->sc.english, c);
readstr(fp, c);
strcpy(p->sc.math, c);
readstr(fp, c);
strcpy(p->sc.physics, c);

readstr(fp, c);
strcpy(p->pe.name, c);
readstr(fp, c);
strcpy(p->pe.sex, c);
readstr(fp, c);
strcpy(p->pe.GJ, c);
readstr(fp, c);
strcpy(p->pe.MZ, c);
readstr(fp, c);
strcpy(p->pe.XL, c);

readstr(fp, c);
strcpy(p->te.SJ, c);
readstr(fp, c);
strcpy(p->te.JD, c);
readstr(fp, c);
strcpy(p->te.XD, c);

p=p->next;
}

fclose(fp);

return p;
}

void List::dispnode(nodetype* p) //显示一个学生的所有信息
{
if(p!=NULL)
{
dispperson(p);
dispscore(p);
disptelephone(p);
}
}

void List::dispname() //显示所有学生姓名
{
nodetype* p=head;
cout<<"现有的学生: "<<endl;
if(p==NULL)
cout<<"没有任何学生数据"<<endl;
while(p!=NULL)
{
cout<<"姓名: "<<p->pe.name;

p=p->next;
}
}

int List::listlen() //返回链表长度
{
int i=0;
nodetype* p=head;
while(p!=NULL)
{
p=p->next;
i++;
}
return i;
}

nodetype* List::findnode (int i) //通过查找序号返回节点的指针
{
nodetype* p=head;
int j=1;
if( i>listlen()||i<=0 ) // i 上溢或下溢
return NULL;
else
{
while( p!=NULL && j<i ) //查找第 i 个节点并由 p 指向该节点
{
j++;
p=p->next;
}
return p;
}
}

nodetype* List::find(char c[]) //通过查找姓名返回节点的指针
{
nodetype* p=head;
int j=1;
strcat(c, "\n"); //从外部读入的字符串末尾都带了一个换行符
while( p!=NULL && !(check(c, p->pe.name))) //查找第 i 个节点并由 p 指向该节点
{
j++;
p=p->next;
}
return p;
}

int List::find2(char c[]) //通过查找姓名返回节点的序号
{
nodetype* p=head;
int j=1;
strcat(c, "\n"); //从外部读入的字符串末尾都带了一个换行符
while( p!=NULL && !(check(c, p->pe.name))) //查找第 i 个节点并由 p 指向该节点
{
j++;
p=p->next;
}
return j;
}

nodetype* List::insnode(int i)
{
nodetype *h=head, *p, *s;
s=(nodetype*)malloc(sizeof(nodetype)); //创建节点 s
s->next=NULL;
if(i==0) //i=0 时 s 作为该单链表的第一个节点
{
s->next = h;
h=s; //重新定义头节点
}
else
{
p=findnode(i); //查找第 i 个节点,并由 p 指向该节点
if(p!=NULL)
{
s->next=p->next;
p->next=s;
}
else cout<<"输入的 i 值不正确"<<endl;
}
head=h;

return s;
}

void List::delnode(int i) //删除第 i 个节点
{
nodetype *h=head, *p=head, *s;
int j=1;
if(i==1) //删除第一个节点
{
h=h->next;
free(p);
}
else
{
p=findnode(i-1); //查找第 i-1 个节点,并由 p 指向这个节点
if(p!=NULL && p->next!=NULL)
{
s=p->next; // s 指向要删除的节点
p->next=s->next;
free(s);
}
else
cout<<"输入的 i 值不正确"<<endl;
}
head=h;
}

void List::editperson(nodetype* p)
{
char c[100];
cout<<"请输入姓名: "<<endl;
cin>>c;
strcat(c, "\n");
strcpy(p->pe.name, c);

cout<<"请输入性别:"<<endl;
cin>>c;
strcat(c, "\n");
strcpy(p->pe.sex, c);

cout<<"请输入生日(格式举例:1982-1-1): "<<endl;
cin>>c;
strcat(c, "\n");
strcpy(p->birthday, c);

cout<<"请输入民族:"<<endl;
cin>>c;
strcat(c, "\n");
strcpy(p->pe.MZ, c);

cout<<"请输入国籍:"<<endl;
cin>>c;
strcat(c, "\n");
strcpy(p->pe.GJ, c);

cout<<"请输入学历:"<<endl;
cin>>c;
strcat(c, "\n");
strcpy(p->pe.XL, c);

cout<<"请输入家庭住址(例如:广西玉林市解放路11号"<<endl;
cin>>c;
strcat(c, "\n");
strcpy(p->address, c);

cout<<"编辑个人信息完成!"<<endl;

dispperson(p);
}

void List::editscore(nodetype* p)
{
char a[50];
cout<<"请输入学号: "<<endl;
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);
}
}
}
#include "operater.h"

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;
}

#include "operater.h"

void main()
{
Operater O1;
O1.Loop();
}

你说的是不是用VC++,用VC++的话 ,我倒是写过 ,还要和数据库联系起来

用java写过很多次了。


如何用c语言编写一个能够正确运行的程序?
--- 最后,对于C语言指针这个对初学者很难懂的内容,建议翻阅 “征服C指针”一书。大概看懂3,4章,你对C语言就算真正入门了。By the way,初学者在代码里,如果有重复对一个数组赋值使用的情况,建议不管三七二十一使用 memset() 过度使用也没有关系(对初学者而言),好的习惯可以让学习之路更顺...

如何用c语言编写一个程序?
include<stdio.h> int main(){ int i,m=0;for(i=2;i<=100;i+=2) m=m+i;printf("%d\\n",m);return 0;} 或 include int main(){ int i,sum=0;for(i=1;i<=50;i++){ sum=sum+2*i;} printf("2+4+6+…+98+100=%d\\n",sum);return 0;} ...

谁能用c语言中的for语句,编写个从1加到100的程序
当然可以!以下是用C语言编写从1加到100的程序的示例代码:Copy code include <stdio.h> int main() { int sum = 0;for (int i = 1; i <= 100; i++) { \/\/ 从1加到100 sum += i;} printf("1到100的和为:%d\\n", sum);return 0;} 在程序中,我们使用了 for ...

怎样用C语言编写一个简单的程序?
下面是一个简单的例子,它展示了如何手动输入 7 个元素,然后求这 7 个元素的和,并输出最大值和最小值。include <stdio.h> int main(){ int a[7]; \/\/ 建立一个 7 元素的数组 int i;int sum = 0;int max = a[0];int min = a[0];\/\/ 手动输入 7 个元素 for (i = 0; i ...

c语言编写程序,定义一个3行4列的二维整型数组
include <stdio.h>int main(){ int a[3][4]; int l[3]={0},c[4]={0},s=0; int i,j; for(i = 0; i < 3;i++) { for(j = 0; j < 4; j ++) { scanf("%d",&a[i][j]); s+=a[i][j]; l[i]+=a[i][j]; c[j]+=a...

怎样用C语言编一个两数相加的程序?
您可以使用C语言中的加法运算符(+)来编写一个两数相加的程序。以下是一个简单的示例程序:在上面的程序中,我们首先定义了三个变量:num1、num2和sum。num1和num2用于存储用户输入的两个数字,而sum用于存储这两个数字的和。接下来,我们使用printf函数提示用户输入两个数字,并使用scanf函数将用户...

用C语言编写一个简单程序,有哪些步骤,可以举一个例子详细讲解下吗?_百 ...
\/\/以Helloworld示例 \/\/先使用编辑工具如windows的记事本或vc++环境,或linux的vim编辑器创建一个hello.c文件 \/\/打开文件后,如下 步骤写程序 include <stdio.h>\/\/首先要引入c语言的标准输入输出库文件,因为这个文件里有已经定义好的可以使用的函数 \/\/接下来需要写一个main函数,这也是c语言程序里必...

C语言编写一个软件?
1、首先打开pelles C,创建一个新的项目文件。2、然后输入简单的框架。3、接着用switch函数完成加减乘除操作。4、检查输入之后就可以计算结果了。这里需要添加的代码如下,之后便可以运行了。5、这里我们输入一个例子。

用C语言编写程序:输入一个人的名字、年龄、工资并在最后输出来。_百度...
struct imfomation{ char name[20];int age;int salary;};include "stdio.h"void main(){ struct imfomation a;\/\/a为结构体变量 printf("请输入姓名:\\n");gets(a.name);printf("请输入年龄:\\n");scanf("%d",&a.age);printf("请输入工资:\\n");scanf("%d",&a.salary);printf("...

C语言 编写一个函数,由实参传来一个字符串,统计字符串中字母,数字,空 ...
include <stdio.h> include <string.h> int letter,number,blank,other;void count(char str[]){ int i;for(i=0;str[i]!='\\0';i++){ if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))letter++;else if(str[i]>='0'&&str[i]<='9')number++;else...

宜昌市13879196994: 用c++编写一个学生成绩管理程序
傅刷参芪: #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;ctype.h&gt; #include&lt;string.h&gt; struct ttt { int num; float score; struct ttt *next; }; typedef struct ttt node; typedef node *link; int n; link create() { link head,p1,p2; n=0; p1=p2=(link)malloc(...

宜昌市13879196994: 用C++编写一个学生成绩管理系统!急!!! -
傅刷参芪: #include<stdio.h>#include<stdlib.h>#include<string.h>#define N 50 /*定义符号常量,代表学生人数最大值*/ int count=0; /*全局变量,用于记录数组的当前位置*/ struct student /*定义结构体类型,代表学生信息*/ { char name[9]; /*学生姓名*/ char ...

宜昌市13879196994: C++编程写一个学生成绩管理系统 -
傅刷参芪: #include#includestruct STUDENTINFO { long nID; char cName[30]; float fscore[5]; }; //输入学生信息 void inputStudentInfo(struct STUDENTINFO *info,int n); //冒泡排序法,当然还有其他的排序法 void sortInfo(struct STUDENTINFO *info,int n)...

宜昌市13879196994: 用C++编写学生成绩管理系统 -
傅刷参芪: +++++33325

宜昌市13879196994: 用c++设计一个小型学生成绩管理程序. -
傅刷参芪: 以下是c做的,如果要c++的,就自己修改下,只要把链表改成链表类,在再对应的地方修改下,就行了,最近比较忙,不能帮你修改了, #include <stdio.h> #include <stdlib.h> #include <stdio.h> #include <stdlib.h>#include<stdio.h> typedef ...

宜昌市13879196994: C++程序设计 学生成绩管理 跪求!
傅刷参芪: 我要分·······························#include&lt;iostream.h&gt;#include&lt;string.h&gt;#include&lt;fstream.h&gt;#include&lt;conio.h&gt;#include&lt;stdlib.h&gt;class student;student* data[100]={0}; //类数组...

宜昌市13879196994: 求助:用C++编一个学生成绩管理程序,要求如下
傅刷参芪: 本程序在VC6.0上编译通过: #include&lt;iostream.h&gt; class Person //定义Person类 { public: char Name[10]; int Score; void takeIn(); }; void Person::takeIn() //录入学生的姓名和成绩 { cout&lt;&lt;"请输入学生的姓名和成绩:"; cin&gt;&gt;...

宜昌市13879196994: 求一个学生成绩管理系统(C++)
傅刷参芪: #ifndef _CLASS_H#define _CLASS_H #include"Student.h"#include"ArrayList.h"#include"Sort.h"#include"Search.h"#include"Insert.h"#include"Modify.h"#include"Delete.h"#include<fstream> using namespace std;const int NUM...

宜昌市13879196994: 编写一个学生成绩管理程序 c++ 链表 -
傅刷参芪: #include<iostream> #include<string> using namespace std; //=============<开始定义结构体>=================================================== struct combox{ int num; int mark; string name; combox *next; }; //===========...

宜昌市13879196994: 用C++语言解决"班级成绩管理"
傅刷参芪: /*这个项目的核心是对存放学员信息的结构数组的操作*/ #include<stdio.h> /*首先创建一个学员信息的结构*/ struct student { int num; //学号 char name[20]; //姓名 float score[3]; //三门课的成绩 float ave; //三门课的平均成绩 }stu[50];//声明一个...

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