设计一个学生的学分管理程序

设计一个学生的学分管理程序,第1张

大一时自己写的一个东西。。。很简单的一个,不要笑。。你的那个太难了。。

#include<stdioh>

#include<mathh>

#include<stdlibh>

#include<ctypeh>

#include<stringh>

struct student{

int num;

char name[10];

int yuwen;

int shuxue;

int yingyu;

int kexue;

int sum;

}record[50];

void readin();

void display();

void find();

void order();

void add();

void del();

int menu_select();

int m=5;

extern float sum1 =0;

extern float sum2=0;

extern float sum3=0;

extern float sum4 =0;

extern int w = 0;

void main()

{

for(;;){

switch(menu_select()){

case 1:

readin();

break;

case 2:

display();

break;

case 3:

order();

break;

case 4:

find();

break;

case 5:

add();

break;

case 6:

del();

break;

case 7:

printf("Goodbye!\n");

exit(0);

}

}

}

//菜单选择

int menu_select()

{

char s;

int cn;

printf("1输入5个人的数据\n");

printf("2显示数据\n");

printf("3数据排序\n");

printf("4查询数据\n");

printf("5增加数据\n");

printf("6删除数据\n");

printf("7Goodbye\n");

printf("Input 1-7:");

do{

s=getchar();

cn=int(s)-48;

}while(cn<0||cn>7);

return cn;

}

//显示数据

void display()

{

char c[7]={"学号","姓名","语文","数学","英语","科学","总成绩"};

char d[1]={"平均成绩"};

int i;

printf("\n%8s\t%8s\t%4s\t%4s\t%4s\t%4s\t%4s\n",c[0],c[1],c[2],c[3],c[4],c[5],c[6]);

sum1 = 0;

sum2 = 0;

sum3 = 0;

sum4 = 0;

for(i=0;i<50;i++)

{

record[i]sum=0;

record[i]sum=record[i]sum+record[i]yuwen+record[i]shuxue+record[i]yingyu+record[i]kexue;

if(record[i]sum==0) break;

printf("\n%8d\t%8s\t%4d\t%4d\t%4d\t%4d\t%4d",record[i]num,record[i]name,record[i]yuwen,record[i]shuxue,record[i]yingyu,record[i]kexue,record[i]sum);

sum1=sum1+record[i]yuwen;

sum2=sum2+record[i]shuxue;

sum3=sum3+record[i]yingyu;

sum4=sum4+record[i]kexue;

}

w = i+1;

record[i+1]sum = 0;

printf("\n%8s\t\t\t %31f %31f %31f %31f",d[0],sum1/m,sum2/m,sum3/m,sum4/m);

printf("\n");

}

//输入数据

void readin()

{

char ch[10];

int i;

printf("输入数据\n");

for(i=0;i<5;i++)

{

printf("学号:");

scanf("%d",&record[i]num);

printf("姓名:");

getchar();

gets(ch);

strcpy(record[i]name,ch);

printf("语文:");

scanf("%d",&record[i]yuwen);

printf("数学:");

scanf("%d",&record[i]shuxue);

printf("英语:");

scanf("%d",&record[i]yingyu);

printf("科学:");

scanf("%d",&record[i]kexue);

}

printf("输入结束!\n");

}

//排序

void order()

{

struct student t;

int i,j;

char c[7]={"学号","姓名","语文","数学","英语","科学","总成绩"};

char d[1]={"平均成绩"};

for(i=0;i<50;i++)

{

record[i]sum=record[i]yuwen+record[i]shuxue+record[i]yingyu+record[i]kexue;

if(record[i]sum==0) break;

}

for(i=0;i<w;i++)

{

if(record[i]sum==0) break;

for(j=0;j<50;j++){

if(record[i]sum>record[j]sum)

{

t=record[i];

record[i]=record[j];

record[j]=t;

}

}

}

printf("\n");

printf("\n%8s\t%8s\t%4s\t%4s\t%4s\t%4s\t%4s\n",c[0],c[1],c[2],c[3],c[4],c[5],c[6]);

for(i=0;i<50;i++)

{

printf("\n%8d\t%8s\t%4d\t%4d\t%4d\t%4d\t%4d",record[i]num,record[i]name,record[i]yuwen,record[i]shuxue,record[i]yingyu,record[i]kexue,record[i]sum);

if(record[i+1]sum==0) break;

}

printf("\n%8s\t\t\t %31f %31f %31f %31f",d[0],sum1/m,sum2/m,sum3/m,sum4/m);

printf("\n");

}

//查询

void find()

