600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > c语言mysql 学生信息管理系统_学生信息管理系统学生时代小作品源码(C语言版)...

c语言mysql 学生信息管理系统_学生信息管理系统学生时代小作品源码(C语言版)...

时间:2023-08-11 18:45:00

相关推荐

c语言mysql 学生信息管理系统_学生信息管理系统学生时代小作品源码(C语言版)...

/*****************************************************************************/

/*

制作一个学籍管理系统:要求包含以下模块,模块用子函数完成1)输入若干条(20)条记录(包含学号,姓名,科目,科目成绩,学期学分)2)显示所有记录3)按学号排序4)插入一条记录5)查找并显示一条记录6)按姓名查找并删除一条记录7)显示统计信息 PS:因为是初学,不要用指针,用函数的做法做吧~~别做的太高端了。

学籍管理系统

姓名:**** 学校:湖南理工学院信息学院 专业:信息工程

*/

/*****************************************************************************/

//姓名,学号,英语,语文,数学三种成绩

#include

#include

#include

#define maxnumber 30

int student_number;

int count1=0,count2=0,Operate1=3;

//FILE *stream;

typedef struct stu{

int idnumber;

char name[20];

double English_score;

double chinese_score;

double math_score;

}Student;

//按学号排序

void putout_one(Student *sp)

{

for( int j=0;j<10;j++)

printf("******");

printf("\n");

printf(" %d %s %.1f %.1f %.1f\n",(*sp).idnumber,(*sp).name,(*sp).English_score,(*sp).chinese_score,(*sp).math_score);

for( j=0;j<10;j++)

printf("******");

printf("\n");

}

void putout_lot(Student *student)

{

for(int i=0;i<=Operate1;i++)

{

for(int j=0;j<10;j++)

printf("******");

printf("\n");

printf(" %d %s %.1f %.1f %.1f\n",student[i].idnumber,student[i].name,student[i].English_score,student[i].chinese_score,student[i].math_score);

}

for( int j=0;j<10;j++)

printf("******");

printf("\n");

}

void input_student(Student *S)//输入插入学生的信息

{

//printf("请输入第%d位学生(学号,名字,语文,英语,数学)\n",i+1);

scanf("%d",&(*S).idnumber);

scanf("%s",&(*S).name);

scanf("%lf%lf%lf",&(*S).chinese_score,&(*S).English_score,&(*S).math_score);

}

void id_find_in(Student *S,Student *q)//把新的学生信息加入表单

{

Student *p=S,*t;

while(count1

{

t=p;

p++;

count1++;

}

*t=*q;

count1=0;

Operate1++;

}

void insert_element(Student *S)//插入学生信息

{

printf("请输入1位学生(学号,名字,语文,英语,数学)\n");

Student *temp=(Student *)malloc(sizeof(Student)),*q=S;

input_student(temp);

id_find_in(S,temp);

}

void delet_element(Student *S,int id_n)

{

Student *p=S,*t;

while(count1

{

if((*p).idnumber==id_n)

{

t=p;

printf("已删除%d号学生信息\n",(*p).idnumber);

while(count2

{

*(t-1)=*(++t);

count2++;

}

break;

}

count1++;

p++;

}

count1=0;

count2=0;

Operate1--;

}

int junge(char*a,char*b)

{

char *p=a,*q=b;

while(*p!='\0')

{

if(*p==*q)

{

p++;

q++;

continue;

}

else

break;

}

if(*p=='\0'&&*q=='\0')

return 1;

else

return 0;

}

void show_stu_element(Student*S,char*sp)//显示某人信息(功能已实现)

{

Student *p=S;

while(count1

{

if(junge((*p).name,sp))

{

printf("已找到此人:%s\n",(*p).name);

putout_one(p);

p=S;

break;

}

else

{

p++;

count1++;

continue;

}

}

if(p!=S)

printf("查无此人!\n");

count1=0;

}

void id_sort(Student *S)

{

Student *temp=(Student*)malloc(sizeof(Student)),*q=S,*t;

int num=Operate1;

while(count1

{

t=q+1;

while(count2

{

if( (*q).idnumber> (*t).idnumber)

{

*temp=*q;

*q=*t;

*(t)=*temp;

// printf("%d\n",(*t).idnumber);

}

count2++;

t++;

}

num--;

q++;

count2=0;

count1++;

//q=q+sizeof(Student);

}

count1=0;

count2=0;

}

void count_passnumber(Student *S)

{

Student *p=S;

int e_p_number=0,m_p_number=0,c_p_number=0,num=0;

while(num<=Operate1)

{

if(p->English_score>=60)

e_p_number++;

if(p->math_score>=60)

m_p_number++;

if(p->chinese_score>=60)

c_p_number++;

num++;

p++;

}

printf("/***学生总人数=:%d\n",Operate1);

printf("/***英语过关人数=%d 数学过关人数=%d 语文过关人数=%d\n",e_p_number,m_p_number,c_p_number);

printf("/***英语挂科人数=%d 数学挂科人数=%d 语文挂科人数=%d\n",Operate1+1-e_p_number,Operate1+1-m_p_number,Operate1+1-c_p_number);//因为数组下标是从0开始的

}

void main()

{

Student student[maxnumber];

//stream=freopen("in.txt","r",stdin);

int Operate=3;int i;int id_n;

char student_element[20];

for(i=0;i

{

printf("请输入第%d位学生(学号,名字,语文,英语,数学)\n",i+1);

scanf("%d",&student[i].idnumber);

scanf("%s",&student[i].name);

scanf("%lf%lf%lf",&student[i].chinese_score,&student[i].English_score,&student[i].math_score);

}

//fclose(stream);

for( i=0;Operate!=0;i++)

{

printf("输入:0.退出。\n1.输入学生信息\n2.按姓名查找并删除学生信息\n3.按学号排序\n4.查找显示一位学生信息 \n5.显示统计记录(成员数、每科平均分)\n6.输出每科及格人数和不及格人数\n7(default).操作完成,等待用户输入:\n");

scanf("%d",&Operate);

switch(Operate)

{

case 1:insert_element(student); break;

case 2: scanf("%d",&id_n); delet_element(student,id_n); break;

case 3:id_sort(student);break;

case 4:scanf("%s",student_element); show_stu_element(student,student_element);break;

case 5:system(“cls”); putout_lot(student);break;

case 6:count_passnumber(student);break;

default: printf("请输入:\n");continue;

}

if(Operate==0)

break;

}

}

加入了一个统计函数后的结果!

------------------------------------------------------------------------------------------------------5月19日作

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。