-
大小: 8.92KB文件類型: .c金幣: 1下載: 0 次發(fā)布日期: 2024-04-16
- 語言: C/C++
- 標(biāo)簽: 管理系統(tǒng)??成績管理??學(xué)生成績??
資源簡介
學(xué)生學(xué)分管理系統(tǒng)c語言代碼
代碼片段和文件信息
#include?
#include?
#include?
#include?
#define?MAX?60
struct?student?
{
char?num[10];
char?name[50];?
char?clas[5];
int?score[5];?
};?
struct?data{
int?count;?//?當(dāng)前學(xué)生數(shù)組中學(xué)生的個數(shù)
struct?student?stu[MAX];?//?學(xué)生數(shù)組?
}dd;//子函數(shù)聲明
void?menu();//菜單函數(shù)
void?to_menu();//返回菜單函數(shù)
void?view_data();//查看所有學(xué)生信息
void?save_data();//保存數(shù)據(jù)
void?add_data();//輸入學(xué)生數(shù)據(jù)
void?read_data();//讀取數(shù)據(jù)
void?delete_data();//刪除數(shù)據(jù)
void?edit_data();//修改數(shù)據(jù)
void?query_data_num();//查找(按學(xué)號)
void?query_data_clas();//查找(按班級)?
void?sort_data_num();//排序(學(xué)號)?
void?tongji();//統(tǒng)計某班學(xué)生學(xué)分完成情況
//?主函數(shù)
void??view_data()?//?查看所有學(xué)生信息
{
int?i;??
????printf(“學(xué)號\t姓名\t?班級\t?基礎(chǔ)課\t?專業(yè)課\t?選修課?\n“);
printf(“\n-----------------------------------------\n“);?
for(i=0;i printf(“%s\t?%s\t?%s\t?%d\t?%d\t?%d\n“dd.stu[i].numdd.stu[i].name
dd.stu[i].clasdd.stu[i].score[0]dd.stu[i].score[1]dd.stu[i].score[2]);?
}
void?save_data()//?將數(shù)據(jù)從結(jié)構(gòu)體數(shù)組保存到文件中
{
FILE?*fp;//文件指針
int?ik;
k=dd.count;
fp=fopen(“dada.txt““w“);//文件存儲位置:當(dāng)前文件夾
fwrite(&ksizeof(int)1fp);
for(i=0;i fwrite(&dd.stu[i]sizeof(struct?student)1fp);
fclose(fp);
}
void?add_data()//?輸入學(xué)生記錄
{
struct?student?st;
int?b;
????int?a;
????int?k;
while(1)
{
printf(“\n請輸入學(xué)生信息:“);
printf(“\n學(xué)號\t姓名\t班級“);
printf(“\n----------------------------------------------\n“);
scanf(“%s%s%s“st.numst.namest.clas);
k?=?dd.count;
strcpy(dd.stu[k].numst.num);
strcpy(dd.stu[k].namest.name);
strcpy(dd.stu[k].classt.clas);
printf(“\n請輸入基礎(chǔ)課學(xué)分(0-50):“);?scanf(“%d“&a);
if(a>50)?dd.stu[k].score[0]=50;
else?dd.stu[k].score[0]=a;
printf(“\n請輸入專業(yè)課學(xué)分(0-50):“);?scanf(“%d“&a);
????????if(a>50)?dd.stu[k].score[0]=50;
else?dd.stu[k].score[0]=a;
printf(“\n請輸入選修課學(xué)分(0-24):“);?scanf(“%d“&a);
if(a>24)?dd.stu[k].score[2]=24;
else?dd.stu[k].score[0]=a;
dd.count++;
printf(“\n\n繼續(xù)添加學(xué)生信息[1-yes?0-no]:“);
scanf(“%d“&b);
if(b==0)?break;
}
????save_data();
}
void?read_data()//?將數(shù)據(jù)從文件讀到結(jié)構(gòu)體數(shù)組中
{
FILE?*fp;//文件指針
int?ik;
struct?student?st;
k=0;
if(access(“dada.txt“0)==-1)?//?如果文件不存在
{
fp=fopen(“dada.txt““w“);
????fwrite(&ksizeof(int)1fp);
????fclose(fp);
}
????????fp=fopen(“dada.txt““r“);
????????fread(&ksizeof(int)1fp);
????????dd.count=k;
????????for(i=0;i {
??????fread(&stsizeof(struct?student)1fp);
??strcpy(dd.stu[i].numst.num);
??strcpy(dd.stu[i].namest.name);
??strcpy(dd.stu[i].classt.clas);
??dd.stu[i].score[4]=st.score[4];
??dd.stu[i].score[3]=st.score[3];
??dd.stu[i].score[2]=st.score[2];
??dd.stu[i].score[1]=st.score[1];
??dd.stu[i].score[0]=st.score[0];
}
fclose(fp);
}
void?delete_data()
{
int?ikj;
char?num[10];
????printf(“\n請輸入要刪除學(xué)生的學(xué)號:“);?
scanf(“k=-1“);
for(i=0;i {
if(strcmp(dd.stu[i].numnum)==0)
{
k=i;
break;
}
}
if(k==-1)
{
printf(“\n\n沒有找到該學(xué)生(學(xué)號-%s)!“num);
}
el
- 上一篇:svpwm程序
- 下一篇:楊中科游戲開發(fā)引擎
評論
共有 條評論