c语音程序设计—学生成绩管理系统
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语音程序设计—学生成绩管理系统相关的知识,希望对你有一定的参考价值。
#include"stdio.h"#include "stdlib.h"
#include "string.h"
typedef struct
char num[15];
char name[8];
int score[4]; //数组成员0、1、2为三门成绩,3为平均成绩
messege;
typedef struct
messege student[100];
int len;
lis;
lis list;
void menu();
void input_mune(char num);
void input();
void sort_menu();
void sort(char order);
void browse();
void exchange(); //结构体message成员变量互换函数
void del_menu();
void del();
main()
list.len=0;
menu();
void menu()
char num='6';
while (num!='0')
system("cls"); //清屏
printf("\n\n");
printf(" 学生成绩管理 \n");
printf("\n\n");
printf(" **************************************************** \n");
printf("\n");
printf(" 1.添加记录 \n"); //添加记录不排序
printf("\n");
printf(" 2.排序记录 \n");
printf("\n");
printf(" 3.浏览记录 \n");
printf("\n");
printf(" 4.插入记录 \n");
printf("\n");
printf(" 5.删除指定记录 \n");
printf("\n");
printf(" 0.退出 \n");
printf("\n");
printf(" **************************************************** \n");
printf("\n\n");
printf(" 请输入操作序号: ");
scanf("%s",&num);
if((num=='1')||(num=='4'))
input_mune(num);
else
if(num=='2')
sort_menu();
else
if(num=='3')
browse();
else
if(num=='5')
del_menu();
void input_mune(char num)
char n='2';
while (n!='0')
system("cls");
printf("\n\n");
printf(" 添加记录 \n");
printf("\n\n");
printf(" **************************************************** \n");
printf("\n");
printf(" 1.添加记录 \n");
printf("\n");
printf(" 0.返回主界面 \n");
printf("\n");
printf(" **************************************************** \n");
printf("\n\n");
printf(" 请输入操作序号: ");
scanf("%s",&n);
if(n=='1')
if(list.len>=100)
printf(" 学生信息表已满,无法添加\n");
else
input();
if(num=='4')
sort('1');
printf(" 输入任意键回车添加信息,返回主界面请输入0: ");
scanf("%s",&n);
void input()
int i;
printf(" 输入学生学号: ");
scanf("%s",&list.student[list.len].num);
printf("\n");
printf(" 输入学生姓名: ");
scanf("%s",&list.student[list.len].name);
printf("\n");
for(i=0;i<3;i++)
printf(" 输入成绩%d: ",i+1);
scanf("%d",&list.student[list.len].score[i]);
list.student[list.len].score[3]=(list.student[list.len].score[0]+list.student[list.len].score[1]+list.student[list.len].score[2])/3;
printf(" 你输入的信息为:\n");
printf(" 学号:%s",list.student[list.len].num);
printf(" 姓名:%s",list.student[list.len].name);
printf(" 成绩:%d %d %d",list.student[list.len].score[0],list.student[list.len].score[1],list.student[list.len].score[2]);
printf(" 平均成绩:%d\n",list.student[list.len].score[3]);
list.len=list.len+1;
void sort_menu()
char n='3';
while(n!='0')
system("cls");
printf("\n\n");
printf(" 排序 \n");
printf("\n\n");
printf(" **************************************************** \n");
printf("\n");
if(list.len==0)
printf(" 0.返回主界面 \n");
printf("\n");
printf(" **************************************************** \n");
printf("\n\n");
printf(" 记录为空,无法排序");
printf("\n\n");
printf(" 请输入操作序号: ");
scanf("%s",&n);
else
if(list.len==1)
printf(" 0.退出 \n");
printf("\n");
printf(" **************************************************** \n");
printf("\n\n");
printf(" 只有一条记录,无需排序");
printf("\n\n");
printf(" 请输入操作序号: ");
scanf("%s",&n);
else
printf(" 1.升序 \n");
printf("\n");
printf(" 2.降序 \n");
printf("\n");
printf(" 0.退出 \n");
printf("\n");
printf(" **************************************************** \n");
printf("\n\n");
printf(" 请输入操作序号: ");
scanf("%s",&n);
if((n=='1')||(n=='2'))
sort(n);
printf(" 排序完成,输入任意键回车添加信息,返回主界面请输入0: ");
scanf("%s",&n);
void sort(char order)
int i,j;
if(order=='1')
for(i=0;i<list.len-1;i++)
for(j=i+1;j<list.len;j++)
if(list.student[i].score[3]>list.student[j].score[3])
exchange(i,j);
else
if(order=='2')
for(i=0;i<list.len-1;i++)
for(j=i+1;j<list.len;j++)
if(list.student[i].score[3]<list.student[j].score[3])
exchange(i,j);
void exchange(int i,int j)
messege temp;
temp.score[0]=list.student[i].score[0];
temp.score[1]=list.student[i].score[1];
temp.score[2]=list.student[i].score[2];
temp.score[3]=list.student[i].score[3];
strcpy(temp.num,list.student[i].num);
strcpy(temp.name,list.student[i].name);
list.student[i].score[0]=list.student[j].score[0];
list.student[i].score[1]=list.student[j].score[1];
list.student[i].score[2]=list.student[j].score[2];
list.student[i].score[3]=list.student[j].score[3];
strcpy(list.student[i].num,list.student[j].num);
strcpy(list.student[i].name,list.student[j].name);
list.student[j].score[0]=temp.score[0];
list.student[j].score[1]=temp.score[1];
list.student[j].score[2]=temp.score[2];
list.student[j].score[3]=temp.score[3];
strcpy(list.student[j].num,temp.num);
strcpy(list.student[j].name,temp.name);
void browse()
int i;
char n='1';
while(n!='0')
system("cls");
printf("\n\n");
printf(" 浏览记录 \n");
printf("\n\n");
printf(" **************************************************** \n");
printf("\n");
printf(" 学号 姓名 成绩1 成绩2 成绩3 平均成绩 \n");
for(i=0;i<list.len;i++)
printf(" %-15s",list.student[i].num);
printf("%-8s",list.student[i].name);
printf("%5d",list.student[i].score[0]);
printf(" %5d",list.student[i].score[1]);
printf(" %5d",list.student[i].score[2]);
printf(" %8d\n",list.student[i].score[3]);
printf("\n");
printf(" **************************************************** \n");
printf("\n\n");
printf(" 输入任意键回车刷新,返回主界面请输入0: ");
scanf("%s",&n);
void del_menu()
char n='2';
while (n!='0')
system("cls");
printf("\n\n");
printf(" 删除记录 \n");
printf("\n\n");
printf(" **************************************************** \n");
printf("\n");
printf(" 1.删除记录 \n");
printf("\n");
printf(" 0.返回主界面 \n");
printf("\n");
printf(" **************************************************** \n");
printf("\n\n");
printf(" 请输入操作序号: ");
scanf("%s",&n);
if(n=='1')
del();
printf(" 输入任意键回车删除记录,返回主界面请输入0: ");
scanf("%s",&n);
void del()
int i,j;
char name[8];
printf(" 请输入学生姓名: ");
scanf("%s",name);
for(i=0;i<list.len;i++)
if(strcmp(name,list.student[i].name)==0)
for(j=i;j<list.len-1;j++)
list.student[j].score[0]=list.student[j+1].score[0];
list.student[j].score[1]=list.student[j+1].score[1];
list.student[j].score[2]=list.student[j+1].score[2];
list.student[j].score[3]=list.student[j+1].score[3];
strcpy(list.student[j].num,list.student[j+1].num);
strcpy(list.student[j].name,list.student[j+1].name);
list.len=list.len-1;
参考技术A 我们以前也做过
以上是关于c语音程序设计—学生成绩管理系统的主要内容,如果未能解决你的问题,请参考以下文章