1. 程式人生 > >學生登錄管理系統

學生登錄管理系統

日常

之前的課設,自己目前掌握編程知識太少,今天是以前的課設。以後會逐漸發新的IT知識

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#define STU_BASE_SIZE 32 //定義學生基本信息不得超過32個字節
#define STU_NUM 1000 //定義學生數量不得超過1000人

struct STU {
char szID[STU_BASE_SIZE]; //學號
char szName[STU_BASE_SIZE];//
char szSex[STU_BASE_SIZE];

int szChinese;
int szMath;
int szEnglish;
};

struct STU g_stuNode[STU_NUM];
int g_iNum =0;

void mima()
{int i,j;
char a[6];
printf("請輸入密碼");
for(i=0;i<3;i++)
{
for(j=0;j<6;j++)
{a[j]=getch();
printf("*");
}
if(strcmp(a,"123456")!=0)
printf("密碼錯誤");
else
{
printf("登陸成功");

break;
}
}
}

void Add()
{printf("請輸入學號");
scanf("%s",g_stuNode[g_iNum+1].szID);
printf("請輸入姓名");
scanf("%s",g_stuNode[g_iNum+1].szName);
printf("請輸入性別");
scanf("%s",g_stuNode[g_iNum+1].szSex);
printf("請輸入數學成績");
scanf("%d",&g_stuNode[g_iNum+1].szMath);

printf("請輸入語文成績");
scanf("%d",&g_stuNode[g_iNum+1].szChinese);
printf("請輸入英語成績");
scanf("%d",&g_stuNode[g_iNum+1].szEnglish);
g_iNum++;
printf("添加學生信息成功\n");
system("pause");
}//添加學生信息

void youlan()
{struct STU temp;
int i,j,k;
printf("學生信息如下:");
for(i=1;i<g_iNum-1;i++)
{k=i;
for(j=i+1;j<g_iNum;j++)
if(g_stuNode[j].szID<g_stuNode[k].szID)
{
k=j;
temp=g_stuNode[k];
g_stuNode[k]=g_stuNode[i];
g_stuNode[i]=temp;}
}
for(i=1;i<g_iNum+1;i++)
{printf("學號:%s\n",g_stuNode[i].szID);
printf("姓名:%s\n",g_stuNode[i].szName);
printf("性別:%s\n",g_stuNode[i].szSex);
printf("數學:%d\n",g_stuNode[i].szMath);
printf("語文:%d\n",g_stuNode[i].szChinese);
printf("英語:%d",g_stuNode[i].szEnglish);
printf("\n");
}
system("pause");
}

void paixu()
{struct STU temp;
int i,j,k;
printf("學生信息如下:");
for(i=1;i<g_iNum;i++)
{k=i;
for(j=i+1;j<g_iNum+1;j++)
if(strcmp(g_stuNode[j].szID,g_stuNode[k].szID)<0)
{
k=j;
temp=g_stuNode[k];
g_stuNode[k]=g_stuNode[i];
g_stuNode[i]=temp;}
}
for(i=1;i<g_iNum+1;i++)
{printf("學號:%s\n",g_stuNode[i].szID);
printf("姓名:%s\n",g_stuNode[i].szName);
printf("性別:%s\n",g_stuNode[i].szSex);
printf("數學:%d\n",g_stuNode[i].szMath);
printf("語文:%d\n",g_stuNode[i].szChinese);
printf("英語:%d",g_stuNode[i].szEnglish);
printf("\n");
}
system("pause");
}

void Look()
{int m,i;
char b[32];
char a[32];
printf("學號輸入:1,姓名輸入:2");
printf("\n");
scanf("%d",&m);
if(m==1)
{printf("請輸入所要查詢學生學號:");
scanf("%s",a);
for(i=1;i<g_iNum;i++)
if(a==g_stuNode[i].szID)
printf("學號:%s\n",g_stuNode[i].szID);
printf("姓名:%s\n",g_stuNode[i].szName);
printf("性別:%s\n",g_stuNode[i].szSex);
printf("數學:%d\n",g_stuNode[i].szMath);
printf("語文:%d\n",g_stuNode[i].szChinese);
printf("英語:%d",g_stuNode[i].szEnglish);
printf("\n");
}
else if(m==2)
{printf("請輸入所要查詢學生姓名:");
scanf("%s",b);
for(i=1;i<g_iNum;i++)
if(b==g_stuNode[i].szName)
{printf("學號:%s\n",g_stuNode[i].szID);
printf("姓名:%s\n",g_stuNode[i].szName);
printf("性別:%s\n",g_stuNode[i].szSex);
printf("數學:%d\n",g_stuNode[i].szMath);
printf("語文:%d\n",g_stuNode[i].szChinese);
printf("英語:%d",g_stuNode[i].szEnglish);
printf("\n");}
}
system("pause");
}

void Del()
{ int i=0,k=-1;
char j[32];
printf("學號 姓名 性別 數學 語文 英語\n");
for(i=0; i<g_iNum+1;i++)
{
printf("%s ", g_stuNode[i+1].szID);
printf("%s ", g_stuNode[i+1].szName);
printf("%s ", g_stuNode[i+1].szSex);
printf("%d ", g_stuNode[i+1].szMath);
printf("%d ", g_stuNode[i+1].szChinese);
printf("%d \n", g_stuNode[i+1].szEnglish);
}
printf("請輸入要刪除的人員學號:");
scanf("%s",j);
for(i=1;i<=g_iNum+1;i++)
{if(strcmp(j,g_stuNode[i].szID)==0)
{k=i;
}
}
if(k!=-1)
{if(k==g_iNum )
g_iNum--;
else
{
for(i=k;i<=g_iNum+1;i++)
{
g_stuNode[i]=g_stuNode[i+1];
}
g_iNum--;
}
printf("刪除學生信息成功\n");
system("pause");
}
}

