C语言实训_c语言实训

2020-02-28 其他范文 下载本文

C语言实训由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言实训”。

#include #include #include #define N 100

struct student { char claname[40];int num;

char major[40];

char name[30];char cla1[40];int score1;char cla2[40];int score2;char cla3[40];int score3;}stu[N];

void menu();void add();void search();void change();void deleted();void sort();void show();void back();void input();void output();

int main(void){ menu();void add();

void search();

void change();

void deleted();

void sort();

void show();

void back();

void input();void output();return 0;}//需要调用的函数

void menu(){ int n;printf(“nnnnnn”);do{

printf(“

printf(”

*n“);

printf(”

*n“);

printf(”

printf(“

*n”);

************欢迎使用学生信息管理系统************n“);

*

*

功能菜单************************************************n”);

*

printf(“

*

1.添加成绩表信息

*n”);

printf(“

*

2.查询成绩信息

*n”);

printf(“

*

3.修改成绩信息

*n”);

printf(“

*n”);

printf(“

*n”);

printf(“

*n”);

printf(“

*n”);

printf(“

*n”);

printf(“

*n”);

printf(“

*n”);

printf(“

printf(”

*

4.删除信息记录

*

5.排序成绩表信息

*

6.显示成绩表所有信息

*

7.从指定的文件中读入成绩表的信息

*

8.将成绩表的信息写入指定的文件中

*

9.退出学生信息管理系统

*

************************************************nn“);

请输入数字: ”);

scanf(“%d”,&n);switch(n){

case 1:

add();

break;

case 2:

search();

break;

case 3:

change();

break;

case 4:

deleted();

break;

case 5:

sort();

break;

case 6:

show();

break;

case 7:

}

input();

break;

case 8:

output();

break;

case 9:

back();

break;

default: }

printf(“nn抱歉!您的输入有误,请在1到9之间选择!”);}while(n9);int n=2;//全局变量在这里!

void add(){

system(“cls”);int i;char a;for(i=0;i

printf(“nnn请输入学生信息:nnn”);

printf(“请输入班级:”);scanf(“n%s”,stu[i].claname);printf(“请输入姓名:”);scanf(“%s”,stu[i].name);printf(“请输入学号:”);scanf(“n%d”,&stu[i].num);printf(“请输入专业:”);scanf(“n%s”,stu[i].major);printf(“请输入课程1名称:”);scanf(“n%s”,stu[i].cla1);printf(“请输入课程1成绩:”);scanf(“n%d”,&stu[i].score1);printf(“请输入课程2名称:”);

scanf(“n%s”,stu[i].cla2);

printf(“请输入课程2成绩:”);

scanf(“n%d”,&stu[i].score2);printf(“请输入课程3名称:”);scanf(“n%s”,stu[i].cla3);printf(“请输入课程3成绩:”);scanf(“nnn%d”,&stu[i].score3);}

printf(“nn信息添加成功!!nn”);printf(“nn学生的信息如下:nn”);printf(“ntt班级

姓名

学号

专业

课程1 课程1成绩

课程2 课程2成绩

课程3 课程3成绩”);

for(i=0;i

printf(“nntt%st%st%dt%st%st%dt%st%dt%st%d”,stu[i].claname,stu[i].name,stu[i].num,stu[i].major,stu[i].cla1,stu[i].score1,stu[i].cla2,stu[i].score2,stu[i].cla3,stu[i].score3);

} printf(“nn按任意键返回主菜单!n”);getchar();scanf(“%c”,&a);}

menu();void search(){

{ case 1: //按姓名查找 printf(“nn请输入您想要查找的姓名:

”);system(“cls”);int i=0;int choice,s,score;int flag=0;char sname[20];char a;printf(“1.按姓名查找n2.按学号查找n3.查找总成绩相等的学生nn”);printf(“请输入您想要的查找方式(序号):”);scanf(“%d”,&choice);switch(choice)

scanf(“%s”,sname);for(i=0;i

printf(“%s %d %s %d %s %d”,stu[i].cla1,stu[i].score1,stu[i].cla2,stu[i].score2,stu[i].cla3,stu[i].score3);

case 2: //按学号查找 printf(“nn请输入您想要查找的学号:

”);} if(flag==0)//找不到该姓名

