c語言實現學生管理系統
阿新 • • 發佈:2018-12-08
{{
int i,j,o;
char a[20];
system("cls");
printf("修改學生的學號:");
scanf("%s",&a); //通過輸入需要修改資訊的學號找到他
printf("\n");
for(i=0;i<n;i++)
{
if(strcmp(a,s[i].num)==0)
{
printf("學號:%s\n",s[i].num);
printf("姓名:%s\n" ,s[i].name);
printf("班級:%s\n",s[i].Class);
printf("專業:%s\n",s[i].mayor);
printf("年齡:%d\n",s[i].age);
printf("成績:%d\n\n",s[i].score);
o=i;
}
}
printf("1.修改學號\n2.修改姓名\n3.修改專業\n4.修改年級\n5.修改性別\n6.修改出生日期\n請選擇:");
scanf("%d",&j ); //選擇修改的資訊
switch(j) //選擇結構!
{
case 1:
printf("學號修改為:");
scanf("%s",s[o].num);
break;
case 2:
printf("姓名修改為:");
scanf("%s",s[o].name);
break;
case 3:
printf("專業修改為:");
scanf("%s",&s[o].mayor);
break;
case 4:
printf("班級修改為:");
scanf("%d",&s[o].Class);
break;
case 5:
printf("成績修改為:");
scanf("%s",&s[o].score);
break;
case 6:
printf("年齡修改為:");
scanf("%d",s[o].age);
break;
}
printf("\n修改成功!\n\n");
system("pause");
system("cls");
}
}
void sort() //排序(成績)
{
struct student tmp;
int i,j;
printf("共排序%d組資料\n\n",n);
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++) //for雙迴圈對每一個值進行冒泡比較
{
if(s[i].score>s[j].score) //前面的值如果大於後面的紙就進行氣泡排序
{
tmp=s[i]; //交換內容
s[i]=s[j]; //交換內容
s[j]=tmp; //交換內容
}
}
}
printf("已按照成績排序!\n");
system("pause");
system("cls");
}
void save()
{
int i;
FILE *fp;
fp=fopen("c.txt","wb");
for(i=0;i<n;i++)
if(fwrite(&s[i],sizeof(s),1,fp)!=1)
printf("Error");
fclose(fp);
printf("\n\n已存入檔案中!!!\n");
system("pause");
system("cls");
}
void read()
{
int i;
FILE *fp;
fp=fopen("C:\\安之若素\\Administrator\\Desktop\\學生資訊管理系統3個版本\\學生資訊管理系統順序版本4.0\\c.txt","rb");
for(i=0;i<9;i++)
fread(&s[i],sizeof(s),1,fp);
fclose(fp);
printf("\n\n已經讀取檔案!!!\n");
system("pause");
system("cls");
}
void find1()
{
int i;
char a[20];
system("cls");
printf("您選擇按姓名查詢:\n");
scanf("%s",&a);
for(i=0;i<n;i++)
{
if(strcmp(a,s[i].name)==0)
{
printf("\n\n\n%s\t",s[i].name);
printf("%s\t\t",s[i].num);
printf("%s\t",s[i].Class);
printf("%d\t",s[i].age);
printf("%d\t",s[i].score);
printf("%s",s[i].mayor);
printf("\n");
}
}
system("pause");
system("cls");
}
void find2()
{
int i;
char a[20];
system("cls");
printf("您選擇按學號查詢:\n");
scanf("%s",&a);
for(i=0;i<n;i++)
{
if(strcmp(a,s[i].num)==0)
{
printf("%s\t",s[i].name);
printf("%s\t\t",s[i].num);
printf("%s\t",s[i].Class);
printf("%d\t",s[i].age);
printf("%d\t",s[i].score);
printf("%s",s[i].mayor);
printf("\n");
}
}
system("pause");
system("cls");
}
void main() //主函式
{
int a=1;
while(1)
{
if(a>=0&&a<=9)
{
system("cls");
printf(" \n\n \n\n");
printf(" ******************************************************\n\n");
printf(" * 學生資訊管理系統 *\n \n");
printf(" ******************************************************\n\n");
printf("*********************系統功能選單************************* \n");
printf(" ---------------------- ---------------------- \n");
printf(" ********************************************* \n");
printf(" * 0.增加學生資訊 * * 1.顯示全部資訊 * \n");
printf(" ********************************************* \n");
printf(" * 2.查詢全部資訊 * * 3.刪除學生資訊 * \n");
printf(" ********************************************* \n");
printf(" * 4.修改學生資訊 * * 5.按成績排序 * \n");
printf(" ********************************************* \n");
printf(" * 6.儲存學生資訊 * * 7.讀取學生資訊 * \n");
printf(" ********************** ********************** \n");
printf(" * 8.退出系統 * \n");
printf(" ********************** \n");
printf(" ---------------------- ---------------------- \n");
printf("請選擇:");
scanf("%d",&a);
switch(a)
{
case 1:
add();
break;
case 2:
print();
break;
case 3:
find();
break;
case 4:
Delete();
break;
case 5:
amend();
break;
case 6:
sort();
break;
case 7:
save();
break;
case 8:
read();
break;
case 0:
exit(0);
break;
}
}
else
{
printf(" 您輸入的不符合要求,請輸入符合要求的數字返回主選單!");
scanf("%d",&a);
}
}
}