mysql和c语言写成绩管理系统_C语言实现---学生成绩管理系统

#include#include#includetypedefstruct person //定义结构体

{char num[10]; //学号

char name[20]; //姓名

float cyuyan; //C语言成绩

float en; //物理学成绩

float ji; //原子物理成绩

float guti; //固体物理成绩

float cailiao; //材料学成绩

}person;

person per[200]; //定义100

char filename[20]; //定义全局变量

void logon() //登陆函数 使系统更显完善

{

printf("\n\n\n\t\t\t 学生信息管理系统\n\n");

printf("\t\t\t 版本号:2.0\n\n");

printf("\n\n\n\n\t\t\t 2012年3月10日\n\n");

printf("\t\t\t C区**栋514寝\n");

printf("\n\n\t\t\t Ace_cm_liu\n");

printf("\n\n\t\t\t 导演兼制作\n");//system("pause");

}/*void menu_filename()

{

system("cls");

printf("请输入你要操作的文件名:");

scanf("\t%s",filename);

}*/

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

//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//

int menu_select() //菜单选择系统函数

{charc;do{//system("cls");

printf("\t\t ╭═════════■□■□═══╮\n");

printf("\t\t│ 学生信息管理系统 │\n");

printf("\t\t╰═══■□■□══════════╯\n");

printf("\t\t ┌─────────────-┐\n");

printf("\t\t │ 1. 添加记录 2. 显示记录 │\n");

printf("\t\t │ │\n");

printf("\t\t │ 3. 信息查询 4. 数据计算 │\n");

printf("\t\t │ │\n");

printf("\t\t │ 5. 修改记录 6. 删除记录 │\n");

printf("\t\t │ │\n");

printf("\t\t │ 0. 退出程序 │\n");

printf("\t\t └─────────────-┘\n");

printf("\t\t请您选择(0-6):");

c=getchar();

}while(c'6');return (c-'0'); //字符减去'0'得到的是数字整型//

}//*********************************************************************//

//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//

void add() //成绩的录入与添加函数