void Mod()
{
int i=0;
int x;
printf("學號 姓名 性別 數學 語文 英語\n");
for(i=0;i<g_iNum+1;i++)
{
printf("%s ", g_stuNode[i+1].szID);
printf("%s ", g_stuNode[i+1].szName);
printf("%s ", g_stuNode[i+1].szSex);
printf("%d ", g_stuNode[i+1].szMath);
printf("%d ", g_stuNode[i+1].szChinese);
printf("%d \n", g_stuNode[i+1].szEnglish);
}
printf("請輸入要修改的人員序數:");
scanf("%d",&x);
printf("請輸入姓名:");
scanf("%s",g_stuNode[x].szName);
printf("請輸入性別:");
scanf("%s",g_stuNode[x].szSex);
printf("請輸入數學成績:");
scanf("%d",&g_stuNode[x].szMath);
printf("請輸入語文成績:");
scanf("%d",&g_stuNode[x].szChinese);
printf("請輸入英語成績:");
scanf("%d",&g_stuNode[x].szEnglish);
printf("修改學生信息成功\n");
system("pause");
}

void tongji()
{
int all[g_iNum-1],i,j,k1,k2,k3,x1,x2,x3,t,a1,b1,c1,a2,b2,c2,a3,b3,c3;
a1=b1=c1=a2=b2=c2=a3=b3=c3=0;
float av1=0,av2=0,av3=0;
for(i=1;i<=g_iNum;i++)
{
all[i]=g_stuNode[i].szMath+g_stuNode[i].szChinese+g_stuNode[i].szEnglish;
av1=av1+g_stuNode[i].szMath;
av2=av2+g_stuNode[i].szChinese;
av3=av3+g_stuNode[i].szEnglish;
}
av1=av1/g_iNum;
av2=av2/g_iNum;
av3=av3/g_iNum;
k1=g_stuNode[1].szMath;
k2=g_stuNode[1].szChinese;
k3=g_stuNode[1].szEnglish;
for(i=1;i<=g_iNum;i++)
{
if(k1<g_stuNode[i].szMath)
k1=g_stuNode[i].szMath;
if(k2<g_stuNode[i].szChinese)
k2=g_stuNode[i].szChinese;
if(k3<g_stuNode[i].szEnglish)
k3=g_stuNode[i].szEnglish;
}
for(i=1;i<=g_iNum;i++)
{
if(x1>g_stuNode[i].szMath)
x1=g_stuNode[i].szMath;
if(x2>g_stuNode[i].szChinese)
x2=g_stuNode[i].szChinese;
if(x3>g_stuNode[i].szEnglish)
x3=g_stuNode[i].szEnglish;
}
for(i=1;i<=g_iNum;i++)
{
if(g_stuNode[i].szMath>=80&&g_stuNode[i].szMath<=100)
a1=a1+1;
else if(g_stuNode[i].szMath>=60&&g_stuNode[i].szMath<80)
b1=b1+1;
else
c1=c1+1;
}
for(i=1;i<=g_iNum;i++)
{
if(g_stuNode[i].szChinese>=80&&g_stuNode[i].szChinese<=100)
a2=a2+1;
else if(g_stuNode[i].szChinese>=60&&g_stuNode[i].szChinese<80)
b2=b2+1;
else
c2=c2+1;
}
for(i=1;i<=g_iNum;i++)
{
if(g_stuNode[i].szEnglish>=80&&g_stuNode[i].szEnglish<=100)
a3=a3+1;
else if(g_stuNode[i].szEnglish>=60&&g_stuNode[i].szEnglish<80)
b3=b3+1;
else
c3=c3+1;
}
printf("每個同學的總分為:\n");
for(i=1;i<=g_iNum;i++)
printf("%d ",all[i]);
printf("\n各科平均分為:");
printf("數學:%f 語文:%f 英語:%f\n",av1,av2,av3);
printf("數學最高分為:%d 最低分為:%d\n",k1,x1);
printf("語文最高分為:%d 最低分為:%d\n",k2,x2);
printf("英語最高分為:%d 最低分為:%d\n",k3,x3);
printf("100~80分為A段,79~60為B段,60一下為C段。\n");
printf("數學A段有%d人,B段有%d人,C段有%d人。\n",a1,b1,c1);
printf("語文A段有%d人,B段有%d人,C段有%d人。\n",a2,b2,c2);
printf("英語A段有%d人,B段有%d人,C段有%d人。\n",a3,b3,c3);

system("pause");
}

int Menu()
{
{
int ch=0;
system("cls");
printf("\n");
printf("
\n");
printf("
學生管理系統 \n");
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(" 7. 統計學生記錄 \n");
printf(" 0. 退出系統 \n");
printf(" \n");
printf("***\n");
printf("請選擇:");
scanf("%d", &ch);
return ch;
}
system("pause");
getch();
exit(0);
}
int main()
{
int ch=1;
mima();
while(ch)
{
ch=Menu();
switch(ch)
{
case 1:
Add();
break;
case 2:
youlan();
break;
case 3:
paixu();
break;
case 4:
Look();
break;
case 5:
Del();
break;
case 6:
Mod();
break;
case 7:
tongji();
break;
case 0:
break;
default:
printf("輸入錯誤,");
system("pause");
break;
}
}
return 0;
}

學生登錄管理系統