{

int i;

char na[10];

printf("\n查询姓名:");

gets(na);

gets(na);

for(i=0;i<50;i++)

{

if(record[i]sum == 0)

break;

if(strcmp(na,record[i]name)==0)

printf("\n%8d\t%8s\t%4d\t%4d\t%4d\t%4d\t%4d\n",record[i]num,record[i]name,record[i]yuwen,record[i]shuxue,record[i]yingyu,record[i]kexue,record[i]sum);

}

}

//删除

void del()

{

int i,j;

char ma[10];

char c[7]={"学号","姓名","语文","数学","英语","科学","总成绩"};

char d[1]={"平均成绩"};

printf("请输入要删除的姓名:");

gets(ma);

gets(ma);

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

{

if(strcmp(ma,record[j]name)==0)

{ m=m-1;

if(m<=0) break;

for(i=j;i<50;i++)

{

record[i]num=record[i+1]num;

strcpy(record[i]name,record[i+1]name);

record[i]yuwen=record[i+1]yuwen;

record[i]shuxue=record[i+1]shuxue;

record[i]yingyu=record[i+1]yingyu;

record[i]kexue=record[i+1]kexue;

record[i]sum=record[i+1]sum;

}

}

}

sum1 =0;

sum2 =0;

sum3 =0;

sum4 =0;

printf("\n%8s\t%8s\t%4s\t%4s\t%4s\t%4s\t%4s\n",c[0],c[1],c[2],c[3],c[4],c[5],c[6]);

for(i=0;i<50;i++)

{

record[i]sum=0;

record[i]sum=record[i]sum+record[i]yuwen+record[i]shuxue+record[i]yingyu+record[i]kexue;

if(record[i]sum==0) break;

printf("\n%8d\t%8s\t%4d\t%4d\t%4d\t%4d\t%4d",record[i]num,record[i]name,record[i]yuwen,record[i]shuxue,record[i]yingyu,record[i]kexue,record[i]sum);

sum1=sum1+record[i]yuwen;

sum2=sum2+record[i]shuxue;

sum3=sum3+record[i]yingyu;

sum4=sum4+record[i]kexue;

}

printf("\n%8s\t\t\t %31f %31f %31f %31f",d[0],sum1/m,sum2/m,sum3/m,sum4/m);

printf("\n");

}

//增加

void add()

{

int i,k;

char ch[20];

char c[7]={"学号","姓名","语文","数学","英语","科学","总成绩"};

char d[1]={"平均成绩"};

printf("你要增加的人数:");

scanf("%d",&k);

for(i=0;i<k;i++)

{

printf("学号:");

scanf("%d",&record[m+i]num);

printf("姓名:");gets(ch);

strcpy(record[m+i]name,gets(ch));

printf("语文:");

scanf("%d",&record[m+i]yuwen);

printf("数学:");

scanf("%d",&record[m+i]shuxue);

printf("英语:");

scanf("%d",&record[m+i]yingyu);

printf("科学:");

scanf("%d",&record[m+i]kexue);

}

m=m+k;

w = w+k;

printf("\n%8s\t%8s\t%4s\t%4s\t%4s\t%4s\t%4s\n",c[0],c[1],c[2],c[3],c[4],c[5],c[6]);

sum1 =0;

sum2 =0;

sum3 =0;

sum4 =0;

for(i=0;i<50;i++)

{

record[i]sum=record[i]yuwen+record[i]shuxue+record[i]yingyu+record[i]kexue;

if(record[i]sum==0) break;

printf("\n%8d\t%8s\t%4d\t%4d\t%4d\t%4d\t%4d",record[i]num,record[i]name,record[i]yuwen,record[i]shuxue,record[i]yingyu,record[i]kexue,record[i]sum);

sum1=sum1+record[i]yuwen;

sum2=sum2+record[i]shuxue;

sum3=sum3+record[i]yingyu;

sum4=sum4+record[i]kexue;

}

printf("\n%8s\t\t\t %31f %31f %31f %31f",d[0],sum1/m,sum2/m,sum3/m,sum4/m);

printf("\n");

}

近几年来,随着我国法制建设的不断加强和学生维权意识的增强,高校因在学生管理中违反法律、侵害学生的权利而成为被告的现象不断出现。这也表明学生开始选择诉讼方式来保护自己的权利。在这样的一个时代背景下,研究高校学生的权利具有十分重要的意义。目前,对高校学生的实体性权利研究已有一定的成果,对程序性权利的研究还非常欠缺。而程序性权利对于实体性权利的保障又是不可或缺的,故本文旨在对高校学生程序性权利作一研究。