printf(“nn您搜索的该生信息不存在,请确认后再重新输入!n”);break;scanf(“%d”,&s);for(i=0;i

if(stu[i].num==s){ flag=1;printf(“nn该学生成绩信息如下:n”);

printf(“%s %s %d %s %d %s %d”,stu[i].name,stu[i].cla1,stu[i].score1,stu[i].cla2,stu[i].score2,stu[i].cla3,stu[i].score3);

case 3: //查找总成绩相等的学生

printf(“nn请输入您想要查找的学生成绩:

”);scanf(“%d”,&score);for(i=0;i

{

flag=1;printf(“nn总成绩相等的学生成绩信息如下:n”);if((stu[i].score1+stu[i].score2+stu[i].score3)==score)}

if(flag==0)//找不到该学号

printf(“nn您搜素的该生信息不存在,请确认后再重新输入!n”);break;printf(“%s %s %d %s %s %d %s %d %s %d”,stu[i].claname,stu[i].name,stu[i].num,stu[i].major,stu[i].cla1,stu[i].score1,stu[i].cla2,stu[i].score2,stu[i].cla3,stu[i].score3);}

}

if(flag==0)printf(“nn没有学生位于该分数,请重新输入!n”);break;default://输入不是1,2,3 printf(“nn您的输入有误!请在1到3之间进行选择!n”);}//这个才是switch的啦~(≧▽≦)/~

printf(“nn按任意键返回主菜单!”);getchar();scanf(“%c”,&a);menu();void change(){ system(“cls”);int i=0,item,n,sco1,sco2,sco3;

char name[30];char smajor[40];char sclaname[40];char a;printf(“请输入需要修改信息的学生学号:”);scanf(“%d”,&n);

for(i=0;i

if(n==stu[i].num)

{

printf(“*--------------------*n”);

printf(“1.修改课程1成绩;n”);

printf(“2.修改课程2成绩;n”);

printf(“3.修改课程3成绩;n”);printf(“4.修改学生的姓名;n”);printf(“5.修改学生的专业;n”);printf(“6.修改学生的班级;n”);

printf(“*--------------------*n”);printf(“nn请输入需要修改的信息(序号):”);scanf(“%d”,&item);

switch(item){ case 1:

printf(“nn请重新输入课程1成绩:

”);scanf(“%d”,&sco1);stu[i].score1=sco1;printf(“n”);break;case 2:

printf(“nn请重新输入课程2成绩:”);scanf(“%d”,&sco2);stu[i].score2=sco2;printf(“n”);break;case 3:

printf(“nn请重新输入课程3成绩:

”);scanf(“%d”,&sco3);stu[i].score3=sco3;printf(“n”);break;case 4:

printf(“nn请重新输入学生姓名:

”);scanf(“%s”,name);strcpy(stu[i].name,name);//将姓名代替 printf(“n”);break;case 5:

printf(“nn请重新输入学生专业:

”);scanf(“%s”,smajor);strcpy(stu[i].major,smajor);printf(“n”);break;case 6:

printf(“nn请重新输入学生班级:

”);scanf(“%s”,sclaname);strcpy(stu[i].claname,sclaname);printf(“n”);break;default: printf(“您的输入有误!请在1到6之间进行选择!”);}//这是switch的 printf(“修改后该学生信息如下:n”);

printf(“ntt班级

姓名

学号

专业

课程1 课程1成绩

课程2 课程2成绩

课程3 课程3成绩”);

printf(“nntt%st%st%dt%st%st%dt%st%dt%st%d”,stu[i].claname,stu[i].name,stu[i].num,stu[i].major,stu[i].cla1,stu[i].score1,stu[i].cla2,stu[i].score2,stu[i].cla3,stu[i].score3);break;

printf(“nnn”);

printf(“nn按任意键返回主菜单!”);getchar();scanf(“%c”,&a);menu();

}//这是if的

if(i==n)printf(“nn无法找到该生信息,请确认后重新输入!”);//找不到学生学号

}//这是void的void deleted(){

for(i=0;i

if(strcmp(stu[i].name,name)==0)//找得到学生姓名

{ flag=1;printf(“请输入需要删除信息的学生姓名:”);scanf(“%s”,name);system(“cls”);int flag=0;int i;char b;char a;char name[30];

printf(“ntt班级

姓名

学号

专业

课程1 课程1成绩

课程2 课程2成绩

课程3 课程3成绩”);

printf(“nntt%st%st%dt%st%st%dt%st%dt%st%d”,stu[i].claname,stu[i].name,stu[i].num,stu[i].major,stu[i].cla1,stu[i].score1,stu[i].cla2,stu[i].score2,stu[i].cla3,stu[i].score3);

if(flag==0)//找不到学生姓名

if(a=='n')printf(“nn已退出!n”);

if(a=='y'){

for(i=0;i

printf(“nn是否要删除该生所有信息?(y or n):”);getchar();

scanf(“%c”,&a);}//这是第二个if的}//这是第一个if的}//这是for的}

printf(“nn该生信息不存在!请确认后重新输入!nn”);printf(“nn请按任意键返回主菜单!n”);getchar();scanf(“%c”,&b);menu();void sort(){

system(“cls”);int i,j;int choice;struct student temp;char a;printf(“nn*--------------------*nn”);printf(“1.按总成绩升序排序nn2.按学号升序排序nn”);printf(“n*--------------------*n”);printf(“nn请输入您想要的排序方式:

”);

scanf(“%d”,&choice);switch(choice){ case 1: for(i=0;i

for(j=i+1;j

if((stu[i].score1+stu[i].score2+stu[i].score3)

{

temp=stu[i];stu[i]= stu[j];stu[j]=temp;}//这是for(j)的printf(“nn按总成绩升序排序后的信息为:n”);for(i=0;i

printf(“nntt班级t姓名t学号t专业t课程1tt课程1成绩t课程2tt课程2成绩t课程3tt课程3成绩”);

printf(“nntt%st%st%dt%st%st%dt%st%dtt%stttt%dnnn”,stu[i].claname,stu[i].name,stu[i].num,stu[i].major,stu[i].cla1,stu[i].score1,stu[i].cla2,stu[i].score2,stu[i].cla3,stu[i].score3);}//这是for排序的 }//这是for(i)的 case 2:

for(i=0;i

break;

for(j=i+1;j

if((stu[i].score1+stu[i].score2+stu[i].score3)

{

temp=stu[i];stu[i]= stu[j];stu[j]=temp;}//这是for(j)的printf(“nn按总成绩升序排序后的信息为:n”);for(i=0;i

printf(“nntt班级t姓名t学号t专业t课程1tt课程1成绩t课程2tt课程2成绩t课程3tt课程3成绩”);

printf(“nntt%st%st%dt%st%st%dt%st%dtt%stttt%dnnn”,stu[i].claname,stu[i].name,stu[i].num,stu[i].major,stu[i].cla1,stu[i].score1,stu[i].cla2,stu[i].score2,stu[i].cla3,stu[i].score3);}//这是for排序的 }//这是for(i)的 }//这是switch的printf(“nn按任意键返回主菜单!n”);getchar();scanf(“%c”,&a);menu();

default:

printf(“nn抱歉!您输入的数据有误,请在1和2之间进行选择!n”);

break;}//这是void的 void show()//这是显示显示显示显示显示 {

system(“cls”);int i;char a;printf(“nn所有学生的信息如下:n”);

printf(“ntt班级

姓名

学号

专业

课程1 课程1成绩

课程2 课程2成绩

课程3 课程3成绩”);

for(i=0;i

printf(“nntt%st%st%dt%st%st%dt%st%dt%st%d”,stu[i].claname,stu[i].name,stu[i].num,stu[i].major,stu[i].cla1,stu[i].score1,stu[i].cla2,stu[i].score2,stu[i].cla3,stu[i].score3);

} } printf(“nn按任意键返回主菜单!n”);getchar();scanf(“%c”,&a);menu();

void input(){

system(“cls”);int i;char a;FILE*fp=fopen(“file1”,“w+”);if(fp==NULL){

} printf(“ntt班级

姓名

学号

专业

课程1 课程1成绩

课程2 课程2成绩

课printf(”文件打开失败!n“);exit(1);程3 课程3成绩”);

fscanf(fp,“nntt%st%st%dt%st%st%dt%st%dt%st%d”,stu[i].claname,stu[i].nfor(i=0;i

}

} fclose(fp);printf(“nn按任意键返回主菜单!”);getchar();scanf(“%c”,&a);menu();void output(){

system(“cls”);int i;char a;FILE*fp=fopen(“file1”,“r”);if(fp==NULL){

} printf(“文件打开失败!n”);exit(1);printf(“ntt班级

姓名

学号

专业

课程1 课程1成绩

课程2 课程2成绩

课程3 课程3成绩”);

fprintf(fp,“nntt%st%st%dt%st%st%dt%st%dt%st%d”,stu[i].claname,stu[i].nfor(i=0;i

}

void back(){ system(“cls”);} printf(“nn按任意键返回主菜单!”);getchar();scanf(“%c”,&a);menu();fclose(fp);

int t;int a;printf(“确定退出学生成绩管理系统请按1,否则按0: ”);scanf(“%d”,&t);if(t==0){ printf(“nnn请输入任意数字返回首页: scanf(”%d“,&a);system(”cls“);menu();} if(t==1){

exit(1);} }

”);

《C语言实训.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
C语言实训
点击下载文档
相关专题 c语言实训 实训 语言 c语言实训 实训 语言
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文