ASP的基于网页作简单的学生成绩查询系统

 我来答
路乙人
2011-06-26 · 超过20用户采纳过TA的回答
知道答主
回答量:76
采纳率:0%
帮助的人:42.4万
展开全部
#include<stdio.h>

#include<string.h>
#include<stdlib.h>
#define MAX 1000 //文件记录最大值
int p=0; //文件中的记录数
struct student //定义学生记录的结构
{
char num[8]; // 学号
char name[8]; //姓名
float chinese; //语文成绩
float english; //英语成绩
float math; //数学成绩
float total; //个人总分
float avr; //个人平均分
}stu[MAX];
void read_file()
{
FILE *file1; //文件指针
file1=fopen("stuinform.txt","at+"); //文件存在打开文件不存在建立文件
if(file1==NULL) //文件如果打开失败则输出"Cannot open file1!"
printf("Cannot open file1!");
p=0;
while(1)
{
if(feof(file1)) //检测文件是否结束
break;
fread(&stu[p],sizeof(struct student),1,file1);
p++;
}
p--;
fclose(file1); //关闭文件
}
void write_file()
{
FILE *file1; //文件指针
int i;
file1=fopen("stuinform.txt","w+"); //文件存在打开文件不存在建立文件
if(file1==NULL) //文件如果打开失败则输出"Cannot open file1!"
printf("Cannot open file1!");
for(i=0;i<p;i++)
fwrite(&stu[i],sizeof(struct student),1,file1);
fclose(file1);
}
void menu()//系统主界面 OK
{
printf("\n\n\t ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^");
printf("\n\n\t * * * * * * 欢迎使用学生成绩管理系统 * * * * *");
printf("\n\n\t * * * * * * * 设计者:xxx * * * * * * * * * * ");
printf("\n\n\t  ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ^-^ ");
printf("\n\n\t\t | 1.学 生 成 绩 录 入 |");
printf("\n\n\t\t | 2.学 生 成 绩 输 出 |");
printf("\n\n\t\t | 3.按总分对学生成绩做排序 |");
printf("\n\n\t\t | 4.按学号查找学生成绩信息 |");
printf("\n\n\t\t | 5.按姓名修改学生成绩信息 |");
printf("\n\n\t\t | 6.按学号删除学生成绩信息 |");
printf("\n\n\t\t | 7.退 出 系 统 |");
printf("\n\n\t -----------------------------------------------------");
printf("\n\n\t ************请您选择操作选项(1-7)************** ");
printf("\n");
}

void main()//主函数
{
int item;
void input();
void output();
void sort();
void search();
void change();
void del();
void exit();
read_file();
do
{
menu();
while(1)
{
scanf("%d",&item);
if(item>=1&&item<=7)
break;
else
printf("\t选项输入错误,请重新输入\n");
}
switch(item)
{
case 1:input();break;
case 2:output();break;
case 3:sort();break;
case 4:search();break;
case 5:change();break;
case 6:del();break;
case 7:exit(); break;
}
write_file();
}while(item<7);
}

