输入10个学生5门课的成绩并完成?
#include "stdio.h"
#include "string.h"
#include "windows.h"
#include "conio.h"
void input();
void menu();
struct student
{
int code;
char name[20];
char sex;
int age;
int chinese;
int english;
int computer;
int math;
int total;
int average;
}stud[100];
struct student temp;
void input()
{
int num,i;
printf("请问您要输入几个学生的信息?\n");
scanf("%d",&num);
for(i=0;i<num;i++)
{
printf("请输入第%d个学生的学号:\n",i+1);
scanf("%d",&stud[i].code);
printf("请输入第%d个学生的姓名:\n",i+1);
scanf("%s",&stud[i].name);
fflush(stdin);
printf("请输入第%d个学生的性别(F为女,M为男):\n",i+1);
scanf("%c",&stud[i].sex);
fflush(stdin);
printf("请输入第%d个学生的年龄:\n",i+1);
scanf("%d",&stud[i].age);
printf("请输入第%d个学生的语文成绩:\n",i+1);
scanf("%d",&stud[i].chinese);
printf("请输入第%d个学生的英语成绩:\n",i+1);
scanf("%d",&stud[i].english);
printf("请输入第%d个学生的计算机成绩:\n",i+1);
scanf("%d",&stud[i].computer);
printf("请输入第%d个学生的数学成绩:\n",i+1);
scanf("%d",&stud[i].math);
stud[i].total = stud[i].chinese+stud[i].english+stud[i].computer+stud[i].math;
stud[i].average = stud[i].total/4;
}
printf("您已经输入了%d个学生的信息",num);
printf("\n请按任意键返回主菜单!");
fflush(stdin);
getch();
system("cls");
menu();
}
void find()
{
int choice,i,code;
char name[20];
printf("请问您需要按照哪一个方式来查找学员:\n");
printf("查找方式:1.按学号查找。2.按姓名查找。\n");
scanf("%d",&choice);
if(choice==1)
{
printf("请输入您要查找的同学的学号:\n");
scanf("%d",&code);
for(i=0;i<100;i++)
{
if(code == stud[i].code)
{
printf("\n第%d个学生的学号是:%d\n",i+1,stud[i].code);
printf("第%d个学生的姓名是:%s\n",i+1,stud[i].name);
printf("第%d个学生的性别是:%c\n",i+1,stud[i].sex);
printf("第%d个学生的年龄是:%d\n",i+1,stud[i].age);
printf("第%d个学生的语文成绩是:%d\n",i+1,stud[i].chinese);
printf("第%d个学生的英语成绩是:%d\n",i+1,stud[i].english);
printf("第%d个学生的计算机成绩是:%d\n",i+1,stud[i].computer);
printf("第%d个学生的数学成绩是:%d\n",i+1,stud[i].math);
printf("第%d个学生的总成绩是:%d\n",i+1,stud[i].total);
printf("第%d个学生的平均分是:%d\n",i+1,stud[i].average);
printf("══════════════════════════════\n");
}
}
}
else if(choice==2)
{
printf("请输入您要查找的学生的姓名");
fflush(stdin);
gets(name);
for(i=0;i<100;i++)
{
if(strcmp(name,stud[i].name)==0)
{
printf("\n第%d个学生的学号是:%d\n",i+1,stud[i].code);
printf("第%d个学生的姓名是:%s\n",i+1,stud[i].name);
printf("第%d个学生的性别是:%c\n",i+1,stud[i].sex);
printf("第%d个学生的年龄是:%d\n",i+1,stud[i].age);
printf("第%d个学生的语文成绩是:%d\n",i+1,stud[i].chinese);
printf("第%d个学生的英语成绩是:%d\n",i+1,stud[i].english);
printf("第%d个学生的计算机成绩是:%d\n",i+1,stud[i].computer);
printf("第%d个学生的数学成绩是:%d\n",i+1,stud[i].math);
printf("第%d个学生的总成绩是:%d\n",i+1,stud[i].total);
printf("第%d个学生的平均分是:%d\n",i+1,stud[i].average);
printf("══════════════════════════════\n");
}
}
}
else
{
printf("请输入1或者2,只能按照姓名或者学号来查找学生信息");
fflush(stdin);
getch();
system("cls");
find();
}
printf("学生相关信息打印完毕");
printf("\n请按任意键返回主菜单!");
fflush(stdin);
getch();
system("cls");
menu();
}
void insert()
{
int i,j=0;
system("cls");
printf("请输入要插入学生的信息:\n");
printf("请输入学生的学号:\n");
scanf("%d",&temp.code);
printf("请输入学生的姓名:\n");
scanf("%s",&temp.name);
fflush(stdin);
printf("请输入学生的性别(F为女,M为男):\n");
scanf("%c",&temp.sex);
fflush(stdin);
printf("请输入学生的年龄:\n");
scanf("%d",&temp.age);
printf("请输入学生的语文成绩:\n");
scanf("%d",&temp.chinese);
printf("请输入学生的英语成绩:\n");
scanf("%d",&temp.english);
printf("请输入学生的计算机成绩:\n");
scanf("%d",&temp.computer);
printf("请输入学生的数学成绩:\n");
scanf("%d",&temp.math);
temp.total = temp.chinese+temp.english+temp.computer+temp.math;
temp.average = temp.total/4;
for(i=0;i<100;i++)
{
if(temp.code<stud[i].code)
{
for(j=99;j>i;j--)
{
stud[j]=stud[j-1];
}
}
stud[j]=temp;
break;
}
printf("你成功已插入了学生的信息!");
printf("\n请按任意键返回主菜单!");
fflush(stdin);
getch();
system("cls");
menu();
}
void del()
{
int code,i,j;
printf("请输入您要删除的学员的学号:\n");
scanf("%d",&code);
for(i=0;i<100;i++)
{
if(code==stud[i].code)
{
for(j=i;j<100;j++)
{
stud[j]=stud[j+1];
}
}
if(strlen(stud[i].name)>0)
{
printf("\n第%d个学生的学号是:%d\n",i+1,stud[i].code);
printf("第%d个学生的姓名是:%s\n",i+1,stud[i].name);
printf("第%d个学生的性别是:%c\n",i+1,stud[i].sex);
printf("第%d个学生的年龄是:%d\n",i+1,stud[i].age);
printf("第%d个学生的语文成绩是:%d\n",i+1,stud[i].chinese);
printf("第%d个学生的英语成绩是:%d\n",i+1,stud[i].english);
printf("第%d个学生的计算机成绩是:%d\n",i+1,stud[i].computer);
printf("第%d个学生的数学成绩是:%d\n",i+1,stud[i].math);
printf("第%d个学生的总成绩是:%d\n",i+1,stud[i].total);
printf("第%d个学生的平均分是:%d\n",i+1,stud[i].average);
printf("══════════════════════════════\n");
}
}
printf("学生相关信息打印完毕");
printf("\n请按任意键返回主菜单!");
fflush(stdin);
getch();
system("cls");
menu();
}
void output()
{
int i;
for(i=0;i<100;i++)
{
if(strlen(stud[i].name)>0)
{
printf("\n第%d个学生的学号是:%d\n",i+1,stud[i].code);
printf("第%d个学生的姓名是:%s\n",i+1,stud[i].name);
printf("第%d个学生的性别是:%c\n",i+1,stud[i].sex);
printf("第%d个学生的年龄是:%d\n",i+1,stud[i].age);
printf("第%d个学生的语文成绩是:%d\n",i+1,stud[i].chinese);
printf("第%d个学生的英语成绩是:%d\n",i+1,stud[i].english);
printf("第%d个学生的计算机成绩是:%d\n",i+1,stud[i].computer);
printf("第%d个学生的数学成绩是:%d\n",i+1,stud[i].math);
printf("第%d个学生的总成绩是:%d\n",i+1,stud[i].total);
printf("第%d个学生的平均分是:%d\n",i+1,stud[i].average);
printf("══════════════════════════════\n");
}
}
printf("学生相关信息打印完毕");
printf("\n请按任意键返回主菜单!");
fflush(stdin);
getch();
system("cls");
menu();
}
void sort()
{
int i,j;
for(i=0;i<100;i++)
{
for(j=i+1;j<100;j++)
{
if(strlen(stud[i].name)>0 && strlen(stud[j].name)>0)
{
if(stud[i].average<stud[j].average)
{
temp=stud[i];
stud[i]=stud[j];
stud[j]=temp;
}
}
}
}
printf("学生信息按照平均分降序排序完毕\n");
output();
}
void error()
{
printf("输入错误,请输入(1-7):\n");
printf("按任意键结束。。。。。\n");
fflush(stdin);
getch();
system("cls");
menu();
}
void menu()
{
int choice;
system("cls");
printf("\t\t学生信息管理系统\n");
printf("*************************************************\n");
printf("\t\t【1】输入数据\n");
printf("\t\t【2】查找数据\n");
printf("\t\t【3】插入数据\n");
printf("\t\t【4】删除数据\n");
printf("\t\t【5】输出数据\n");
printf("\t\t【6】排序数据\n");
printf("\t\t【7】退出\n");
printf("*************************************************\n");
printf("请输入您的选择(1-7)\n");
scanf("%d",&choice);
switch(choice)
{
case 1:input();break;
case 2:find();break;
case 3:insert();break;
case 4:del();break;
case 5:output();break;
case 6:sort();break;
case 7:exit(0);break;
default:error();break;
}
}
void main()
{
menu();
}
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有