久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
學生信息管理系統C語言程序設計
[打印本頁]
作者:
LRC666
時間:
2018-4-27 18:40
標題:
學生信息管理系統C語言程序設計
學生信息管理系統論文
c語言源程序如下:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
struct student
{
int num;
char name[20];
float score1;
float score2;
float score3;
float average;
};
struct student stu[50];
struct student avg;
int count=0,passwd=1;
int k=0;
void input();
void display();
void sort();
void sort_name();
void sort_score1();
void sort_score2();
void sort_score3();
void sort_average();
void query();
void query_num();
void query_name();
void update();
void update_num();
void update_name();
void re();
void re_num();
void re_name();
void renew();
void renew_num();
void renew_name();
void pa();
void list();
void main()
{
int p;
system("cls");
printf("\n\n\n\n\n\n\n\t\t\t請輸入1啟動: ");
scanf("%d",&p);
if (p==passwd)
list();
else
{
printf("\n\n\n\n輸入錯誤!任意鍵重新輸入!");
getch();
main();
}
}
void list()
{
int a;
system("cls");
printf("----------------學生成績管理系統----------------\n\n\n");
printf("1.錄入\n2.顯示\n3.排序\n4.查詢\n5.修改\n6.刪除\n7.恢復\n8.退出\n\n");
printf("請選擇: ");
scanf("%d",&a);
switch(a)
{
case 1:
input();
break;
case 2:
display();
break;
case 3:
sort();
break;
case 4:
query();
break;
case 5:
update();
break;
case 6:
re();
break;
case 7:
renew();
break;
case 8:
break;
default:
printf("選擇錯誤!");
break;
}
}
void input()
{
char select;
system("cls");
printf("學生成績錄入\n\n");
do
{
printf("\n請輸入第%d個學生信息\n\n",count+1);
printf("學號: ");
scanf("%d",&stu[count].num);
printf("姓名: ");
scanf("%s",stu[count].name);
printf("成績一:");
scanf("%f",&stu[count].score1);
printf("成績二:");
scanf("%f",&stu[count].score2);
printf("成績三:");
scanf("%f",&stu[count].score3);
stu[count].average=(stu[count].score1+stu[count].score2+stu[count].score3)/3;
printf("是否繼續輸入(y/n): ");
fflush(stdin);
select=getchar();
count++;
}while(select=='y'||select=='Y');
if (select=='n'||select=='N')
{
list();
}
}
void display()
{
int i;
system("cls");
printf("學生成績顯示:\n\n");
printf("%-8s%-12s%-12s%-12s%-12s%s\n","學號","姓 名","成績一","成績二","成績三","平均成績");
printf("%-8s%-12s%-12s%-12s%-12s%s\n","====","========","=======","=======","========","========");
for (i=0;i<count;i++)
{
printf("%-8d%-12s%-12.2f%-12.2f%-12.2f%.2f\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].average);
}
printf("任意鍵返回主菜單......");
getch();
list();
}
void sort()
{
int select;
system("cls");
printf("學生成績排序:\n\n\n");
printf("\n\t\t\t1.按姓名排序\n\t\t\t2.按成績一排序\n\t\t\t3.按成績二排序\n\t\t\t4.按成績三排序\n\t\t\t5.按平均分排序\n\t\t\t6.返回\n\n");
printf("請選擇: ");
scanf("%d",&select);
switch(select)
{
case 1:
sort_name();
break;
case 2:
sort_score1();
break;
case 3:
sort_score2();
break;
case 4:
sort_score3();
break;
case 5:
sort_average();
break;
case 6:
list();
break;
default:
printf("輸入錯誤!任意鍵返回主菜單!");
getch();
list();
break;
}
}
void sort_name()
{
int i;
struct student temp;
system("cls");
printf("按姓名排序: \n\n");
printf("%-8s%-12s%-12s%-12s%-12s%s\n","學號","姓 名","成績一","成績二","成績三","平均成績");
printf("%-8s%-12s%-12s%-12s%-12s%s\n","====","========","=======","=======","========","========");
for (i=0;i<count;i++)
{
if (strlen(stu[i].name)<strlen(stu[i+1].name))
{
temp=stu[i];
stu[i]=stu[i+1];
stu[i+1]=temp;
}
}
for (i=0;i<count;i++)
{
printf("%-8d%-12s%-12.2f%-12.2f%-12.2f%.2f\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].average);
}
printf("任意鍵返回......");
getch();
sort();
}
void sort_score1()
{
int i;
struct student temp;
system("cls");
printf("按成績一排序: \n\n");
printf("%-8s%-12s%-12s%-12s%-12s%s\n","學號","姓 名","成績一","成績二","成績三","平均成績");
printf("%-8s%-12s%-12s%-12s%-12s%s\n","====","========","=======","=======","========","========");
for (i=0;i<count;i++)
{
if (stu[i].score1<stu[i+1].score1)
{
temp=stu[i];
stu[i]=stu[i+1];
stu[i+1]=temp;
}
}
for (i=0;i<count;i++)
{
printf("%-8d%-12s%-12.2f%-12.2f%-12.2f%.2f\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].average);
}
printf("任意鍵返回......");
getch();
sort();
}
void sort_score2()
{
int i;
struct student temp;
system("cls");
printf("按成績一排序: \n\n");
printf("%-8s%-12s%-12s%-12s%-12s%s\n","學號","姓 名","成績一","成績二","成績三","平均成績");
printf("%-8s%-12s%-12s%-12s%-12s%s\n","====","========","=======","=======","========","========");
for (i=0;i<count;i++)
{
if (stu[i].score2<stu[i+1].score2)
{
temp=stu[i];
stu[i]=stu[i+1];
stu[i+1]=temp;
}
}
for (i=0;i<count;i++)
{
printf("%-8d%-12s%-12.2f%-12.2f%-12.2f%.2f\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].average);
}
printf("任意鍵返回......");
getch();
sort();
}
void sort_score3()
{
int i;
struct student temp;
system("cls");
printf("按成績一排序: \n\n");
printf("%-8s%-12s%-12s%-12s%-12s%s\n","學號","姓 名","成績一","成績二","成績三","平均成績");
printf("%-8s%-12s%-12s%-12s%-12s%s\n","====","========","=======","=======","========","========");
for (i=0;i<count;i++)
{
if (stu[i].score2<stu[i+1].score3)
{
temp=stu[i];
stu[i]=stu[i+1];
stu[i+1]=temp;
}
}
for (i=0;i<count;i++)
{
printf("%-8d%-12s%-12.2f%-12.2f%-12.2f%.2f\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].average);
}
printf("任意鍵返回......");
getch();
sort();
}
void sort_average()
{
int i;
struct student temp;
system("cls");
printf("按平均分排序: \n\n");
printf("%-8s%-12s%-12s%-12s%-12s%s\n","學號","姓 名","成績一","成績二","成績三","平均成績");
printf("%-8s%-12s%-12s%-12s%-12s%s\n","====","========","=======","=======","========","========");
for (i=0;i<count;i++)
{
if (stu[i].average<stu[i+1].average)
{
temp=stu[i];
stu[i]=stu[i+1];
stu[i+1]=temp;
}
}
for (i=0;i<count;i++)
{
printf("%-8d%-12s%-12.2f%-12.2f%-12.2f%.2f\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].average);
}
printf("任意鍵返回......");
getch();
sort();
}
void query()
{
int select;
system("cls");
printf("學生成績查詢:");
printf("\n\n\n\t\t\t1.按學號查詢\n\n\t\t\t2.按姓名查詢\n\n\t\t\t3.返回");
printf("\n\n請選擇: ");
scanf("%d",&select);
switch(select)
{
case 1:
query_num();
break;
case 2:
query_name();
break;
case 3:
list();
break;
default:
printf("輸入錯誤!任意鍵返回主菜單!");
getch();
list();
}
}
void query_num()
{
int q,i;
system("cls");
printf("按學生學號查詢:\n\n");
printf("請輸入要查詢學生的學號:");
scanf("%d",&q);
for (i=0;i<count;i++)
{
if (stu[i].num==q)
{
printf("\n%-8s%-12s%-12s%-12s%-12s%s\n","學號","姓 名","成績一","成績二","成績三","平均成績");
printf("%-8s%-12s%-12s%-12s%-12s%s\n","====","========","=======","========","========","========");
printf("%-8d%-12s%-12.2f%-12.2f%-12.2f%.2f\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].average);
printf("查詢完畢,任意鍵返回!");
getch();
query();
break;
}
else
continue;
}
printf("對不起,您所查詢的學生不存在!任意鍵返回!");
getch();
query();
}
void query_name()
{
int i,j;
char find[20];
system("cls");
printf("按學生姓名查詢\n\n\n");
printf("輸入要查詢的學生的姓名: ");
scanf("%s",find);
for (i=0;i<count;i++)
{
j=strcmp(find,stu[i].name);
if (j==0)
{
printf("\n%-8s%-12s%-12s%-12s%-12s%s\n","學號","姓 名","成績一","成績二","成績三","平均成績");
printf("%-8s%-12s%-12s%-12s%-12s%s\n","====","========","=======","=======","========","========");
printf("%-8d%-12s%-12.2f%-12.2f%-12.2f%.2f\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].average);
printf("\n\n查詢完畢,任意鍵返回!");
getch();
query();
break;
}
else
continue;
}
printf("對不起,您所查詢的學生不存在!任意鍵返回!");
getch();
query();
}
void update()
{
int select;
system("cls");
printf("修改學生信息:\n\n\n");
printf("\t\t\t1.按學號修改\n\n\t\t\t2.按姓名修改\n\n\t\t\t3.返回");
printf("\n\n請選擇:");
scanf("%d",&select);
switch(select)
{
case 1:
update_num();
break;
case 2:
update_name();
break;
case 3:
list();
break;
default:
printf("輸入錯誤!任意鍵返回!");
getch();
list();
break;
}
}
void update_num()
{
int i,find;
system("cls");
printf("按學生學號修改: \n\n");
printf("請輸入要修改的學生的學號: ");
scanf("%d",&find);
for (i=0;i<count;i++)
{
if (stu[i].num==find)
{
printf("\n\n學號: ");
scanf("%d",&stu[i].num);
printf("姓名: ");
scanf("%s",stu[i].name);
printf("成績一: ");
scanf("%f",&stu[i].score1);
printf("成績二: ");
scanf("%f",&stu[i].score2);
printf("成績三: ");
scanf("%f",&stu[i].score3);
printf("修改成功!任意鍵返回主菜單!");
getch();
list();
break;
}
else
continue;
}
printf("您所要修改的學生不存在,任意鍵返回主菜單!");
getch();
list();
}
void update_name()
{
int i,j=0;
char find[20];
system("cls");
printf("按學生姓名修改: \n\n");
printf("請輸入要修改的學生的姓名: ");
scanf("%s",find);
for (i=0;i<count;i++)
{
j=strcmp(find,stu[i].name);
if (j==0)
{
printf("\n\n學號: ");
scanf("%d",&stu[i].num);
printf("姓名: ");
scanf("%s",stu[i].name);
printf("成績一: ");
scanf("%f",&stu[i].score1);
printf("成績二: ");
scanf("%f",&stu[i].score2);
printf("成績三: ");
scanf("%f",&stu[i].score3);
printf("修改成功!任意鍵返回主菜單!");
getch();
list();
break;
}
else
continue;
}
printf("您所要修改的學生不存在,任意鍵返回主菜單!");
getch();
list();
}
void re()
{
int select;
system("cls");
printf("刪除學生信息: \n\n\n");
printf("\t\t\t1.按學號刪除\n\n\t\t\t2.按姓名刪除\n\n\t\t\t3.返回\n\n");
printf("請選擇: ");
scanf("%d",&select);
switch(select)
{
case 1:
re_num();
break;
case 2:
re_name();
break;
case 3:
list();
break;
default:
printf("輸入錯誤!任意鍵返回!");
getch();
list();
}
}
void re_num()
{
int i,find,j;
system("cls");
printf("按學號刪除學生信息: \n\n");
printf("請輸入要刪除的學生的學號: ");
scanf("%d",&find);
for (i=0;i<count;i++)
{
if (stu[i].num==find)
{
j=1;
k=i;
avg=stu[i];
break;
}
else
continue;
}
if (j!=1)
{
printf("您所刪除的學生不存在!任意鍵返回主菜單!");
getch();
list();
}
else
for (i=k;i<count-1;i++)
{
stu[i]=stu[i+1];
}
printf("刪除成功!任意鍵返回主菜單!");
count--;
getch();
list();
}
void re_name()
{
int i,j,m;
char find[20];
system("cls");
printf("按姓名刪除學生信息: \n\n");
printf("請輸入要刪除的學生的姓名: ");
scanf("%s",find);
for (i=0;i<count;i++)
{
m=strcmp(find,stu[i].name);
if (m==0)
{
j=1;
k=i;
avg=stu[i];
break;
}
else
continue;
}
if (j!=1)
{
printf("您所刪除的學生不存在!任意鍵返回主菜單!");
getch();
list();
}
else
for (i=k;i<count-1;i++)
{
stu[i]=stu[i+1];
}
printf("刪除成功!任意鍵返回主菜單!");
count--;
getch();
s();
}
void renew()
{
int select;
system("cls");
printf("恢復學生信息: \n\n\n");
printf("\t\t\t1.按學號恢復\n\n\t\t\t2.按姓名恢復\n\n\t\t\t3.返回\n\n");
printf("請選擇: ");
scanf("%d",&select);
switch(select)
{
case 1:
renew_num();
break;
case 2:
renew_name();
break;
case 3:
list();
break;
default:
printf("輸入錯誤!任意鍵返回!");
getch();
list();
}
}
void renew_num()
{
int i,del;
system("cls");
printf("請輸入要恢復的學生的學號: ");
scanf("%d",&del);
if (del==avg.num)
{
for (i=k;i<count;i++)
{
stu[i+1]=stu[i];
stu[i]=avg;
break;
}
}
else
{
printf("您要恢復的學生不存在,任意鍵返回主菜單!");
getch();
list();
}
count++;
printf("恢復成功!");
getch();
list();
}
void renew_name()
{
int i,j;
char del[20];
system("cls");
printf("請輸入要恢復的學生的姓名: ");
scanf("%s",del);
j=strcmp(del,avg.name);
if (j==0)
{
for (i=k;i<count;i++)
{
stu[i+1]=stu[i];
stu[i]=avg;
break;
}
}
else
{
printf("您要恢復的學生不存在,任意鍵返回主菜單!");
getch();
list();
}
count++;
printf("恢復成功!");
getch();
list();
}
復制代碼
源碼下載:
LRC程序設計論文.doc
(71 KB, 下載次數: 12)
2018-4-27 18:40 上傳
點擊文件名下載附件
學生信息管理系統
下載積分: 黑幣 -5
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
狠狠操av
|
亚洲图片一区二区
|
毛片毛片毛片毛片毛片毛片
|
亚洲久久久久
|
久久综合一区
|
在线观看欧美
|
亚洲黄色片
|
激情六月天
|
婷婷激情综合
|
长河落日电视连续剧免费观看
|
夜夜草视频
|
午夜精品久久久久久久久久蜜桃
|
欧美专区在线观看
|
四川一级毛毛片
|
亚洲影院在线
|
av女优天堂
|
久久爱综合
|
亚洲一区在线看
|
五月激情综合网
|
黄色大片在线播放
|
精品视频免费在线观看
|
免费av大片
|
夜夜精品视频
|
天天干天天干
|
中文字幕一区二区三区乱码
|
免费毛片视频
|
国产一区中文字幕
|
日韩黄视频
|
欧美福利一区
|
亚洲精品一二三四
|
亚洲专区一区
|
精品国产99
|
午夜免费网站
|
久久精品国产一区二区
|
丝袜美腿亚洲综合
|
一级免费黄色片
|
日韩在线免费观看视频
|
久久久久黄色
|
四虎影院在线播放
|
中文在线一区二区
|
天天操夜夜摸
|