c语言学生证管理程序的代码,C语言:学生证管理程序

满意答案

00e27ab806e4881f8254fe7ae8741834.png

a983117224

2013.04.14

00e27ab806e4881f8254fe7ae8741834.png

采纳率:55%    等级:11

已帮助:5644人

和我们的实训题目差不多,给你代码吧...我的作业哦O(∩_∩)O~

#include

#include

#include

#include

#define N 100

typedef struct

{int num;char name[10];char sex;char addr[10];float score[5];float average;float sum;}STU;

int i=0;

STU stu[N]={0};

FILE *fp;

void openfile();

void savefile();

void editmenu();

void findmenu();

void sort();

void stat();

void add();

void dele();

void modify();

void look();

float aver(STU *);

void main()

{char choose; do { system("cls"); printf("\n\n\n\n\n\n\n"); printf(" |******Student Grade Management System******|\n"); printf(" |-------------------------------------------|\n"); printf(" | Please input option(0-9): |\n"); printf(" |-------------------------------------------|\n"); printf(" | 1--Open file |\n"); printf(" | 2--save file |\n"); printf(" | 3--Edit |\n"); printf(" | 4--View find a student |\n"); printf(" | 5--Sort information |\n"); printf(" | 6--Great student |\n"); printf(" | 0--Exit |\n"); printf(" |-------------------------------------------|\n"); printf(" | software test class2 No.38 张苒 |\n"); printf(" |-------------------------------------------|\n"); fflush(stdin); scanf ("%c",&choose); switch(choose) {case '1':openfile();break; case '2':savefile();break; case '3':editmenu();break; case '4':findmenu();break; case '5':sort(); break; case '6':stat(); break; case '0': exit(0); default :printf("Input error.Please again."); }

}while(1);

}

void editmenu()

{char choose; do {system("cls"); printf("\n\n\n\n\n\n\n\n\n\n"); printf(" |-----------------------------------------------|\n"); printf(" | Please input option(0-3): |\n"); printf(" |-----------------------------------------------|\n"); printf(" | 1---Add record |\n"); printf(" | 2---Dele record |\n"); printf(" | 3---Modify record |\n"); printf(" | 4---look add number |\n"); printf(" | 0---Return |\n"); printf(" |-----------------------------------------------|\n"); scanf(" %c",&choose); switch (choose) { case'1':add();break; case'2':dele();break; case'3':modify();break; case'4':look();break; case'0':return; default:printf("Input error.Please again.\n"); }

} while(1);

}

void add()

{char ch;int m; do {printf("please input num:"); fflush(stdin); scanf("%d",&stu[i].num); fflush(stdin); printf("please input name:"); scanf("%s",stu[i].name); fflush(stdin); printf("please input sex:"); scanf("%c",&stu[i].sex); fflush(stdin); printf("please input addr:"); scanf("%s",stu[i].addr); fflush(stdin); printf("please input score:"); scanf("%f%f%f%f%f",&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3],&stu[i].score[4]); fflush(stdin); stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]+stu[i].score[3]+stu[i].score[4]; printf("sum is %.2f\n",stu[i].sum); stu[i].average=stu[i].sum/5; printf("average is %.2f\n",stu[i].average); i++; printf("if you will continue please print y else print n:\n"); fflush(stdin); scanf("%c",&ch); }while (ch!='n'&&ch!='N');

printf("num name sex addr score1 score2 score3 score4 score5 average sum\n");fflush(stdin);

for (m=0;m

printf("%d %s %c %s %.2f %.2f %.2f %.2f %.2f %.2f %.2f\n",stu[m].num,stu[m].name,stu[m].sex,stu[m].addr,stu[m].score[0],stu[m].score[1],stu[m].score[2],stu[m].score[3],stu[m].score[4],stu[m].average,stu[m].sum);getch();

}

void look()

{

printf("you have add %d record",i);

getch();

}

void openfile()

{

if((fp=fopen("d:\\1.dat","r"))==NULL)

{

printf("cannot open infile\n");

return;

}

while (i

{

fscanf(fp,"%d%s%c%s%f%f%f%f%f%f%f",&stu[i].num,stu[i].name,&stu[i].sex,stu[i].addr,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3],&stu[i].score[4],&stu[i].average,&stu[i].sum);

printf("%d %s %c %s %-.2f %-.2f %-.2f %-.2f %-.2f %-.2f %-.2f",stu[i].num,stu[i].name,stu[i].sex,stu[i].addr,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].score[4],stu[i].average,stu[i].sum);

i++;

}

}

void savefile()

{int j;FILE * fp;}

void findmenu()