程序性法律原则是规定程序性法律问题的原则。程序性法律原则的功能是调整程序上的权利义务关系,例如:公开原则、回避原则、司法独立原则、谁主张谁举证原则、排除非法证据原则等。

我以前写了个,你拿去参考下吧:

#include <timeh>

#include<stdioh>

#include<conioh>

#include <stdlibh>

#include<stringh>

#define MAX 80

void input();

void sort();

void display();

void insert();

void del();

void average();

void find();

void save();

void read();

void del_file();

void average();

void modify();

int now_no=0;

struct student

{

int no;

char name[20];

char sex[4];

float score1;

float score2;

float score3;

float sort;

float ave;

float sum;

};

struct student stu[MAX],p;

main()/主函数/

{

int as;

start: printf("\n\t\t\t欢迎使用学生成绩管理系统\n");

/一下为功能选择模块/

do

{

printf("\n\t\t\t\t1录入学员信息\n\t\t\t\t2显示学员信息\n\t\t\t\t3成绩排序信息\n\t\t\t\t4添加学员信息\n\t\t\t\t5删除学员信息\n\t\t\t\t6修改学员信息\n\t\t\t\t7查询学员信息\n\t\t\t\t8从文件读入学员信息\n\t\t\t\t9删除文件中学员信息\n\t\t\t\t10保存学员信息\n\t\t\t\t11退出\n");

printf("\t\t\t\t选择功能选项:");

fflush(stdin);

scanf("%d",&as);

switch(as)

{

case 1:system("cls");input();break;

case 2:system("cls");display();break;

case 3:system("cls");sort();break;

case 4:system("cls");insert();break;

case 5:system("cls");del();break;

case 6:system("cls");modify();break;

case 7:system("cls");find();break;

case 8:system("cls");read();break;

case 9:system("cls");del_file();break;

case 10:system("cls");save();break;

case 11:system("exit");exit(0);

default:system("cls");goto start;

}

}while(1);

/至此功能选择结束/

}

void input()/原始数据录入模块/

{

int i=0;

char ch;

do

{

printf("\t\t\t\t1录入学员信息\n输入第%d个学员的信息\n",i+1);

printf("\n输入学生编号:");

scanf("%d",&stu[i]no);

fflush(stdin);

printf("\n输入学员姓名:");

fflush(stdin);

gets(stu[i]name);

printf("\n输入学员性别:");

fflush(stdin);

gets(stu[i]sex);

printf("\n输入学员成绩1:");

fflush(stdin);

scanf("%f",&stu[i]score1);

printf("\n输入学员成绩2:");

fflush(stdin);

scanf("%f",&stu[i]score2);

printf("\n输入学员成绩3:");

fflush(stdin);

scanf("%f",&stu[i]score3);

printf("\n\n");

i++;

now_no=i;

printf("是否继续输入(Y/N)");

fflush(stdin);

ch=getch();

system("cls");

}

while(ch!='n'&&ch!='N');

system("cls");

}

void sort()/排序数据函数/

{

struct student temp;

int i,j;

average();

for(i=1;i<now_no;i++)

{

for(j=1;j<=now_no-i;j++)

{

if(stu[j-1]ave<stu[j]ave)

{

temp=stu[j];

stu[j]=stu[j-1];

stu[j-1]=temp;

}

}

}

}

void display()/显示数据函数/

{

int i;

char as;

average();

do

{

printf("\t\t\t班级学员信息列表\n");

printf("\t编号\t姓名\t性别\t成绩1\t成绩2\t成绩3\t平均值\n");

for(i=0;i<now_no&&stu[i]name[0];i++)printf("\t%d\t%s\t%s\t%2f\t%2f\t%2f\t%2f\n",stu[i]no,stu[i]name,stu[i]sex,stu[i]score1,stu[i]score2,stu[i]score3,stu[i]ave);

printf("\t\t按任意键返回主菜单");

fflush(stdin);

as=getch();

}

while(!as);

system("cls");

}

void insert()/插入数据函数/

{

char ch;

do

{

printf("\n\t\t输入新插入学员队信息\n");

printf("\n输入学生编号:");

scanf("%d",&stu[now_no]no);

fflush(stdin);

printf("\n输入学员姓名:");

fflush(stdin);

gets(stu[now_no]name);

printf("\n输入学员性别:");

fflush(stdin);

gets(stu[now_no]sex);

printf("\n输入学员成绩1:");

fflush(stdin);

scanf("%f",&stu[now_no]score1);

printf("\n输入学员成绩2:");

fflush(stdin);

scanf("%f",&stu[now_no]score2);

printf("\n输入学员成绩3:");

fflush(stdin);

scanf("%f",&stu[now_no]score3);

printf("\n\n");

now_no=now_no+1;

sort();

printf("是否继续输入(Y/N)");

fflush(stdin);

ch=getch();

system("cls");

}

while(ch!='n'&&ch!='N');

}