{

FILE*fp;int i=0,n=0;char sign='y'; //首先定义sing='y'

system("cls");

person p[200] ; //清屏函数 系统中调用

while(sign!='n'&&sign!='N') //其实只有当输入N或n时才跳出循环

{

printf("----学生纪录添加----\n");

printf("姓名:\n");

scanf("\t%s",p[i].name);

printf("学号:\n");

scanf("\t%s",p[i].num);

printf("C语言:\n");

scanf("\t%f",&p[i].cyuyan);

printf("物理学:\n");

scanf("\t%f",&p[i].en);

printf("原子物理:\n");

scanf("\t%f",&p[i].ji);

printf("固体物理:\n");

scanf("\t%f",&p[i].guti);

printf("材料学:\n");

scanf("\t%f",&p[i].cailiao);

printf("是否继续添加?(y/n)");

scanf("\t%c",&sign);

i++;

n=n+1;

system("cls");

}system("pause"); //等待命令

if((fp=fopen("studata.txt","a"))==NULL) //以2进制形式进行文件尾追加//

{

printf("cannot open the files\n");

system("pause");return; //如果文件出现错误 就返回

}for(i=0;i

{

fprintf(fp,"%s %s %f %f %f %f %f\n",p[i].name,p[i].num,p[i].cyuyan,p[i].en,p[i].ji,p[i].guti,p[i].cailiao); //以2进制形式写入文件中//一次写入一个数组//

}//printf("file write error\n");

fclose(fp); //关闭文件

system("pasue");

}//*********************************************************************//

//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//

void scan() //显示记录 进行全面信息浏览

{voidamend();//声明修改函数//

char sign='y';

FILE*fp;intn;

system("cls");if((fp=fopen("studata.txt","r"))==NULL) //以2进制方式读取文件信息//

{

printf("cannot open the files\n");

system("pause");return;

}int i=0;while(fscanf(fp,"%s%s%f%f%f%f%f",per[i].name,per[i].num,&per[i].cyuyan,&per[i].en,&per[i].ji,&per[i].guti,&per[i].cailiao)!=EOF)

{

printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");

printf("姓名 学号 C语言 物理学 原子物理 固体物理 材料学\n");

printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");

printf("%s %s %f %f %f %f %f\n",per[i].name,per[i].num,per[i].cyuyan,per[i].en,per[i].ji,per[i].guti,per[i].cailiao);

printf("\n");

i++;

}

system("pause");

system("cls");

printf("是否需要修改?(y/n)");

scanf("\t%c",&sign);if(sign!='n'&&sign!='N') //选择是否在浏览后进行修改//

amend();

system("pause");

}//*********************************************************************//

//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//

//数据查询//

void query() //学生信息的不同方式查询

{

system("cls");

person p[200];

FILE*fp1;int i=0;int n=0;intm;

printf("\t\n请选择查询方式:\n");

printf("\t┌──────┐\n");

printf("\t│1--模糊查询 │\n");

printf("\t│2------姓名 │\n");

printf("\t│3------学号 │\n");

printf("\t│4------返回 │\n");

printf("\t└──────┘\n");

printf("请输入你要查询的方式\n");

scanf("%d",&m);while(m!=1&&m!=2&&m!=3&&m!=4)

{

printf("输入错误请重新查询\n");

scanf("%d",&m);

}if((fp1=fopen("studata.txt","r"))==NULL) //以2进制方式读取文件信息//

{

printf("cannot open the files\n");

}while(fscanf(fp1,"%s%s%f%f%f%f%f",p[i].name,p[i].num,&p[i].cyuyan,&p[i].en,&p[i].ji,&p[i].guti,&p[i].cailiao)!=EOF)

{

i++;

n=n+1;

}if(m==1) //模糊查询

{char s[3]; //定义输入的文字所占的字节 /一个汉字占2个字节 外加一结尾符此处小心溢出

int i=0;

system("cls");

printf("\t请输入想查询的姓:");

scanf("%s",s);for(i=0;i

{if(p[i].name[0]==s[0]&&p[i].name[1]==s[1]) //比较per[i].name与所输入的前俩个字符是否相同//

{

printf("\t学号: %s\n",p[i].num);

printf("\t姓名: %s\n",p[i].name);

printf("\tC语言: %f\n",p[i].cyuyan);

printf("\t物理学: %f\n",p[i].en);

printf("\原子物理: %f\n",p[i].ji);

printf("\t固体物理: %f\n",p[i].guti);

printf("\t材料学: %f\n",p[i].cailiao);

}

}

}if(m==2) //姓名查询

{char s[20];int j=0;

printf("\t请输入想查询的姓名:");

scanf("\t%s",s);while(strcmp(p[j].name,s)!=0&&j

if(j==n)

{

printf("无");

}

printf("\t学号: %s\n",p[j].num);

printf("\t姓名: %s\n",p[j].name);

printf("\tC语言: %f\n",p[j].cyuyan);

printf("\t物理学: %f\n",p[j].en);

printf("\原子物理: %f\n",p[j].ji);

printf("\t固体物理: %f\n",p[j].guti);

printf("\t材料学: %f\n",p[j].cailiao);

}if(m==3) //学号查询

{char s[15];int i=0;

printf("请输入想查询的学号:");

scanf("\t%s",s);while(strcmp(p[i].num,s)!=0&&i

{

printf("\t通讯录中没有此人!\n");

system("pause");return;

}

printf("\t学号: %s\n",p[i].num);

printf("\t姓名: %s\n",p[i].name);

printf("\tC语言: %f\n",p[i].cyuyan);

printf("\t物理学: %f\n",p[i].en);

printf("\原子物理: %f\n",p[i].ji);

printf("\t固体物理: %f\n",p[i].guti);

printf("\t材料学: %d\f",p[i].cailiao);

}

fclose(fp1);

system("pause");

}voiddate()

{

person per[200];

FILE*fp;struct person temp; //定义临时数组用于交换时存放数组信息用于后面的交换//

float sum; //总分

float s[200];int i=0,n=0;intj,k,t;intm;

system("cls");

printf("\t\n选择排序方式:\n");

printf("\t┌──────┐\n");

printf("\t│1----物理学 │\n");

printf("\t│2--原子物理 │\n");

printf("\t│3---C语言 │\n");

printf("\t│4--固体物理 │\n");

printf("\t│5----材料学 │\n");

printf("\t│6---- 总分 │\n");

printf("\t│7------返回 │\n");

printf("\t└──────┘\n");

printf("请输入你要排序的方式\n");

scanf("%d",&m);

system("cls");while(m!=1&&m!=2&&m!=3&&m!=4&&m!=5&&m!=6&&m!=7)

{

printf("输入错误请重新输入\n");

scanf("%d",&m);

}if((fp=fopen("studata.txt","r"))==NULL) //以2进制方式读取文件信息//

{

printf("cannot open the files\n");

system("pause");return;

}while(fscanf(fp,"%s%s%f%f%f%f%f",per[i].name,per[i].num,&per[i].cyuyan,&per[i].en,&per[i].ji,&per[i].guti,&per[i].cailiao)!=EOF)

{

i++;

n=n+1;

}if(m==1)

{for(int i=0;i

{

k=i;for(j=i+1;jper[k].en) //排序//比较大小//

k=j;

temp=per[k];per[k]=per[i];per[i]=temp; //当符合条件时进行数据交换//

}

printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");

printf("姓名 学号 C语言 物理学 原子物理 固体物理 材料学\n");

printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");for(int i=0;i

{

printf("%s %s %f %f %f %f %f\n",per[i].name,per[i].num,per[i].cyuyan,per[i].en,per[i].ji,per[i].guti,per[i].cailiao);

printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");

}

fclose(fp);

}if(m==2)

{for(int i=0;i

{

k=i;for(j=i+1;jper[k].ji)

k=j;

temp=per[k];per[k]=per[i];per[i]=temp;

}

printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");

printf("姓名 学号 C语言 物理学 原子物理 固体物理 材料学\n");

printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");for(int i=0;i

{

printf("%s %s %f %f %f %f %f\n",per[i].name,per[i].num,per[i].cyuyan,per[i].en,per[i].ji,per[i].guti,per[i].cailiao);

printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");

}

fclose(fp);

}if(m==3)

{for(int i=0;i

{

k=i;for(j=i+1;jper[k].cyuyan)

k=j;

temp=per[k];per[k]=per[i];per[i]=temp;

}

printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");

printf("姓名 学号 C语言 物理学 原子物理 固体物理 材料学\n");

printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");for(int i=0;i

{

printf("%s %s %f %f %f %f %f\n",per[i].name,per[i].num,per[i].cyuyan,per[i].en,per[i].ji,per[i].guti,per[i].cailiao);

printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");

}

fclose(fp);

}if(m==4)

{for(int i=0;i

{

k=i;for(j=i+1;jper[k].guti)

k=j;

temp=per[k];per[k]=per[i];per[i]=temp;

}

printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");

printf("姓名 学号 C语言 物理学 原子物理 固体物理 材料学\n");

printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");for(int i=0;i

{

printf("%s %s %f %f %f %f %f\n",per[i].name,per[i].num,per[i].cyuyan,per[i].en,per[i].ji,per[i].guti,per[i].cailiao);

printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");

}

fclose(fp);

}if(m==5)

{for(int i=0;i

{

k=i;for(j=i+1;jper[k].cailiao)

k=j;

temp=per[k];per[k]=per[i];per[i]=temp;

}

printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");

printf("姓名 学号 C语言 物理学 原子物理 固体物理 材料学\n");

printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");for(int i=0;i

{

printf("%s %s %f %f %f %f %f\n",per[i].name,per[i].num,per[i].cyuyan,per[i].en,per[i].ji,per[i].guti,per[i].cailiao);

printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");

}

fclose(fp);

}if(m==6)

{for(int i=0;i

{

sum=0;

sum=per[i].cyuyan+per[i].en+per[i].ji+per[i].guti+per[i].cailiao;

s[i]=sum;

}//第一个数组用于数组间信息操作//

for(int i=0;i

{

k=i;for(j=i+1;j

{if(s[j]>s[k])

k=j;

}

temp=per[k];per[k]=per[i];per[i]=temp;

}

printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");

printf("姓名 学号 C语言 物理学 原子物理 固体物理 材料学\n");

printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");for(int i=0;i

{

printf("%s %s %f %f %f %f %f\n",per[i].name,per[i].num,per[i].cyuyan,per[i].en,per[i].ji,per[i].guti,per[i].cailiao);

printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");

}

fclose(fp);

}

system("pause");

}//*********************************************************************//

//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//

//数据修改//

voidamend()

{

person p[200];

FILE*fp2;int i=0;int n=0;char s[15];intm;//system("cls");

printf("\t\n请选择修改方式:\n");

printf("\t┌──────┐\n");

printf("\t│1------姓名 │\n");

printf("\t│2------学号 │\n");

printf("\t│3------返回 │\n");

printf("\t└──────┘\n");

printf("请输入你要修改的方式\n");

scanf("%d",&m);while(m!=1&&m!=2&&m!=3)

{

printf("输入错误请重新修改\n");

scanf("%d",&m);

}if((fp2=fopen("studata.txt","r"))==NULL) //以2进制方式读取文件信息//

{

printf("cannot open the files\n");

system("pause");return;

}while(fscanf(fp2,"%s%s%f%f%f%f%f",p[i].name,p[i].num,&p[i].cyuyan,&p[i].en,&p[i].ji,&p[i].guti,&p[i].cailiao)!=EOF)

{

i++;

n=n+1;

}

fclose(fp2) ;//system("cls");

if(m==1)

{

person newp;char s[20];int i=0;

printf("\t请输入想修改的姓名:");

scanf("\t%s",s);while(strcmp(p[i].name,s)!=0&&i

if(i==n)

{

printf("\t通讯录中没有此人!\n");return;

}else{

printf("学号:\n");

scanf("\t%s",&newp.num);

printf("姓名:\n");

scanf("\t%s",&newp.name);

printf("C语言:\n");

scanf("\t%f",&newp.cyuyan);

printf("物理学:\n");

scanf("\t%f",&newp.en);

printf("原子物理:\n");

scanf("\t%f",&newp.ji);

printf("固体物理:\n");

scanf("\t%f",&newp.guti);

printf("材料学:\n");

scanf("\t%f",&newp.cailiao);

}

FILE*fin,*ftp;

fin=fopen("studata.txt","r");//读打开原文件studata.txt

ftp=fopen("tmp.txt","w");//写打开临时文件tmp.txt

if(fin==NULL || ftp==NULL){

printf("Open the file failure...\n");

exit(0);

}int kk=0;while(kk

{if(strcmp(p[kk].name,s)!=0)//检验是要删除的行吗?

{

fprintf(ftp,"%s %s %f %f %f %f %f\n",p[kk].name,p[kk].num,p[kk].cyuyan,p[kk].en,p[kk].ji,p[kk].guti,p[kk].cailiao);//不是则将这一行写入临时文件tmp.txt

}

kk++;

}

fprintf(ftp,"%s %s %f %f %f %f %f\n",newp.name,newp.num,newp.cyuyan,newp.en,newp.ji,newp.guti,newp.cailiao);//不是则将这一行写入临时文件tmp.txt

fclose(fin);

fclose(ftp);

fclose(fp2);

remove("studata.txt");//删除原文件

rename("tmp.txt","studata.txt");//将临时文件名改为原文件名

}if(m==2)

{

person newp1;char s[20];int i=0;

printf("\t请输入想修改的学号:");

scanf("\t%s",s);while(strcmp(p[i].num,s)!=0&&i

if(i==n)

{

printf("\t通讯录中没有此人!\n");return;

}else{

printf("学号:\n");

scanf("\t%s",&newp1.num);

printf("姓名:\n");

scanf("\t%s",&newp1.name);

printf("C语言:\n");

scanf("\t%f",&newp1.cyuyan);

printf("物理学:\n");

scanf("\t%f",&newp1.en);

printf("原子物理:\n");

scanf("\t%f",&newp1.ji);

printf("固体物理:\n");

scanf("\t%f",&newp1.guti);

printf("材料学:\n");

scanf("\t%f",&newp1.cailiao);

}

FILE*fin,*ftp;

fin=fopen("studata.txt","r");//读打开原文件studata.txt

ftp=fopen("tmp.txt","w");//写打开临时文件tmp.txt

if(fin==NULL || ftp==NULL){

printf("Open the file failure...\n");

exit(0);

}int kk=0;while(kk

{if(strcmp(p[kk].num,s)!=0)//检验是要删除的行吗?

{

fprintf(ftp,"%s %s %f %f %f %f %f\n",p[kk].name,p[kk].num,p[kk].cyuyan,p[kk].en,p[kk].ji,p[kk].guti,p[kk].cailiao);//不是则将这一行写入临时文件tmp.txt

}

kk++;

}

fprintf(ftp,"%s %s %f %f %f %f %f\n",newp1.name,newp1.num,newp1.cyuyan,newp1.en,newp1.ji,newp1.guti,newp1.cailiao);//不是则将这一行写入临时文件tmp.txt

fclose(fin);

fclose(ftp);

fclose(fp2);

remove("studata.txt");//删除原文件

rename("tmp.txt","studata.txt");//将临时文件名改为原文件名

}

system("pause");

}//*********************************************************************//

//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//

//数据删除//

voiddelet()

{

person p[200];

FILE*fp;char s[10];int i=0,n=0;if((fp=fopen("studata.txt","r"))==NULL) //以2进制方式读取文件信息//

{

printf("cannot open the files\n");

system("pause");return;

}while(fscanf(fp,"%s%s%f%f%f%f%f",p[i].name,p[i].num,&p[i].cyuyan,&p[i].en,&p[i].ji,&p[i].guti,&p[i].cailiao)!=EOF)

{

i++;

n=n+1;

}

fclose(fp);

printf("学生学号:");

scanf("%s",s);

i=0;while(strcmp(p[i].num,s)!=0&&i

{

i++;

}//进行比较 找到所需要的信息

if(i==n)

{

printf("\t通讯录中没有此人!\n");return;

}else{

FILE*fin,*ftp;

fin=fopen("studata.txt","r");//读打开原文件123.txt

ftp=fopen("tmp.txt","w");//写打开临时文件tmp.txt

if(fin==NULL || ftp==NULL){

printf("Open the file failure...\n");

exit(0);

}int kk=0;while(kk

{if(strcmp(p[kk].num,s)!=0)//检验是要删除的行吗?

{

fprintf(ftp,"%s %s %f %f %f %f %f\n",p[kk].name,p[kk].num,p[kk].cyuyan,p[kk].en,p[kk].ji,p[kk].guti,p[kk].cailiao);//不是则将这一行写入临时文件tmp.txt

}

kk++;

}

fclose(fin);

fclose(ftp);

remove("studata.txt");//删除原文件

rename("tmp.txt","studata.txt");//将临时文件名改为原文件名

printf("删除成功!") ;

}//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//

//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//

//运用switch语句进行菜单选择//

}intmain()

{int n=0;

logon();//menu_filename();//引用全局变量文件名

for(;;) //循环使用主界面直到遇到结束命令

{switch(menu_select()) //函数的调用//

{case 1:

printf("\t\t *^_^*学生记录添加 *^_^*\n");

add();break;case 2:

printf("\t\t *^_^*学生信息浏览 *^_^*\n");

scan();break;case 3:

printf("\t\t *^_^*学生信息查询 *^_^*\n");

query();break;case 4:

printf("\t\t *^_^*数据计算 *^_^*\n");

date();break;case 5:

printf("\t\t *^_^*数据修改 *^_^*\n");

amend();break;case 6:

printf("\t\t *^_^*数据删除 *^_^*\n");

delet();break;case 0:

printf("\n\t\t谢谢使用,再见!\n");

printf("\n\t\t");

system("pause");

exit(0);

}

}

system("pause");//system("pause"); */

return 0;

}

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的数据结构学生成绩管理系统C语言实现,包括添加学生信息、查询学生信息、修改学生信息和删除学生信息等功能: ```c #include <stdio.h> #include <string.h> #define max 100 /*定义结构体成员变量*/ typedef struct studentInformation { char student_name[20]; char student_class[10]; int student_number; float student_mysql; float student_math; float student_C; float sum_grade; } information; /*定义顺序表的存储结构*/ typedef struct studentList { information data[max]; int length; } list; /*初始化顺序表*/ void initList(list *L) { L->length = 0; } /*添加学生信息*/ void addStudent(list *L) { information stu; printf("请输入学生姓名:"); scanf("%s", stu.student_name); printf("请输入学生班级:"); scanf("%s", stu.student_class); printf("请输入学生学号:"); scanf("%d", &stu.student_number); printf("请输入学生数据库成绩:"); scanf("%f", &stu.student_mysql); printf("请输入学生高数成绩:"); scanf("%f", &stu.student_math); printf("请输入学生C语言成绩:"); scanf("%f", &stu.student_C); stu.sum_grade = stu.student_mysql + stu.student_math + stu.student_C; L->data[L->length] = stu; L->length++; printf("添加成功!\n"); } /*查询学生信息*/ void queryStudent(list L) { char name[20]; printf("请输入要查询的学生姓名:"); scanf("%s", name); int flag = 0; for (int i = 0; i < L.length; i++) { if (strcmp(name, L.data[i].student_name) == 0) { printf("学生姓名:%s\n", L.data[i].student_name); printf("学生班级:%s\n", L.data[i].student_class); printf("学生学号:%d\n", L.data[i].student_number); printf("学生数据库成绩:%.2f\n", L.data[i].student_mysql); printf("学生高数成绩:%.2f\n", L.data[i].student_math); printf("学生C语言成绩:%.2f\n", L.data[i].student_C); printf("学生总分:%.2f\n", L.data[i].sum_grade); flag = 1; break; } } if (flag == 0) { printf("未找到该学生信息!\n"); } } /*修改学生信息*/ void modifyStudent(list *L) { char name[20]; printf("请输入要修改的学生姓名:"); scanf("%s", name); int flag = 0; for (int i = 0; i < L->length; i++) { if (strcmp(name, L->data[i].student_name) == 0) { printf("请输入学生班级:"); scanf("%s", L->data[i].student_class); printf("请输入学生学号:"); scanf("%d", &L->data[i].student_number); printf("请输入学生数据库成绩:"); scanf("%f", &L->data[i].student_mysql); printf("请输入学生高数成绩:"); scanf("%f", &L->data[i].student_math); printf("请输入学生C语言成绩:"); scanf("%f", &L->data[i].student_C); L->data[i].sum_grade = L->data[i].student_mysql + L->data[i].student_math + L->data[i].student_C; printf("修改成功!\n"); flag = 1; break; } } if (flag == 0) { printf("未找到该学生信息!\n"); } } /*删除学生信息*/ void deleteStudent(list *L) { char name[20]; printf("请输入要删除的学生姓名:"); scanf("%s", name); int flag = 0; for (int i = 0; i < L->length; i++) { if (strcmp(name, L->data[i].student_name) == 0) { for (int j = i; j < L->length - 1; j++) { L->data[j] = L->data[j + 1]; } L->length--; printf("删除成功!\n"); flag = 1; break; } } if (flag == 0) { printf("未找到该学生信息!\n"); } } int main() { list L; initList(&L); int choice; while (1) { printf("请选择操作:\n"); printf("1.添加学生信息\n"); printf("2.查询学生信息\n"); printf("3.修改学生信息\n"); printf("4.删除学生信息\n"); printf("5.退出程序\n"); scanf("%d", &choice); switch (choice) { case 1: addStudent(&L); break; case 2: queryStudent(L); break; case 3: modifyStudent(&L); break; case 4: deleteStudent(&L); break; case 5: return 0; default: printf("输入有误,请重新输入!\n"); break; } } return 0; } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值