void input() //输入子函数
{
int flag=1,i,j=0;
char c;
system("cls");
printf("\n\n\n\n\t ==========欢迎进入学生成绩录入系统============\n\n");
do
{
loop: printf("\t\t请输入学生信息:\n\n\n");
printf("\t\t请输入学生学号:");
scanf("%s",stu[p].num);
for(i=0;i<p;i++)
{
if((strcmp(stu[i].num,stu[p].num))==0)
{
system("cls");
printf("此学号已存在,请重新输入!\n");
goto loop;
}
}
printf("\t\t请输入姓名:");
scanf("%s",stu[p].name);
stu[p].total=0;
printf("\t\t请输入同学语文成绩:");
scanf("%f",&stu[p].chinese);
printf("\t\t请输入同学英语成绩:");
scanf("%f",&stu[p].english);
printf("\t\t请输入同学数学成绩:");
scanf("%f",&stu[p].math);
stu[p].total=stu[p].chinese+stu[p].english+stu[p].math;
stu[p].avr=stu[p].total/3.0;
//i++;
p++;
getchar();
printf("\n\t是否继续输入学生成绩(Y/N)?");
while(1)
{
c=getchar();
if(c=='Y'||c=='y') flag=1;
if(c=='N'||c=='n') flag=0;
if(c=='N'||c=='n'||c=='Y'||c=='y')
break;
}
system("cls");
}while(flag==1);
}
void output() //输出子函数
{
int i,j;
system("cls");
printf("\n\n\t********************学生成绩信息表*************************\n");
printf("\n\t学号 姓 名 语 文 外 语 数 学 总 分 平均分\n");
for(i=0;i<p;i++)
{
printf("\t%-8s%-10s",stu[i].num,stu[i].name);
printf("%-9.2f%-9.2f%-9.2f",stu[i].chinese,stu[i].english,stu[i].math);
printf("%-9.2f",stu[i].total);
printf("%-9.2f\n",stu[i].avr);
}
printf("\n\t--------------------------------------------------------------\n");
printf("\n\t********************按任意键返回主界面*************************\n");
getchar();
getchar();
}
void sort() //排序子函数
{
int i,j;
struct student temp;
system("cls");
for(i=0;i<p-1;i++) //排序
for(j=i+1;j<p;j++)
if(stu[i].total<stu[j].total)
{
temp=stu[i];
stu[i]=stu[j];
stu[j]=temp;
}
printf("\n\n\n\t\t************排序后的学生成绩信息如下:*************\n\n\n");
printf("\n\t学号 姓 名 语 文 数 学 外 语 总 分 平均分\n\n");
for(i=0;i<p;i++)
{
printf("\n\t%-8s%-10s",stu[i].num,stu[i].name);
for(j=0;j<3;j++)
printf("%-9.2f",stu[i].chinese,stu[i].english,stu[i].math);
printf("%-9.2f",stu[i].total);
printf("%-9.2f\n",stu[i].avr);
}
printf("\n\n\n\n\n\t\t****************按任意键返回主界面*****************\n\n");
getchar();
getchar();
}
void search() //查询子函数
{
int i,j,flag=1,ifsearch=0;
char num[8],c;
while(flag==1)
{
system("cls");
printf("\n\n\n\t请输入要查找的学生学号:");
scanf("%s",num);
for(i=0;i<p;i++)
if(strcmp(num,stu[i].num)==0) //进行学号比较
{
ifsearch=1;
printf("\n\t学号 姓 名 语 文 数 学 外 语 总 分 平均分\n\n");
printf("\n\t%-8s%-10s",stu[i].num,stu[i].name);
for(j=0;j<3;j++)
printf("%-9.2f",stu[i].chinese,stu[i].english,stu[i].math);
printf("%-9.2f",stu[i].total);
printf("%-9.2f\n",stu[i].avr);
}
if(ifsearch==0)
printf("\n\n\t对不起,没有这个学生的成绩信息");
printf("\n\n\n\t 是否继续查找??(Y/N)?");
getchar();
while(1)
{
c=getchar();
if(c=='Y'||c=='y') {flag=1;ifsearch=0;}
if(c=='N'||c=='n') flag=0;
if(c=='N'||c=='n'||c=='Y'||c=='y')
break;
}
}
}
void change() //修改子函数
{
int i,j,flag=1,ifsearch=0;
char name[8],c;
while(flag==1)
{
system("cls");
printf("\n\n\n\n\t请输入要修改的学生姓名:");
scanf("%s",name);
for(i=0;i<p;i++)
{
if(strcmp(name,stu[i].name)==0)
{
system("cls");
ifsearch=1;
printf("\n\n\n\n\n\t要修改学生的课程成绩为\n\n");
printf("\n\t学号 姓 名 语 文 数 学 外 语 总 分 平均分\n\n");
printf("\n\t%-8s%-10s",stu[i].num,stu[i].name);
for(j=0;j<3;j++)
printf("%-9.2f",stu[i].chinese,stu[i].english,stu[i].math);
printf("%-9.2f",stu[i].total);
printf("%-9.2f\n",stu[i].avr);
printf("\n\n\t确定修改该学生信息(y/n)?\n\n");
c=getchar();
while(1)
{
c=getchar();
if(c=='Y'||c=='y') flag=1;
if(c=='N'||c=='n') flag=0;
if(c=='N'||c=='n'||c=='Y'||c=='y')
break;
}
if(flag==1)
{
printf("\t请输入要修改学生的成绩:\n\n");
stu[i].total=0;
printf("\t请输入同学语文成绩:");
scanf("%f",&stu[i].chinese);
printf("\t请输入同学英语成绩:");
scanf("%f",&stu[i].english);
printf("\t请输入同学数学成绩:");
scanf("%f",&stu[i].math);
stu[i].total=stu[i].chinese+stu[i].english+stu[i].math;
}
stu[i].avr=stu[i].total/3;
}
}
if(ifsearch==0)
printf("\n\n\n\t对不起,没有这个学生的成绩信息\n\n\n");
printf("\n\t是否继续修改(Y/N)?");
getchar();
while(1)
{
c=getchar();
if(c=='Y'||c=='y') {flag=1;ifsearch=0;}
if(c=='N'||c=='n') flag=0;
if(c=='N'||c=='n'||c=='Y'||c=='y')
break;
}
}
}