void del()/删除数据函数/

{

int inum,i,j;

printf("输入要删除学员的编号:");

fflush(stdin);

scanf("%d",&inum);

for(i=0;i<now_no;i++)

{

if(stu[i]no==inum)

{

if(i==now_no)now_no-=1;

else

{

stu[i]=stu[now_no-1];

now_no-=1;

}

sort();

break;

}

}

system("cls");

}

void save()/保存数据函数/

{

FILE fp;

int i;

char filepath[20];

printf("输入要保存的文件路径:");

fflush(stdin);

gets(filepath);

if((fp=fopen(filepath,"w"))==NULL)

{

printf("\n保存失败!");

exit(0);

}

for(i=0;i<now_no;i++)

{

stu[i]sum=stu[i]score1+stu[i]score2+stu[i]score3;

stu[i]ave=stu[i]sum/3;

fprintf(fp,"\t%d\t%s\t%s\t%2f\t%2f\t%2f\t%2f\n",stu[i]no,stu[i]name,stu[i]sex,stu[i]score1,stu[i]score2,stu[i]score3,stu[i]ave);

}

fclose(fp);

printf("学生信息已保存在%s中!\n",filepath);

system("pause");

system("cls");

}

void find()/查询函数/

{

int i;

char str[20],as;

do

{

printf("输入要查询的学生姓名:");

fflush(stdin);

gets(str);

for(i=0;i<now_no;i++)

if(!strcmp(stu[i]name,str))

{

printf("\t编号\t姓名\t性别\t成绩1\t成绩2\t成绩3\t平均值\n");

printf("\t%d\t%s\t%s\t%2f\t%2f\t%2f\t%2f\n",stu[i]no,stu[i]name,stu[i]sex,stu[i]score1,stu[i]score2,stu[i]score3,stu[i]ave);

}

printf("\t\t按任意键返回主菜单");

fflush(stdin);

as=getch();

}

while(!as);

system("cls");

}

void average()/求平均数/

{

int i;

for(i=0;i<now_no;i++)

{

stu[i]sum=stu[i]score1+stu[i]score2+stu[i]score3;

stu[i]ave=stu[i]sum/3;

}

}

void modify()/修改数据函数/

{

int i;

char str[20],as;

printf("输入要修改的学生姓名:");

fflush(stdin);

gets(str);

for(i=0;i<now_no;i++)

if(!strcmp(stu[i]name,str))

{

system("cls");

printf("\n\t\t输入新插入学员队信息\n");

printf("\n输入学生编号:");

fflush(stdin);

scanf("%d",&stu[i]no);

printf("\n输入学员性别:");

fflush(stdin);

gets(stu[i]sex);

printf("\n输入学员成绩1:");

fflush(stdin);

scanf("%f",&stu[i]score1);

printf("\n输入学员成绩2:");

fflush(stdin);

scanf("%f",&stu[i]score2);

printf("\n输入学员成绩3:");

fflush(stdin);

scanf("%f",&stu[i]score3);

printf("\n\n");

sort();

break;

}

system("cls");

}

void read()

{

FILE fp;

int i;

char filepath[20];

printf("输入要读入的文件路径:");

fflush(stdin);

gets(filepath);

if((fp=fopen(filepath,"r"))==NULL)

{

printf("找不到%s文件!\n",filepath);

system("pause");

exit(0);

}

now_no=0;

for(i=0;i<MAX&&!feof(fp);i++)

{

fscanf(fp,"\t%d\t%s\t%s\t%f\t%f\t%f\t%f\n",&stu[i]no,stu[i]name,stu[i]sex,&stu[i]score1,&stu[i]score2,&stu[i]score3,&stu[i]ave);

now_no++;

}

fclose(fp);

printf("保存的在文件%s中的所有信息已经读入!\n",filepath);

system("pause");

system("cls");

}

void del_file()

{

FILE fp;

char filepath[20];

printf("输入要删除的文件路径:");

fflush(stdin);

gets(filepath);

fp=fopen(filepath,"w");

fclose(fp);

printf("保存的在文件%s中的所有信息已经删除!\n",filepath);

system("pause");

system("cls");

}

以上就是关于设计一个学生的学分管理程序全部的内容,包括:设计一个学生的学分管理程序、学生的程序性权利是什么意思、用C语言编写一个简单的学生成绩管理的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9630163.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存