#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#define N 20
void displaymenu()
{
printf(" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
printf(" + +\n");
printf(" + 学生成绩管理系统 +\n");
printf(" + 1.录入 +\n");
printf(" + 2.输出 +\n");
printf(" + 3.查询 +\n");
printf(" + 4.排序 +\n");
printf(" + 5.统计 +\n");
printf(" + 6.结束 +\n");
printf(" + +\n");
printf(" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
}
int login()
{
char password[8];
static char key[8]="abcd1234";
int count = 0;
int s = 0;
do
{
count++;
printf("请输入口令:");
gets(password);
if(strcmp(password,key)==0)
s = 1;
else
s = 0;
}
while(s==0 && count<3);
return s;
}
int inputscore(int score[],int length)
{
int i=0;
int tmp;
printf("请输入学生的成绩(以-1结束输入):\n");
do
{
printf("请输入第%d个学生:",i+1);
scanf("%d",&tmp);
if(tmp>=0&&tmp<=100)
{
score[i]=tmp;
i++;
}
}
while(tmp!=-1 && i<length);
return i;
}
void outputscore(int score[],int length)
{
int i=0;
printf("学生成绩如下:\n");
for(i=0;i<length;i++)
printf("%d%-3d\n",i+1,score[i]);
printf("\n");
}
int queryscore(int score[],int length,int xscore)
{
int i;
for(i=0;i<length;i++)
{
if(xscore==score[i])
{
return i;
}
}
return -1;
}
void sortscore(int score[],int length)
{
int i,j,t;
printf("成绩排序如下:\n");
for(i = 0;i < length - 1;i++)
{
for(j = 0;j < length - i - 1;j++)
if(score[j]>score[j+1])
{
t = score[ j ];
score[ j ]=score[j+1];
score[j+1]=t;
}
}
}
main()
{
int choice = 0;
int s=0,datalen=0,x,find;
int score[N];
if(login() == 0)
{
printf("口令错误,不允许进入本系统!\n");
exit(0);
}
while(1)
{
displaymenu();
printf("\n请选择你的操作(1,2,3,4,5):\n");
scanf("%d",&choice);
switch(choice)
{
case 1:
datalen=inputscore(score,N);
break;
case 2:
outputscore(score,datalen);
break;
case 3:
printf("\n请输入要查找的成绩:");
scanf("%d",&x);
find=queryscore(score,datalen,x);
if(find>=0)
printf("要查找在数组中的下标为:%d\n",find);
else
printf("没有要查找的成绩:\n");
break;
case 4:
sortscore(score,datalen);
outputscore(score,datalen);
break;
case 5:
averScore(score,datalen);
break;
case 6:
exit(0);
break;
}
}
}
|