void del() //删除子函数OK
{
int i,j,flag=1,member=0,ifsearch=0;
char num[8],c;
while(flag==1)
{
system("cls");
printf("\n\n\n\n\t请输入要删除的学生学号:");
scanf("%s",num);
for(i=0;i<p;i++)
{
if(strcmp(num,stu[i].num)==0)
{
system("cls");
ifsearch=1;
printf("\n\n\n\n\n\t要删除的学生信息\n\n");
printf("\n\t学号 姓 名 语 文 数 学 外 语 总 分 平均分\n\n");
printf("\n\t%-8s%-10s",stu[i].num,stu[i].name);
for(j=0;j<3;j++)
printf("%-9.2f",stu[i].chinese,stu[i].english,stu[i].math);
printf("%-9.2f",stu[i].total);
printf("%-9.2f\n",stu[i].avr);
printf("\n\n\t确定删除该学生信息(y/n)?\n\n");
c=getchar();
while(1)
{
c=getchar();
if(c=='Y'||c=='y') flag=1;
if(c=='N'||c=='n') flag=0;
if(c=='N'||c=='n'||c=='Y'||c=='y')
break;
}
if(flag==1)
{
for(j=i;j<p-1;j++)
stu[j]=stu[j+1];
member++;
}
}
}
if(ifsearch==0) printf("\n\n\n\t对不起,没有这个学生的成绩信息\n\n");
printf("\n\t是否继续删除操作(Y/N)?\n\n");
getchar();
while(1)
{
c=getchar();
if(c=='Y'||c=='y') {flag=1;ifsearch=0;}
if(c=='N'||c=='n') flag=0;
if(c=='N'||c=='n'||c=='Y'||c=='y')
break;
}
}
p=p-member;
}
void exit()//系统退出界面OK
{
system("cls");
printf("\n\n\n\t |=================================================|");
printf("\n\n\t |========^-^ 谢谢使用学生成绩管理系统!^-^========|");
printf("\n\n\t | |");
printf("\n\t |===========^-^ 设计者:第十小组 ^-^===============|");
printf("\n\n\t |===================^-^ 再见^-^====================|");
printf("\n\n\n\t | * * * * * * * * * 按任意键退出 * * * * * * * * *|");

这是我们实训做的一个学生成绩管理系统,里面包含了输入,输出,查询,排序,删除等功能,学生成绩查询系统你只需要看“查询子函数”就行了,希望对你有帮助!
easysoft_ln
2011-06-27 · TA获得超过1208个赞
知道大有可为答主
回答量:1.3万
采纳率:41%
帮助的人:4700万
展开全部
可以凭借Baiduhi通知我你的题目
有空能完成你无法解决的题目
如果你有相近的要求也能告诉我

ES:\\FC1E6E707368FDFB644C438955FF30AD
交易提醒:预付定金有风险
交易提醒:勿轻信用户名中的联系方式
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
情思心
2011-06-27
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
请问初三高考成绩?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
舞墨阁
2011-06-27 · TA获得超过1763个赞
知道大有可为答主
回答量:1.4万
采纳率:62%
帮助的人:4678万
展开全部
我有ASP的基于网页作简单的学生成绩查询系统
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户26114
2011-06-27 · TA获得超过131个赞
知道答主
回答量:469
采纳率:0%
帮助的人:295万
展开全部
我在25175上面看到有,ASP+access的,你可以去看看,当参考资料。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式