C语言学生成绩管理系统源程序

附录程序

#include"stdio.h"

#include

#include

#include"process.h"

#include"ctype.h"

typedef struct

{

char num[10];

char name[10];

int chinese;

int math;

int english;

i nt dianlu;

d oubl

e aver;

}Student;

Student stu[99];

int shuru(Student stud[],int n)/*输入若干条记录*/ {

i nt i=0;

c har sign,x[10];

d oubl

e a=0.0;

while(sign!='n'&&sign!='N')

{

printf("输入学生学号:");

scanf("%s",stu[n+i].num);

printf("输入学生姓名:");

scanf("%s",stu[n+i].name);

printf("输入学生的语文、数学、英语、电路分数:");

scanf("%d%d%d%d",&stu[n+i].chinese,&stu[n+i].math,&stu[n+i].english,&stu[n+i].dianlu);

a=1.0*(stu[n+i].chinese+stu[n+i].math+stu[n+i].english+stu[n+i].dianlu)/4;

stu[n+i].aver=a;

gets(x); /*清除多余的输入*/

printf("是否继续输入?(Y/N):\n");

scanf("%c",&sign);

i++;

}

return(n+i);

}

void xianshi(Student stud[],int n) /*显示所有记录*/

{

int i ;

printf("----------------------------------------------------------\n"); /*格式头*/

printf("学号姓名语文数学英语电路平均成绩\n");

printf("----------------------------------------------------------\n");

for(i=0;i

{

printf("%-10s%-10s%-10d%-10d%-10d%-10d%-10.2lf\n",stu[i].num,stu[i].name,stu[i].chinese,stu[i].m ath,stu[i].english,stu[i].dianlu,stu[i].aver);

}

}

void xiugai(Student stud[],int n)/*修改*/

{

int i=0,choice=1;

char x[10];

while(choice!=0)

{ printf("请输入您要修改的学生的学号:\n");

scanf("%s",x);

for(i=0;;i++)

{

if(strcmp(stu[i].num,x)==0) break;

}

printf("请选择您要修改的内容:\n");

printf(" ---------------------- \n");

printf("| 姓名请按1 |\n");

printf("| 语文请按2 |\n");

printf("| 数学分数请按3 |\n");

printf("| 英语分数请按4 |\n");

printf("| 电路请按5 |\n");

printf("| 退出请按0|\n");

printf("+----------------------+\n");

printf("请输入您的选择:");

scanf("%d", &choice);

switch(choice)

{

case 0:break;

case 1:

printf("请输入新姓名:");

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

break;

case 2:

printf("请输入新的语文分数:");

scanf("%d", &stu[i].chinese);

break;

case 3:

printf("请输入新的数学分数:");

scanf("%d",&stu[i].math);

break;

case 4:

printf("请输入新的英语分数:");

scanf("%d", &stu[i].english);

break;

case 5:

printf("请输入新的电路分数:");

scanf("%d", &stu[i].dianlu);

break;

default:

printf("\n无效选项!");

break;

} break;

}

r eturn;

}

int shanchu(Student stud[],int n) /*按姓名查找,删除一条记录*/ { char s[20];

int i;

int j;

i=0;

printf("输入要删除记录的姓名:");

scanf("%s",s);

while(strcmp(stu[i].name,s)!=0&&i

if(i==n)

{printf("not find!\n");

return(n); }

for(j=i;j

{

strcpy(stu[j].num,stu[j+1].num);

strcpy(stu[j].name,stu[j+1].name);

stu[j].chinese=stu[j+1].chinese;

stu[j].math=stu[j+1].math;

stu[j].english=stu[j+1].english;

stu[j].dianlu=stu[j+1].dianlu;

stu[j].aver=stu[j+1].aver;

}

printf("Delete Successed!\n");

return(n-1);

}

void chaxun_xingming(Student stud[],int n) /*按姓名查找并显示一个记录*/

{ char s[20];

int i=0;

printf("输入姓名:");

scanf("%s",s);

while(strcmp(stu[i].name,s)!=0&&i

if(i==n)

{printf("not find!\n"); /*输入失败信息*/

return; }

printf("他的姓名、学号是:%s %s\n",stu[i].name,stu[i].num); /*输出该学生信息*/

printf("语文高数英语电路平均成绩是:%d,%d,%d,%d,%lf\n",stu[i].chinese,stu[i].math,stu[i].english,stu[i].dianlu,stu[i].aver);

}

void chaxun_pingjun(Student stud[],int n) /*按平均成绩查找并显示一个记录*/

{ double s;

int i=0;

printf("输入平均成绩:");

scanf("%lf",&s);

while(stu[i].aver!=s && i

if(i==n)

{ printf("not find!\n"); /*输入失败信息*/

return;

}

printf("他的学号是:%s\n",stu[i].num); /*输出该学生信息*/

printf("他的姓名是:%s\n",stu[i].name);

printf("他的语文、数学、英语、电路分数是:%d %d %d %d \n",stu[i].chinese,stu[i].math,stu[i].english,stu[i].dianlu);

}

void paixu_xuehao(Student stud[],int n) /*按学号排序*/

{ int i,j,p,q,r,w;

double y;

char x[20],t[10];

for(i=0;i

for(j=0;j

if(strcmp(stud[j].num,stud[j+1].num)>0)

{ strcpy(t,stud[j].num);

strcpy(stud[j].num,stud[j+1].num);

strcpy(stud[j+1].num,t);

strcpy(x,stud[j].name);

strcpy(stud[j].name,stud[j+1].name);

strcpy(stud[j+1].name,x);

y=stu[j].aver;stu[j].aver=stu[j+1].aver;stu[j+1].aver=y;

p=stu[j].chinese;stu[j].chinese=stu[j+1].chinese;stu[j+1].chinese=p;

q=stu[j].math;stu[j].math=stu[j+1].math;stu[j+1].math=q;

r=stu[j].english;stu[j].english=stu[j+1].english;stu[j+1].english=r;

w=stu[j].dianlu;stu[j].dianlu=stu[j+1].dianlu;stu[j+1].dianlu=w;

}

return;

}

void paixu_pingjun(Student stud[],int n) /*按平均成绩排序*/

{ int i,j,p,q,r,w;

double y;

char x[20],t[10];

for(i=0;i

for(j=0;j

if(stu[j].aver>stu[j+1].aver)

{ y=stu[j].aver;stu[j].aver=stu[j+1].aver;stu[j+1].aver=y;

p=stu[j].chinese;stu[j].chinese=stu[j+1].chinese;stu[j+1].chinese=p;

q=stu[j].math;stu[j].math=stu[j+1].math;stu[j+1].math=q;

r=stu[j].english;stu[j].english=stu[j+1].english;stu[j+1].english=r;

w=stu[j].dianlu;stu[j].dianlu=stu[j+1].dianlu;stu[j+1].dianlu=w;

strcpy(x,stu[j].name);

strcpy(stu[j].name,stu[j+1].name);

strcpy(stu[j+1].name,x);

strcpy(t,stu[j].num);

strcpy(stu[j].num,stu[j+1].num);

strcpy(stu[j+1].num,t);

}

return;

}

void paixu_chinese(Student stud[],int n) /*按语文成绩排序*/

{ int i,j,p,q,r,w;

double y;

char x[20],t[10];

for(i=0;i

for(j=0;j

if(stu[j].chinese>stu[j+1].chinese)

{

y=stu[j].aver;stu[j].aver=stu[j+1].aver;stu[j+1].aver=y;

p=stu[j].chinese;stu[j].chinese=stu[j+1].chinese;stu[j+1].chinese=p;

q=stu[j].math;stu[j].math=stu[j+1].math;stu[j+1].math=q;

r=stu[j].english;stu[j].english=stu[j+1].english;stu[j+1].english=r;

w=stu[j].dianlu;stu[j].dianlu=stu[j+1].dianlu;stu[j+1].dianlu=w;

strcpy(x,stu[j].name);

strcpy(stu[j].name,stu[j+1].name);

strcpy(stu[j+1].name,x);

strcpy(t,stu[j].num);

strcpy(stu[j].num,stu[j+1].num);

strcpy(stu[j+1].num,t);

}

return;

}

void paixu_english(Student stud[],int n) /*按英语成绩排序*/

{ int i,j,p,q,r,w;

double y;

char x[20],t[10];

for(i=0;i

for(j=0;j

if(stu[j].english>stu[j+1].english)

{

y=stu[j].aver;stu[j].aver=stu[j+1].aver;stu[j+1].aver=y;

p=stu[j].chinese;stu[j].chinese=stu[j+1].chinese;stu[j+1].chinese=p;

q=stu[j].math;stu[j].math=stu[j+1].math;stu[j+1].math=q;

r=stu[j].english;stu[j].english=stu[j+1].english;stu[j+1].english=r;

w=stu[j].dianlu;stu[j].dianlu=stu[j+1].dianlu;stu[j+1].dianlu=w;

strcpy(x,stu[j].name);

strcpy(stu[j].name,stu[j+1].name);

strcpy(stu[j+1].name,x);

strcpy(t,stu[j].num);

strcpy(stu[j].num,stu[j+1].num);

strcpy(stu[j+1].num,t);

}

return;

}

void paixu_math(Student stud[],int n) /*按数学成绩排序*/

{ int i,j,p,q,r,w;

double y;

char x[20],t[10];

for(i=0;i

for(j=0;j

if(stu[j].math>stu[j+1].math)

{

y=stu[j].aver;stu[j].aver=stu[j+1].aver;stu[j+1].aver=y;

p=stu[j].chinese;stu[j].chinese=stu[j+1].chinese;stu[j+1].chinese=p;

q=stu[j].math;stu[j].math=stu[j+1].math;stu[j+1].math=q;

r=stu[j].english;stu[j].english=stu[j+1].english;stu[j+1].english=r;

w=stu[j].dianlu;stu[j].dianlu=stu[j+1].dianlu;stu[j+1].dianlu=w;

strcpy(x,stu[j].name);

strcpy(stu[j].name,stu[j+1].name);

strcpy(stu[j+1].name,x);

strcpy(t,stu[j].num);

strcpy(stu[j].num,stu[j+1].num);

strcpy(stu[j+1].num,t);

}

return;

}

void paixu_dianlu(Student stud[],int n) /*按电路成绩排序*/

{ int i,j,p,q,r,w;

double y;

char x[20],t[10];

for(i=0;i

for(j=0;j

if(stu[j].dianlu>stu[j+1].dianlu)

{

y=stu[j].aver;stu[j].aver=stu[j+1].aver;stu[j+1].aver=y;

p=stu[j].chinese;stu[j].chinese=stu[j+1].chinese;stu[j+1].chinese=p;

q=stu[j].math;stu[j].math=stu[j+1].math;stu[j+1].math=q;

r=stu[j].english;stu[j].english=stu[j+1].english;stu[j+1].english=r;

w=stu[j].dianlu;stu[j].dianlu=stu[j+1].dianlu;stu[j+1].dianlu=w;

strcpy(x,stu[j].name);

strcpy(stu[j].name,stu[j+1].name);

strcpy(stu[j+1].name,x);

strcpy(t,stu[j].num);

strcpy(stu[j].num,stu[j+1].num);

strcpy(stu[j+1].num,t);

}

return;

}

void tongji(Student stud[],int n)//按分数段统计人数

{ int i,j,a,max,min,k,l,q,p,w;

k=0,l=0,p=0,q=0,w=0;

printf("你想统计哪科成绩: 1语文2数学3英语4电路5平均\n");

scanf("%d",&j);

printf("input 2 score:\n");

scanf("%d%d",&max,&min);

if(max

{

a=max;max=min;min=a;

}

if(j==1)

{

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

{

if(stu[i].chinese>min&&stu[i].chinese

}

printf("分数段的人数为:%d",k);

}

else if(j==2)

{

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

{

if(stu[i].math>min&&stu[i].math

}

printf("分数段的人数为:%d",l);

}

else if(j==3)

{

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

{

if(stu[i].english>min&&stu[i].english

}

printf("分数段的人数为:%d",p);

}

else if(j==4)

{

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

{

if(stu[i].dianlu>min&&stu[i].dianlu

w++;

}

printf("分数段的人数为:%d",w);

}

else if(j==5)

{

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

{

if(stu[i].aver>min&&stu[i].aver

}

printf("分数段的人数为:%d",q);

}

return;

}

int wenjian2(Student stud[],int n) /*从文件中读入数据*/

{ int i=0,num;

FILE *fp; /*定义文件指针*/

char filename[20]; /*定义文件名*/

printf("\t\t\tInput the filename:");

scanf("\t\t\t%s",filename); /*输入文件名*/

if((fp=fopen(filename,"rb"))==NULL) /*打开文件*/

{ printf("\t\t\tcann't open the file\n"); /*打开失败信息*/

printf("\t\t\t");

system("pause");

return(n);

}

fscanf(fp,"%d",&num); /*读入总记录量*/

while(i

{

fscanf(fp,"%s %s %d %d %d %d %lf\n",stu[n+i].num,stu[n+i].name,&stu[n+i].chinese,&stu[n+i]. math,&stu[n+i].english,&stu[n+i].dianlu,&stu[n+i].aver);

i++;

}

n+=num;

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

printf("\t\t\tSuccessed!\n");

printf("\t\t\t");

system("pause");

return(n);

}

void wenjian1(Student stud[],int n) /*将所有记录写入文件*/

{

int i=0;

FILE *fp; /*定义文件指针*/

char filename[20]; /*定义文件名*/

printf("Input the filename:");/*输入文件名*/

scanf("%s",filename);

if((fp=fopen(filename,"w"))==NULL) /*打开文件*/

{

printf("cann't open the file\n");

return;

}

fprintf(fp,"%d\n",n); /*循环写入数据*/

while(i

{

fprintf(fp,"%s %s %d %d %d %d %lf\n",stu[i].num,stu[i].name,stu[i].chinese,stu[i].math,stu[i].engli sh,stu[i].dianlu,stu[i].aver);

i++;

}

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

printf("Successed!\n"); /*返回成功信息*/

}

int menu() /*菜单函数*/

{

int c;

do{

printf("\t\t****学生信息管理系统菜单****\n");

printf("\t\t 1. 编辑\n");

printf("\t\t 2. 显示\n");

printf("\t\t 3. 查询\n");

printf("\t\t 4. 排序\n");

printf("\t\t 5. 统计\n");

printf("\t\t 6. 文件\n");

printf("\t\t 0. 退出\n");

printf("************************************************************\n");

printf("\t\t\t请选择(0-6):");

scanf("%d",&c);

}while(c<0||c>6);

return(c-0); /*返回选择*/

}

int bianji()

{

printf("\t\t 1. 录入\n");

printf("\t\t 2 .修改\n");

printf("\t\t 3. 删除\n");

printf("\t\t 按其它数字键退出\n");

int i;

scanf("%d",&i);

return i;

}

int chaxun()

{

printf("\t\t 1. 按姓名查询\n");

printf("\t\t 2 .按平均成绩查询\n");

printf("\t\t 按其它数字键退出\n");

int i;

scanf("%d",&i);

return i;

}

int paixu()

{

printf("\t\t 1. 按学号\n");

printf("\t\t 2 .按语文成绩\n");

printf("\t\t 3 .按数学成绩\n");

printf("\t\t 4 .按英语成绩\n");

printf("\t\t 5 .按电路成绩\n");

printf("\t\t 6 .按平均成绩\n");

printf("\t\t按其它数字键退出\n");

int i;

scanf("%d",&i);

return i;

}

int wenjian()

{

printf("\t\t 1. 从文件中读入数据\n");

printf("\t\t 2 .将所有记录写入文件\n"); printf("\t\t 按其它数字键退出\n");

int i;

scanf("%d",&i);

return i;

}

void main() /*主函数*/

{

int n=0;

for(;;)

{

for(;;)

{

switch(menu())

{

case 1: switch(bianji())

{

case 1:n=shuru(stu,n);xianshi(stu,n); break;

case 2:xiugai(stu ,n);xianshi(stu,n); break;

case 3:shanchu(stu ,n);xianshi(stu,n); break;

} break;

case 2:xianshi(stu,n);break;

case 3:

switch(chaxun())

{

case 1:chaxun_xingming(stu,n);break;

case 2:chaxun_pingjun(stu ,n);break;

} break;

case 4: switch(paixu())

{

case 1:paixu_xuehao(stu,n);xianshi(stu,n); break ;

case 2:paixu_chinese(stu ,n);xianshi(stu,n);break;

case 3:paixu_math(stu ,n);xianshi(stu,n); break;

case 4:paixu_english(stu ,n);xianshi(stu,n); break;

case 5:paixu_dianlu(stu ,n);xianshi(stu,n); break;

case 6:paixu_pingjun(stu ,n);xianshi(stu,n); break;

} break;

case 5:tongji(stu,n);break;

case 6:

switch(wenjian())

{

case 1:n=wenjian2(stu,n);break;

case 2:wenjian1(stu ,n);break;

} break;

case 0:

exit(0); /*结束程序*/

}

}

}

}

c语言学生成绩管理系统含源代码

C 语言程序设计作业 一设计项目:学生成绩管理系统 二总体设计: 2:模块功能说明: 1 输入功能:输入学生姓名学号及成绩。 2 查看功能:输出姓名学号及各科成绩。 3 查询功能:通过学号查询学生姓名及各科成绩。 4 统计功能:统计班级学生及格率,优秀率,各个学生成绩方差等。 5 修改功能:通过输入学号修改指定学生的错误信息。 6添加功能:添加学生信息。 7删除功能:通过输入学号输入指定学生信息。 8保存功能:将学生信息保存。 9 退出系统。 3:主要函数之间的调用关系及各自功能: 主要函数的函数原型 void inputscore(void); void savescore(void); void avergescore(void); void modifyscore(void); void lookscore(void); void searchscore(void); void statistic(void); void add(void); void modify(void);

void delscore(void); void menu(void); i.在菜单界面输入1,调用函数inputscore( )实现输入学生成绩信息功能。ii.在菜单界面2,调用函数lookscore( )实现学生成绩按平均分高低排序输。 出,同时lookscore()函数调用avergescore()函数实现各个学生平均分的计 算。 iii.在菜单界面输入3,调用searchscore()函数实现通过学号查找学生成绩信息功能。 iv.在菜单界面输入4,调用statistic()函数输出班级及格率,优秀率,学生成绩方差,不及格学生名单。 v.在菜单界面输入5,调用modify()函数实现通过学号修改学生成绩的功能vi.在菜单界面输入6,调用add()函数实现添加学生成绩。 vii.在菜单界面输入7,调用delscore()函数实现删除指定学生成绩。 viii.在菜单界面输入8,调用savescore()函数将学生成绩信息保存。 ix.在菜单界面输入9,退出成绩管理系统。

学生成绩管理系统源代码

学生成绩管理系统源代码-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

#include #include #include #include #include #include #include #include #define PRINT1 textcolor(12); cprintf("\r 请按任意键返回主菜单 \n\r");textcolor(10); getch();clrscr(); break; int shoudsave=0; struct student /* 学生信息结构体定义*/ { char num[10],name[20],cla[4]; int score1,score2,score3,total,ave; }; typedef struct node { struct student data; struct node *next; }Node,*L; void print1() { cprintf("\r============================================================= ==================="); } void print2() { cprintf("\n\r 1.输入学生成绩信息在这里你可以按照提示输入学生的班级,学号,姓名及各科成绩.\n"); cprintf("\n\r 2.注销学生成绩信息在这里你可以按照学号或姓名将某名学生的信息从本系统中删除.\n"); cprintf("\n\r 3.查询学生成绩信息在这里你可以按照学号或姓名查询某一名学生的信息.\n"); cprintf("\n\r 4.修改学生成绩信息在这里你可以按照提示修改某一名学生的学号,姓名及各科成绩."); cprintf("\n\r 5.学生成绩信息排序在这里你可以看到所有学生的各科成绩.\n"); cprintf("\n\r 6.学生成绩信息统计在这里本系统将为你显示所有科目的最高分及最低分所得学生.\n"); cprintf("\n\r 7.显示学生成绩信息在这里你可以看到系统中所有学生的信 息.\n"); cprintf("\n\r 8.保存学生成绩信息在这里你可以将学生你信息保存到内存 中.\n");

用java编写的学生成绩管理系统代码

; public class Student { private String id; private String name; private int math; private int english; private int java; private int computer; public String getId() { return id; } public void setId(String id) { = id; } public String getName() { return name; } public void setName(String name) {

= name; } public int getMath() { return math; } public void setMath(int math) { = math; } public int getEnglish() { return english; } public void setEnglish(int english) { = english; } public int getJava() { return java; } public void setJava(int java)

{ = java; } public int getComputer() { return computer; } public void setComputer(int computer) { = computer; } public static void main(String[] args) throws Exception { String id; String cid; String name; int math; int english; int java; int computer; String DBDriver = ""; String conStr = "jdbc:odbc:student"; Connection con = null; Statement stmt = null; ResultSet rs = null;

学生成绩管理系统(数据结构C语言版源代码)54843943

天天都是一个出发点,每天都有一点提高,每天都有一点收成! #include #include #include struct students{ char Sex[3]; /*字符型学生性别*/ double English; /*双精度实型英语成绩*/ double Java; /*双精度实型Java成绩*/ double Sjjg; /*双精度实数据结构*/ double Szdl; /*双精度实型数字电路*/ double Jsj; /*计算机组成原理*/ struct students *next; /*用与构建连表指向下一结点*/ }; FILE *fp; /*定义全局变量fp*/ void Revisemenu();/*修改菜单*/ void Sortmenu();/*排序菜单*/ void menu();/*主菜单*/ void secret();/*安全验证*/ struct students * Input();/*新建学生信息*/ void fprint(struct students *head);/*将信息导入文件可追加*/ void fprint_(struct students *head);/*将信息导入文件并覆盖*/ void Browse(struct students *head);/*浏览全部学生信息*/ struct students * create(struct students *head int *n);/*从tushu_list中读取数据构建链表*/ void SortEnglish(struct students * head);/*按英语成绩排序*/ void SortJava(struct students * head);/*按Java成绩排序*/ void SortSjjg(struct students * head);/*按数据结构成绩排序*/ void SortSzdl(struct students * head);/*按数字逻辑电路成绩排序*/ void SortJsj(struct students * head);/*按计算机组成原理成绩排序*/ struct students * Delete(struct students * head struct students * Revise();/*修改学生信息(按编号修改)*/ /*主菜单*/ void menu() { printf("\n\n"); printf("***************************************************\n"); printf(" 学生成绩管理系统 \n"); printf(" 1-添加新同学 2-浏览学生信息 \n"); printf(" 5-按成绩排序 6-修改学生信息 \n"); printf(" 7-删除学生信息 0-退出系统 \n"); printf("___________________________________________________\n");

学生成绩管理系统代码

C程序学生管理系统 /* Note:Your choice is C IDE */ #include"" #include"" #include"" typedef struct student示所有\t2.按姓名查找\n\t\t\t3.按学号查找\t4.返回主菜单\n"); scanf("%d",&m); fflush(stdin); switch(m) { case 1:printf("\n=>该系统拥有%d名学生!\n\n",head->; p=head->next; printf("\t姓名\t学号\t性别\t数学\t英语\tc语言\t综合\n\n"); while(p) { printf("\t%s\t%d\t%s\t%d\t%d\t%d\t%d\n",p->,p->,p->,p->, p->,p->,p->; p=p->next; } break; case 2:printf("=>请输入查找姓名!\n"); gets(N); fflush(stdin); p=head->next; while(p) { if(strcmp(p->,N)==0) { printf("\t姓名\t学号\t性别\t数学\t英语\tc语言\t 综合\n"); printf("\t%s\t%d\t%s\t%d\t%d\t%d\t%d\n",p->,p->,p->,p->, p->,p->,p->; break; } else {

p=p->next; if(p==NULL) printf("=>你要查的学生不存在!"); } } break; case 3: printf("=>请输入查找学号!\n"); scanf("%d",&m); fflush(stdin); p=head->next; while(p) { if(p->==m) { printf("\t姓名\t学号\t性别\t数学\t英语\tc语言\t 综合\n"); printf("\t%s\t%d\t%s\t%d\t%d\t%d\t%d\n",p->,p->,p->,p->, p->,p->,p->; break; } else { p=p->next; if(p==NULL) printf("=>你要查的学生不存在!\n"); } } break; case 4:n=1;break; } } return 1; } int range(unit *head)学号\t2.按成绩\n\n"); printf("=>请选择操作!\n》"); scanf("%d",&n); fflush(stdin); if(q==NULL) { printf("=>无学生可排序!\n");

c语言课程设计报告+学生成绩信息管理系统+源代码

实验报告 一、问题陈述及其需求分析 (一)问题陈述 学生信息管理系统是对学生信息的基本管理,其中包括以下及模块: (1)增加一个学生的信息(需输入要增加学生的所有信息); (2)统计本班学生总人数及男女生人数。 (3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。 (4)按学号对所有学生信息排序,并输出结果; (5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二) 功能需求分析 学生信息管理系统设计 学生信息包括:学号,姓名,性别,出生年月,电话 使之提供以下功能: 1、系统以菜单方式工作 2、建立链表并显示 3、插入新的学生信息 4、删除某学号的学生信息 5、查找某学号的学生信息 6、对学生信息排序 7、统计学生人数 8、输出学生信息 二总体设计 (一)模块 依据程序的数据结构,描述该程序的层次结构,如下图:

1、建立链表并显示 void createlist(struct stucode **r); 2、插入新的学生信息 void insert(struct stucode **r); 3、删除某学号的学生信息 void del(struct stucode **r); 4、查找某学号的学生信息 void search1(struct stucode *r); 5、对学生信息排序 void sort(struct stucode **r); 6、统计学生人数 void search2(struct stucode *r); 7、输出学生信息 void out(struct stucode *r);

学生成绩管理系统源代码

#include #include #include #include #include #include #include #include #define PRINT1 textcolor(12); cprintf("\r 请按任意键返回主菜单\n\r");textcolor(10); getch();clrscr(); break; int shoudsave=0; struct student /* 学生信息结构体定义*/ { char num[10],name[20],cla[4]; int score1,score2,score3,total,ave; }; typedef struct node { struct student data; struct node *next; }Node,*L; void print1() { cprintf("\r======================================================================= ========="); } void print2() { cprintf("\n\r 1.输入学生成绩信息在这里你可以按照提示输入学生的班级,学号,姓名及各科成绩.\n"); cprintf("\n\r 2.注销学生成绩信息在这里你可以按照学号或姓名将某名学生的信息从本系统中删除.\n"); cprintf("\n\r 3.查询学生成绩信息在这里你可以按照学号或姓名查询某一名学生的信息.\n"); cprintf("\n\r 4.修改学生成绩信息在这里你可以按照提示修改某一名学生的学号,姓名及各科成绩."); cprintf("\n\r 5.学生成绩信息排序在这里你可以看到所有学生的各科成绩.\n"); cprintf("\n\r 6.学生成绩信息统计在这里本系统将为你显示所有科目的最高分及最低分所得学生.\n"); cprintf("\n\r 7.显示学生成绩信息在这里你可以看到系统中所有学生的信息.\n"); cprintf("\n\r 8.保存学生成绩信息在这里你可以将学生你信息保存到内存中.\n"); cprintf("\n\r 9.帮助学生成绩信息在这里你可以获得帮助信息.\n");

学生成绩管理系统代码c语言编写

C 程序 学 生 管 理 系 统 /* Note:Your choice is C IDE */ #include #include #include typedef struct unit // 定义接点 { student date; struct unit * next; } unit; unit * build() // 建立链表并返回指针 { unit *p; if ((p =(unit * )malloc( sizeof (unit))) ==NULL) { printf( "=>初始化失败! "); return 0; } else { p-> next =NULL; p-> date . number=0; // 头结点存放学生人数 printf( return } } void add(unit *head)// 增加学生 "stdio.h" "stdlib.h" "string.h" typedef { char int number; char sex[2]; math; eglish; clanguge; average; struct student // 定义学生 name[10]; int int int int } student; " 初始化成功! \n" ); p;

{ unit *p,*q; int m,n=0; q=head->next; p=(unit printf( gets(p printf( while (n==0) { scanf( "%d", &m);fflush(stdin); if (q ==NULL) n=1; while (q) { if (q -> date . number==m) { printf( "=> 你输入的学号与已有同学的学号相同,请重新输入! \n" ); q =head-> next; break ; } else { q =q-> next; if (q ==NULL) n=1; } } p-> date . number=m; printf( "=> 请输入性别! \n" ); gets(p -> date . sex);fflush(stdin); printf( "=> 请输入数学成绩 \n" ); scanf( "%d", &m);fflush(stdin); p-> date . math=m; printf( "=> 请输入英语成绩 \n" ); scanf( "%d", &m);fflush(stdin); p-> date . eglish =m; printf( "=>请输入c 语言成绩\n"); scanf( "%d",&m);fflush(stdin); p->date. clanguge=m; p->date.average=(p->date.math+p->date.eglish +p->date.clanguge); q=head->next; head-> next =p; * )malloc( sizeof (unit)); "=> 请输入新生姓名! \n" ); -> date . name);fflush(stdin); "=> 请输入学号! \n" );

c大作业学生信息管理系统源代码

c大作业学生信息管理系统源代码

学生信息管理系统源代码: #include #include #include #include #include #include struct student { char num[30]; int maths; char name[30]; int chinese; char clas[30]; int english; int total; float average; student *next; }; //◆1(1) void createlist(student * & head) //学生成绩文件导入功能(用链表储存) { char t[80],num0[30],name0[30],clas0[30]; int chinese0,maths0,english0;

student *s,*p; ifstream instuf("student-score.txt",ios::in); if (!instuf) {cerr<<"file could not be open."<>num0>>name0>>clas0>>chinese0>>maths0>>english0) { s=new student; strcpy(s->num,num0);strcpy(s->name,name0);strcpy(s- >clas,clas0); s->chinese=chinese0;s->maths=maths0;s->english=english0; s->total=s->chinese+s->maths+s->english; s->average=float(s->total)/3; if (head==NULL) head=s; else p->next=s; p=s; } p->next=NULL; instuf.close();

学生成绩管理系统(含源码)

学生成绩管理系统 该系统是用C实现的控制台程序,用文件保存数据。程序遵循模块化的设计思想,尽量做到高类聚,低耦合的特性,已实现一些基本功能,读者可根据自己的需要进行功能添加或删除,只需另写有关函数即可。由于笔者水平有限,读者可自行优化。本程序紧供大家学习参考。复制代码用vc6.0或devc即可直接编译运行,该程序主要函数: void menu(); //主菜单函数用于输出主菜单界面 void introduce();//系统使用介绍函数 void input(Link);//输入函数用于输入一条记录 void del(Link);//删除记录函数 void search(Link);//查询函数 void modify(Link);//修改函数 void insert(Link);//插入函数 void tongji(Link);//统计函数 void sort(Link);//排序函数 void display(Link);//显示记录函数 void save(Link);//保存函数 运行结果: 主界面 选择显示记录功能后 选择排序后

删除记录后 //文件stuscore.h #include #include #include #define NULL 0 short saveflag=0; struct student { char num[11]; //学号 char name[15];//姓名 short chgrade;//语文成绩 short mgrade;//数学成绩 short egrade;//英语成绩 short total;//总分 float average;//平均分 int mingci;//名次 }; typedef struct node { struct student data; //数据域

学生成绩管理系统C语言(附完整源代码)

学生成绩管理系统C语言(附完整源代码)课程设计报告 学生成绩管理系统 院系: 专业: 班级: 完成日期: 2009年1月03日 设计题目:学生成绩管理系统 目录 1、题目描述 2、算法设计/设计思想 3、结构框图、各模块的功能描述 4、主体思想: 5、程序的,,,流程图 6、源代码 1.题目描述 设计一个简单的学生成绩管理系统,要求有简单的界面,程序段要分清模块,该程序应该: (1)输入学生成绩,求总分,平均分,以及排序。 (2)查询学生单科成绩,总分和平均成绩; (3)添加、修改学生成绩具有下列功能: (4)实现保存与查看功能 2.算法设计/设计思想 利用二维数组——定义stu[][]存储学生学号、各科成绩,总分,平均分,名次,利用文件来存 储,读取数据。

具体分工是: : 负责inputx(),print1(),input(); :负责文件的存储和读取,main(),System(),Idea()以及各调用函数之间的连; : 负责find1(),find2(),find3(),find31(),Find(); : 负责del(),add(),change1(),Change(); 后期调试由小组共同负责。 3. 结构框图、各模块的功能描述 3.1 创建成绩表 3.1.1 input()功能是输入学生的信息,便于以后的查询、浏览。 3.2 添加 3.2.1 add( )功能是向inputy()添加新的内容。 3.3.2 chance( )对单科成绩进行修改。 3.3 查询 3.3.1 可根据学号,科目,名次,进行查询。 3.3.2 查询内容包括:该学生的各课成绩、、平均分。 3.4 删除 3.4.1可以输入学号删除一名学生的一课成绩。。 3.5 浏览成绩单 3.5.1 通过此print1()可以查看所有学生的各课成绩、总分、平均分和名次。 3.6 文件() 3.6.1 保存以上所输入的信息以达到既是关闭窗口信息也不会丢失信息的目的。 3.6.2 随时打开,修改文件。 3.7.退出功能是退出 主菜单 退出系意见评述功能菜单统

学生成绩管理系统代码

#include #include #include #include #include struct Stu //定义结构体 { char Num[10];//学号 char Name[10];//姓名 char Sex;//性别 char Gread[10];//班级 double Chinese;//语文成绩 double Math;//数学成绩 double English;//英语成绩 double All;//总分 int mark; }student[100]={ {"10001","罗兰花花",'M',"c1",100,90,80,270,1}, {"10002","罗兰星星",'M',"c1",99,89,79,267,1}, {"10003","罗兰小天",'F',"c1",88,88,78,254,1}, {"10004","罗兰龙帝",'M',"c1",97,87,77,261,1}, {"10005","罗兰芳儿",'F',"c2",96,86,76,258,1}, {"10006","罗兰夜听",'M',"c2",95,85,75,255,1}, {"10007","罗兰唯美",'F',"c2",54,84,94,232,1}, {"10008","罗兰人才",'M',"c2",93,83,73,249,1} }; //函数声明 void face1();//启动页面1 void face2();//启动页面2 void face3();//菜单页面 void face4();//查找子菜单 void face5();//排序子菜单 void face6();//统计子菜单 void face7();//按科统计评级学生子菜单 void Menu();///////////////主菜单 void Print();//输出函数 void Add();//添加函数 void Change();//修改函数 void Delete();//删除函数 void Deleall();//清空函数 void Search();////////////查找菜单 void Search1();//查找指定姓名学号函数

学生成绩管理系统(数据结构C语言版源代码)

积少成多,争取每天进步一点。 #include #include #include struct students{ char Num[10]; /*字符型学生学号*/ char Name[20]; /*字符型学生姓名*/ char Sex[3]; /*字符型学生性别*/ double English; /*双精度实型英语成绩*/ double Java; /*双精度实型Java成绩*/ double Sjjg; /*双精度实数据结构*/ double Szdl; /*双精度实型数字电路*/ double Jsj; /*计算机组成原理*/ struct students *next; /*用与构建连表指向下一结点*/ }; FILE *fp; /*定义全局变量fp*/ void Revisemenu();/*修改菜单*/ void Sortmenu();/*排序菜单*/ void menu();/*主菜单*/ void secret();/*安全验证*/ struct students * Input();/*新建学生信息*/ void fprint(struct students *head);/*将信息导入文件可追加*/ void fprint_(struct students *head);/*将信息导入文件并覆盖*/ void Browse(struct students *head);/*浏览全部学生信息*/ struct students * create(struct students *head int *n);/*从tushu_list中读取数据构建链表*/ void FindofNum(struct students *head);/*按学号查询学生信息*/ void FindofNname(struct students *head);/*按姓名查询学生信息*/ void SortEnglish(struct students * head);/*按英语成绩排序*/ void SortJava(struct students * head);/*按Java成绩排序*/ void SortSjjg(struct students * head);/*按数据结构成绩排序*/ void SortSzdl(struct students * head);/*按数字逻辑电路成绩排序*/ void SortJsj(struct students * head);/*按计算机组成原理成绩排序*/ struct students * Delete(struct students * head char m[15]);/*按学号删除学生成绩信息*/ struct students * Revise();/*修改学生信息(按编号修改)*/ /*主菜单*/ void menu() { printf("\n\n"); printf("***************************************************\n");

C++成绩管理系统实验报告(含源代码)

学生成绩管理系统设计报告 需求分析: 用数组或链表数据结构完成一个学生成绩管理系统,此系统的具 体功能要求如下: (1)学生信息录入功能 1)用户从键盘输入每个学生的信息:学号、姓名、性别、数学、英语、政治、程序设计基础、物理五门课成绩。 2)可插入一个或多个学生信息到当前编辑的班级数据中。 3)可删除一个或多个学生信息。 (2)文件保存功能 1)学生信息每一班存为一个数据文件,数据文件可在程序中打开、编辑和重新保存。 2)用户输入学生信息可随时保存数据文件。 (3)文件打开功能 1)程序只能对当前打开的数据文件进行编辑。 (4)查询功能 1)浏览所有学生信息; 2)按学号查询学生信息; 3)按姓名查询学生信息; 4)查询一个班总成绩和平均成绩; 5)查询一个班某一门课总成绩和平均成绩; 6)查询某一门课分数段(<60,60-69,70-79,80-89,>90学生数。 (5)报表输出功能 1)按学号输出一个班学生信息:学号、姓名、性别、数学、英语、政治、程序设计基础、物理成绩和总成绩,到屏幕和文件。 2)按总成绩输出从高到低输出学号、姓名信息。 注:以上功能以菜单形式供用户使用,并有一定的容错功能。 二、概要设计 整体框架: 整个学生成绩管理系统采用链表作为基本数据结构,创建一个类student用于保存学生的数据且是链表中的一个节点。类list作为保存整个链表之用。主函数通过switch语句来根据用户的需要连接各个模块,以实现用户的需要。 模块基本介绍:

1. 用户输入模块 在此模块中,用户将根据菜单提示结合自己的需求输入一个0~11的值,来实现一定的功能。 2. 学生信息录入模块 此模块可以让用户从键盘输入每个学生的信息:学号、姓名、性别、数学、英语、政治、程序设计基础、物理五门课成绩。用户可插入一个或多个学生信息到当前编辑的班级数据中。用户可删除一个或多个学生信息。 3. 文件保存功能模块 用户在确定以录入的成绩无误之后,可以将学生信息以每一班为单位存为一 个数据文件。用户输入的学生信息可随时保存数据文件。 4. 文件打开功能模块 用户可以用此模块将数据文件在程序中打开、编辑,程序只能对当前打开的数据文件进行编辑。 5. 查询功能模块 在此模块里,用户可实现以下操作:1.浏览所有学生信息;2.按学号查询学生信息; 3.按姓名查询学生信息; 4.查询一个班每个人的总成绩和平均成绩; 5.查询一个班某一门课每个人的总成绩和平均成绩;6)进行成绩的统计分析:包括总人数,每门课的最高成绩、最低成绩、平均成绩、各个分数段的人数(100-90、89-80、79-70、69-60、59-50、50 以下)、及格人数。 6. 报表输出功能模块 在此模块中,用户可以浏览所有学生的信息,或者可以按学号输出一个班学生信 息:学号、姓名、性别、数学、英语、政治、程序设计基础、物理成绩和总成绩, 到屏幕和文件。也可以按总成绩输出从高到低输出学号、姓名信息。 模块图:

C#与SQL数据库学生成绩管理系统完整代码

C#与SQL数据库学生成绩管理系统完整代码

数据库技术及应用项目设 计报告 学生成绩管理系统 姓名:Celia Yan 2015-01-07

一.设计目的及意义 在如今的高校日常管理中,学生成绩管理系统是其中非常重要的一环,特别是当前学校规模不断扩大,学生人数日益增加,课程门类多,校区分散等实际情况,学生成绩统计功能越来越繁重,稍有疏忽就会出现差错。因此,学生成绩管理系统更具有非常大的实际应用意义。在互联网快速崛起的今天,改革传统的手工录入方式,公正,准确,及时反映学生的信息和成绩的情况,以适应信息时代的要求,是学生成绩管理系统的一个新的理念。通过成绩管理可以大大提高学校的工作效率。学生成绩管理系统应该完成以下两个方面的内容:学生档案资料的管理、学生成绩的管理。通过学生成绩管理系统可以做到信息的规范管理,科学统计和快速查询、修改、增加、删除等,减少管理方面的工作量。 二.主要功能 该系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生信息进行日常

管理,如查询、修改、增加、删除,另外还考虑到用户登录的权限,针对学生信息和权限登录的学生成绩管理系统。 本系统主要包括注册管理、教师管理、学生信息查询、添加、修改、删除等部分。其主要功能有:(1)学生信息的添加,包括输入学生基本信息和成绩。 (2)学生信息的查询,包括查询学生的基本信息和成绩。 (3)学生信息的修改,包括修改学生基本信息和成绩。 (4)学生信息的删除,包括删除学生基本信息和成绩。 (5)登录用户密码修改,用户登录到系统可进行相应的用户密码修改。 (6)管理员用户对用户名的管理,包括添加新用户、删除用户。 学生成绩管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以

学生成绩管理系统C++编程含源码(嵌套模板1)

《C++程序设计》 课程设计报告设计题目:学生成绩管理系统 专业:计算机科学与技术(网络工程) 班级: 学号: 姓名: 指导老师: 日期:

目录 一、设计任务与要求 (3) 1.设计内容 (3) 2.课程设计的要求 (3) 二、系统分析(需求分析) (3) 1.需求分析 (3) 2.系统性能要求 (3) 3.系统的功能分析 (3) 4.系统功能模块 (3) 5.模块框架图 (3) 三、系统设计与实现 (4) 1.界面设计 (4) 2.功能设计与实现 (4) 四、测试结果 (4) 五、总结 (5) 六、参考资料 (5) 附录:源程序 (5)

一、设计任务与要求 1.设计内容: a.设计四个类;学生类(描述学生基本信息);成绩类:班级类;课程类(描述课程信息:课程编号,科目名称(如高等数学,大学英语等);学生成绩及课程信息用文件保存,每个类一个文件,程序执行时从文件读入; b.能按学期,按班级完成对学生成绩的录入,修改,能按班级统计学生的成绩;求学生的总分及平均分;并能根据学生的平均成绩进行排序,能查询学生成绩,不及格科目及学生名单;能按班级输出学生的成绩单。 –设置学生的成绩信息:学生学号、姓名、所选课程名称、平时成绩、期末成绩、平时成绩所占百分比 –计算学生总评成绩:总评成绩=平时成绩*平时成绩所占百分比+期末成绩*(1-平时成绩所占百分比) –显示学生的姓名、所选课程名称以及平时成绩、期末成绩和总评成绩信息。分单人显示和以班输出(班成绩单格式输出到文件) –注意,至少一个班,30人三门课 2.课程设计的要求: 根据C++课程所学的概念、理论和方法,按照C++程序设计的基本步骤,设计出一个适当规模的程序来实现设计课程内容中的全部功能;设计主控模块程序.对给出的程序源代码要给出各部分的详细注释.自己根据能力及需要添加相应功能模块,增强模拟系统功能。包括系统的功能分析、系统的功能模块设计、程序流程图或结构框图、逻辑结构设计,数据库中的表、视图(如果使用)、索引的结构和定义、触发器、存储过程、课程设计体会。 二、系统分析(需求分析) 1.需求分析: a.能对学生各科成绩进行录入:。 b.能对学生的成绩进行增加。 c.能对学生的成绩进行删除。 d.能对学生的成绩进行修改。 e.能对学生的成绩按总成绩,姓名,进行查询。 f.能输出学生的所有数据。 g.能进行成绩统计 h能进行总分查询排名。 2.系统性能要求: a.系统安全、可靠; b.功能齐全; c.操作方便、界面友好; d易于维护和扩充。 3.系统的功能分析:

学生成绩管理系统程序源代码.doc

首先呢,先建立新的c++文件。然后拷贝这些内容到里面: #include #include typedef struct count{ /*保存记录条数结构体*/ char name[10]; int num; }count; typedef struct st{ char name[10]; long Number; int Math; int C; int Amount; }st; st record[8]; count num[1]; char filename[10]={"0"}; char filename2[10]={"0"}; int Inputnum[8]; void MainMenu(){ /*主菜单*/ printf("\n\t\t\t\t* * * * * * * * * *\n"); printf("\t\t\t\t* 主菜单*\n"); printf("\t\t\t\t* 1. 新建数据*\n"); printf("\t\t\t\t* 2. 添加数据*\n"); printf("\t\t\t\t* 3. 删除数据*\n"); printf("\t\t\t\t* 4. 排序*\n"); printf("\t\t\t\t* 5. 查询*\n"); printf("\t\t\t\t* 6. 退出*\n"); printf("\t\t\t\t* * * * * * * * * *\n"); } void DelMenu(){ /*删除菜单*/ printf("\n\t\t\t\t* * * * * * * * * * * *\n"); printf("\t\t\t\t* 删除菜单*\n"); printf("\t\t\t\t* 1. 学号查询删除*\n"); printf("\t\t\t\t* 2. 返回到上级菜单*\n"); printf("\t\t\t\t* * * * * * * * * * * *\n"); } void RankingMenu(){ /*排序菜单*/ printf("\n\t\t\t\t* * * * * * * * * * * *\n"); printf("\t\t\t\t* 排序菜单*\n"); printf("\t\t\t\t* 1. 数学成绩排序*\n"); printf("\t\t\t\t* 2. C语言成绩排序*\n");

学生成绩管理系统c语言代码

C程序学生管理系统 以下是用c语言编写的学生成绩管理系统的简单代码,可以用vc运行(供参考)#include"" #include"" #include"" typedef struct student示所有\t2.按姓名查找\n\t\t\t3.按学号查找\t4.返回主菜单\n"); scanf("%d",&m); fflush(stdin); switch(m) { case 1:printf("\n=>该系统拥有%d名学生!\n\n",head->; p=head->next; printf("\t姓名\t学号\t性别\t数学\t英语\tc语言\t综合\n\n"); while(p) { printf("\t%s\t%d\t%s\t%d\t%d\t%d\t%d\n",p->,p->,p->,p->, p->,p->,p->; p=p->next; } break; case 2:printf("=>请输入查找姓名!\n"); gets(N); fflush(stdin); p=head->next; while(p) { if(strcmp(p->,N)==0) { printf("\t姓名\t学号\t性别\t数学\t英语\tc语言\t 综合\n"); printf("\t%s\t%d\t%s\t%d\t%d\t%d\t%d\n",p->,p->,p->,p->, p->,p->,p->; break; } else {

p=p->next; if(p==NULL) printf("=>你要查的学生不存在!"); } } break; case 3: printf("=>请输入查找学号!\n"); scanf("%d",&m); fflush(stdin); p=head->next; while(p) { if(p->==m) { printf("\t姓名\t学号\t性别\t数学\t英语\tc语言\t 综合\n"); printf("\t%s\t%d\t%s\t%d\t%d\t%d\t%d\n",p->,p->,p->,p->, p->,p->,p->; break; } else { p=p->next; if(p==NULL) printf("=>你要查的学生不存在!\n"); } } break; case 4:n=1;break; } } return 1; } int range(unit *head)学号\t2.按成绩\n\n"); printf("=>请选择操作!\n》"); scanf("%d",&n); fflush(stdin); if(q==NULL) { printf("=>无学生可排序!\n");

相关文档
最新文档