{

int n,m;

printf("please input the student number which you want to find:");

scanf("%d",&n);getchar();

for(m=0;m

{if(n==stu[m].num)printf("num:%d name:%s sex:%c addr:%s score1:%.2f score2:%.2f score3:%.2f score4:%.2f score5:%.2f average:%.2f sum:%.2f\n",stu[m].num,stu[m].name,stu[m].sex,stu[m].addr,stu[m].score[0],stu[m].score[1],stu[m].score[2],stu[m].score[3],stu[m].score[4],stu[m].average,stu[m].sum);}

getch();

}

void sort()

{ int j,m;char ch;

STU t;

printf("\naverage rank please print (a),sum rank please print (b):\n");

fflush(stdin);

scanf("%c",&ch);getchar();

if(ch=='a')

{ for (m=0;m

{

for(j=0;j

if(stu[j].average

{

t=stu[j];

stu[j]=stu[j+1];

stu[j+1]=t;

}

}

printf("num name sex addr score1 score2 score3 score4 score5 average\n");

for(m=0;m

printf("%d %s %c %s %.2f %.2f %.2f %.2f %.2f %.2f\n",stu[m].num,stu[m].name,stu[m].sex,stu[m].addr,stu[m].score[0],stu[m].score[1],stu[m].score[2],stu[m].score[3],stu[m].score[4],stu[m].average);getchar();

}

if(ch=='b')

{for(m=0;m

}

printf("num name sex addr score1 score2 score3 score4 score5 sum\n");

for(m=0;m

printf("%d %s %c %s %.2f %.2f %.2f %.2f %.2f %.2f\n",stu[m].num,stu[m].name,stu[m].sex,stu[m].addr,stu[m].score[0],stu[m].score[1],stu[m].score[2],stu[m].score[3],stu[m].score[4],stu[m].sum);getchar();

}

}

void stat()

{

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

{

printf("num name sex addr score1 score2 score3 score4 score5 average sum\n");fflush(stdin);

printf("%d %s %c %s %-.2f %-.2f %-.2f %-.2f %-.2f %-.2f %-.2f\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].addr,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].score[4],stu[i].average,stu[i].sum);

}getchar();

}

void dele()

{int m,n; printf("please input the student number which you want to dele:"); scanf("%d",&n); for(m=0; m

i=i-1;

}

void modify()

{ int n,m,j;

char ch;

printf("please input the student number which you want to modify:");

scanf("%d",&n);

for(m=0;m

{ if(n==stu[m].num)

{ printf("num:%d name:%s sex:%c addr:%s score1:%.2f score2:%.2f score3:%.2f score4:%.2f score5:%.2f average:%.2f sum:%.2f\n",stu[m].num,stu[m].name,stu[m].sex,stu[m].addr,stu[m].score[0],stu[m].score[1],stu[m].score[2],stu[m].score[3],stu[m].score[4],stu[m].average,stu[m].sum);

printf("please input (y/n):");

scanf(" ch=%c",&ch);

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

{

printf("num:\n");

fflush(stdin);

scanf("%d",&stu[m].num);

fflush(stdin);

printf("name:\n");

fflush(stdin);

scanf("%s",stu[m].name);

printf("sex:\n");

fflush(stdin);

scanf("%c",&stu[m].sex);

printf("addr:\n");

fflush(stdin);

scanf("%s",stu[m].addr);

printf("input score1,score2,score3,score4,score5:\n");

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

scanf("%f",&stu[m].score[j]);

printf("average is :%.2f\n",aver(&stu[m]));

stu[m].sum=stu[m].score[0]+stu[m].score[1]+stu[m].score[2]+stu[m].score[3]+stu[m].score[4];

printf("sum is %.2f\n",stu[m].sum);fflush(stdin);

printf("if you will remodify please print [y] else print [n]:\n");

fflush(stdin);

scanf("%c",&ch);

}

}

}

}

float aver(STU *stu1)

{int j;float sum=0,average; for(j=0;j<5;j++) sum=sum+stu1->score[j]; average=sum/5; return average;}

14分享举报

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
设计一个学生证管理程序。该程序应该具有以下功能: (l)录入某位学生的学生证信息(学生证应该包含的位息请参看自己的学生证); (2)给定学号,显示某位学生的学生证信息; (3)给定某个班级的班号,按学号由小到大显示该班所有学生的学生证信息; (4)给定某个班级的班号,按姓名的字典顺序显示该班所有学生的学生证信息; (5)给定某位学生的学号,修改该学生的学生证信息; (6)给定某位学生的学号,删除该学生的学生证信息。 题目要求: (1)按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序,即在程序中加入异常处理,检查用户输入数据的有效性,以保证程序的健壮性; (2)学生证应该包含的信息请参看自己的学生证; (3)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单选项选则所需进行的操作项目,菜单要界面友好、清晰; (4)将所有学生证信息存储在一个文件中,并实现文件的读写操作,即将输入的数据以文件的形式存盘,将原来已经存盘的文件读入内存,进行管理; (5)应保证测试用例测试程序的各种边缘情况。 输入要求: 应用程序运行后,在屏幕上显示一个菜单。用户可以根据需要,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。 输出要求: (1)应用程序运行后,在屏幕上显示一个菜单。 (2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值