您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页学生信息管理系统c语言版源代码

学生信息管理系统c语言版源代码

来源:华佗小知识
#include <>

#include <>

#include <>

#include <>

#define N 1000

typedef struct student {

int number;

char name[20]; int grade;

int gaoshu;

int yingyu;

int jisuanji; int sum;

}STUDENT;

STUDENT student[N];

int shuliang=0;

void menu();

void fhzjm() {

char biaozhi[20];

printf(\"\\n\");

printf(\"还需要操作么如果需要操作请输入:yes,否则请输入:no\\n\");

scanf(\"%s\

if(strcmp(biaozhi,\"yes\")==0) { menu(); }

else if(strcmp(biaozhi,\"no\")==0) exit(0); else {

printf(\"请输入正确的字符,谢谢!\\n\");

fhzjm(); } }

void DengJi() { int rs; int i,k=1;

system(\"CLS\");

printf(\"请输入需要输入几个学生信息:

scanf(\"%d\

for(i=shuliang;i\"); {

printf(\"请输入第%d个学生的学号:\

scanf(\"%d\

printf(\"请输入学生的姓名:\");

scanf(\"%s\

printf(\"请输入学生3门课的成绩:\");

printf(\"请输入第1门课的成绩:\");

scanf(\"%d\

printf(\"请输入第2门课的成绩:\");

scanf(\"%d\

printf(\"请输入第3门课的成绩:\");

scanf(\"%d\ }

shuliang=shuliang+rs; fhzjm(); }

void ShanChu() {

char shanchuinfo[10];

system(\"CLS\");

printf(\"删除全部学生信息请输入\\\"all\\\",删除指定学号的学生信息请输入\\\"one\\\"\\n\");

scanf(\"%s\

if(strcmp(shanchuinfo,\"all\")==0) { int j;

printf(\"你删除的学生信息如下:\\n\");

printf(\"-----------学号-------------姓名-------------高数--------------英语--------------计算机\\\n\");

for(j=0;jprintf(\"----%d-------%s-------%d-------%d-------%d\\\n\,student[j].name,student[j].gaoshu,student[j].jisuanji);

shuliang=0;

printf(\"删除成功\\n\\n\");

}

else if(strcmp(shanchuinfo,\"one\")==0) {

struct student *p=NULL;

int choice;

int i,j,k=0;

printf(\"请输入你要删除的人的学号:\");

scanf(\"%d\

for(i=0;iif(choice==student[i].number)

{

k=1;j=i;break; } } if(k) {

if(shuliang==1) {

p=&student[0]; free(p);

shuliang=0;

} else {

for(i=j;istudent[i]=student[i+1]; }

shuliang=shuliang-1; }

printf(\"删除成功\\n\\n\"); }

else {

printf(\"输入数据错误!\\n\"); } } fhzjm(); }

void LiuLan() { int i;

system(\"CLS\");

if(shuliang==0) {

printf(\"系统里面没有任何学生的信息!\\n\"); } else {

for(i=0;iprintf(\"第%d个学生的学号为:%d\\n\

printf(\"第%d个学生的姓名为:%s\\n\

printf(\"第%d

个学生的第一门课的成为:%d\\n\

printf(\"第%d

个学生的第二门课的成绩

为:%d\\n\

printf(\"第%d

个学生的第三门课的成绩

为:%d\\n\

student[i].sum=student[i].gaoshu+student[i].yingyu+student[i].jisuanji;

printf(\"第%d个学生的总成绩为:%d\\n\ } } fhzjm(); }

void ChaZhao()

{ int xx;

char choice,yy[20];

int i,j,k=0;

system(\"CLS\");

if(shuliang==0) {

printf(\"系统里面没有任何学生的信息!\\n\"); fhzjm(); }

printf(\"三种查找方式:学号,姓名,成绩\\n\");

printf(\"如果按学号查找请输1,如果按姓名查找请输2,如果按成绩查找请输3\\n\");

printf(\"请输入您查找的方式:\");

scanf(\"%s\

if(choice=='1') {

printf(\"请输入需要查找学生的学号:\");

scanf(\"%d\

printf(\"您所查找的学生的信息为:\\n\");

printf(\"----学号----姓名----高数成绩----英语成绩----计算机成绩----\\\n\");

for(i=0;i{

if(xx==student[i].number) { j=i;k=1;

printf(\"----%d-------%s-------%d-------%d-------%d----\\\n\ber,student[j].name,student[j].gaoshu,student[j].yingyu,student[i].jisuanji); } } if(k==0)

printf(\"输入信息有误:\\n\"); }

else if(choice=='2') {

printf(\"请输入需要查找学生的姓名:\\n\");

scanf(\"%s\

printf(\"您所查找的学生的信息为:\\n\");

printf(\"----学号----姓名----高数成绩----英语成绩----计算机成绩----\\\n\");

for(i=0;iif(strcmp(yy,student[i].name)==0) { j=i;k=1;

printf(\"----%d-------%s-------%d-------%d-------%d----\\\n\ber,student[j].name,student[j].gaoshu,student[j].yingyu,student[j].jisuanji); } } if(k==0)

printf(\"输入信息有误:\\n\"); }

else if(choice=='3') {

printf(\"请输入需要查找学生的成绩:

scanf(\"%d\

\\n\");

printf(\"您所查找的学生的信息为:\\n\");

printf(\"----学号----姓名----高数----英语----计算机----\\\n\");

for(i=0;iif(xx==student[i].grade) { j=i;k=1;

printf(\"----%d-------%s-------%d-------%d-------%d----\\\n\ber,student[j].name,student[j].gaoshu,student[j].yingyu,student[i].jisuanji); } }

if(k==0)

printf(\"输入信息有误:\\n\"); } fhzjm(); }

void PaiXu() {

struct student *p1[N],**p2,*temp; int i,j;

system(\"CLS\"); p2=p1;

for( i=0;ip1[i]=student+i; }

for( i=0;ifor( j=i+1;jif((*(p2+i))->sum<(*(p2+j))->sum)

{temp=*(p2+i);*(p2+i)=*(p2+j);*(p2+j)=temp;} }

}

printf(\"按照总成绩排序之后的信息为:\\n\");

printf(\"----学号----姓名----总成绩----\\\n\");

for( i=0;istudent[i].sum=student[i].gaoshu+student[i].yingyu+student[i].jisuanji;

printf(\"----%d-----%s----%d-----\\n\*(p2+i))->sum); } fhzjm(); }

void CunChu() { int i; FILE *rs;

if((rs=fopen(\"\ {

printf(\"not open\"); exit(0); }

for(i=0;ifwrite(&student[i], sizeof(student[i]), 1, rs); }

if(ferror(rs)) { fclose(rs);

perror(\"写文件失败!\\n\"); return; }

printf(\"存储文件成功!\\n\"); fclose(rs); fhzjm();

}

void DaoChu() {

struct student t; int i=0;

FILE* fp = fopen(\"\

shuliang=0;

if(NULL==fp) {

perror(\"读取文件打开失败!\\n\"); return;

}

memset(student,0x0,sizeof(student)); while(1) {

fread(&t,sizeof(t),1,fp);

if(ferror(fp)) {

fclose(fp);

perror(\"读文件过程失败!\\n\"); return; }

if(feof(fp)) { break; }

student[i]=t; i++; }

fclose(fp);

shuliang=i;

printf(\"导出文件成功!\\n\"); fhzjm();

}

void menu() { int n=0;

system(\"CLS\");

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

printf(\" 作者:陈椿\\n\");

printf(\"-------------------MENU-----------------\\n\");

printf(\" 1.登记学生信息\\n\");

printf(\" 2.删除学生信息\\n\");

printf(\" 3.浏览所有已经登记的学生\\n\");

printf(\" 4.查找\\n\");

printf(\" 按学号查找\\n\");

printf(\" 按姓名查找\\n\");

printf(\" 按成绩查找\\n\");

printf(\" 5.根据总成绩排序\\n\");

printf(\" 6.存储到文件\\n\");

printf(\" 7.从文件导出\\n\");

printf(\" 8.退出系统\\n\");

a: printf(\" 请选择:\");

scanf(\"%d\ switch (n)

{ case 1:

DengJi();break; case 2:

ShanChu();break; case 3:

LiuLan();break; case 4:

ChaZhao();break; case 5:

PaiXu();break;

case 6:

CunChu();break; case 7:

DaoChu();break; case 8:

exit(0);break; default: {

printf(\"请输入1-8之间的数字,谢谢! goto a; }

\\n\"); } } main() { menu(); }

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务