急!急!急! 求一个简单的学生成绩管理系统

主要就是可以连接数据库。包括一般的姓名性别年龄科目成绩 就可以。最好是c语言或者java语言编写的。越简单越好。 可以带上添加 修改和删除等功能就可以。

第1个回答  推荐于2016-06-06
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
typedef struct{
int num;
char name[20];
float score;
}DATA;
struct s{
DATA date;
struct s*next;
};
typedef struct s STU;
STU*input()
{
STU*p1,*h=NULL,*p2;
int n,i;
system("cls");
printf("\n请输入学生人数(1-80):");
scanf("%d",&n);
printf("\n请输入学生信息:");
for(i=1;i<=n,i++);
{
p1=(STU*)malloc(sizeof(STU));
printf("n%d:",i);
scanf("%d%s%f",&p1->date.num,p1->date.name,&p1->date.score);
if(i==1) h=p1;
else p2->next=p1;
p2=p1;
}
p2->next=NULL;
printf("按回车键返回:");
getch();
return h;
}
STU*del(STU*h)
{
intf i,j,k=0;
STU*p1,*p2;
int num;
system("cls");
if(h==NULL) return h;
printf("\n请输入要删除的学号:");
scanf("%d",&num);
for(p1=h;p1!=NULL;p1=p1->next)
if(num==p1->date.num)
break;
else
p2=p1;
if(p1)
{
if(p1==h)
h=p1->next;
else
p2->next=p1->next;
printf("删除成功\n");
free(p1);
}
else
printf("找不到要删除的成绩!\n");
printf("按回车键返回:");
getch();
return h;
}
void find(STU*h)
{
int k=0;
int num;
STU*p;
system("cls");
if(h==NULL) return;
printf("\n请输入要查询的学号");
scanf("%d",&num);
for(p=h;p;p=p->next)
if(num==p->date.num)
{
printf("已找到");
printf("%d\t%s\t%.1f\n",p->date.num,p->date.name,p->date.score);
break;
}
if(p==NULL)
printf("找不到!\n");
printf("按回车键返回:");
getch();
}
STU*sort(STU*h)
{
DATA t;
STU*p1,*p2;
for(p1=h;p1->next;p1=p1->next)
for(p2=p1->next;p2;p2=p2->next)
if((p1->date.score)<(p2->date.score))
{
t=p1->date;
p1->date=p2->date;
p2->date=t;
}
printf("\n输出排序结果:\n");
for(p1=h;p1;p1=p1->next)
printf("%d\t%s\t%.1f\n",
p1->date.num,p1->date.name,p1->date.score);
printf("\n");
printf("按回车键返回:");
getch();
return h;
}
void display(STU*h)
{
STU*p;
for(p=h;p;p=p->next)
printf("%d\t%s\t%.1f\n",p->date.num,p->date.name,p->date.score);
printf("\n");
printf("按回车键返回:");
getch();
}
void menu()
{
system("cls");
printf("\n\n\n\t\t\t 欢迎使用学生成绩管理系统\n\n\n");
printf("\t\t\t******************************\n");
printf("\t\t\t* 主菜单 *\n");
printf("\t\t\t******************************\n\n\n");
printf("\t\t 1 成绩输入 2 成绩删除\n\n");
printf("\t\t 3 成绩查询 4 成绩排序\n\n");
printf("\t\t 5 显示成绩 6 退出系统\n\n");
printf("\t\t 请选择[1/2/3/4/5/6]:");
}
void main()
{
int j;
STU*h;
while(1)
{
menu();
scanf("%d",&j);
switch(j)
{
case 1: h=input();break;
case 2: h=del(h);break;
case 3: find(h);break;
case 4: h=sort(h);break;
case 5: display(h);break;
case 6: exit(0);
}
}
}
2015/9/9 19:23:10
笑着流泪 2015/9/9 19:23:10本回答被提问者采纳

相关了解……

你可能感兴趣的内容

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