/*排序与查找*/
#include "stdio.h"
#include "conio.h"
#define MAXSIZE 100
typedef int keytype;
typedef struct st
{
char name[20];
char num[9]; /*学号*/
double score[4]; /*四门成绩*/
double gread; /*总分*/
}datatype;
typedef struct
{
datatype r[MAXSIZE+1];
int length;
}student,*pstudent;
pstudent creat(void)
/*建立*/
{
pstudent s;
int i;
i=1;
s=(pstudent)malloc(sizeof(student));
printf("Enter the length of the list:");
scanf("%d",&s->length);
while(i<=s->length)
{
printf("Enter the name,num,scores of the students:");
scanf("%s",s->r[i].name);
scanf("%s",s->r[i].num);
scanf("%lf%lf%lf",&s->r[i].score[0],&s->r[i].score[1],&s->r[i].score[2],&s->r[i].score[3]);
s->r[i].gread=s->r[i].score[0]+s->r[i].score[1]+s->r[i].score[2]+s->r[i].score[3];
i++;
}
return (s);
}
/*插入排序*/
void insert(pstudent *s)
{
int i,j;
for(i=2;i<=(*s)->length;i++)
{
(*s)->r[0]=(*s)->r[i];
j=i-1;
while((*s)->r[0].gread<(*s)->r[j].gread)
{
(*s)->r[j+1]=(*s)->r[j];
j--;
}
(*s)->r[j+1]=(*s)->r[0];
}
}
/*顺序表的查找*/
int search(pstudent s,char num[9])
{
int i,j;
for(i=0;i<s->length;i++)
{ for(j=0;j<9;j++)
{
if(s->r[i].num[i]!=num[i])
break;
}
if(j==9)
return (i);
}
return -1;
}
void input(pstudent s)
{
int i;
for(i=1;i<=s->length;i++)
{
printf("Enter the information of %dth student:",i);
printf("%s\t",s->r[i].name);
printf("%s\t",s->r[i].num);
printf("%5.2lf\t%5.2lf\t%5.2lf\t%5.2lf\t",s->r[i].score[0],s->r[i].score[1],s->r[i].score[2],s->r[i].score[3]);
printf("%lf\t",s->r[i].gread);
}
}
main()
{
pstudent s;
char num[10];
s=creat();
printf("The paixu based on the num:\n");
insert(&s);
input(s);
printf("\n");
printf("Enter num[10]:");
scanf("%s",num);
printf("The results are:");
printf("%s\n",s->r[search(s,num)].name);
printf("%s\n",s->r[search(s,num)].num);
printf("%5.2lf%5.2lf%5.2lf%5.2lf\t",s->r[search(s,num)].score[0],s->r[search(s,num)].score[1],s->r[search(s,num)].score[2],s->r[search(s,num)].score[3]);
printf("%5.2lf",s->r[search(s,num)].gread);
getch();
}
问题是可以编译 但是结果是不能连续输入信息
我现在弄好了 谢谢啦
追答不客气
本回答被提问者和网友采纳急救!!在学生管理系统中 按成绩排序 按学号查找 请各位大侠帮忙看看问 ...
比如:scanf("%lf%lf%lf",&s->r[i].score[0],&s->r[i].score[1],&s->r[i].score[2],&s->r[i].score[3]);前面只有三个%lf,而后面却有四个& 还有些问题,你找找看,对自己有很大的帮助 帮你重新写个代码,你看可以不 ...
帮忙看看这个sql的问题出在哪里
2.一般用建立关系的方法求结果,内连接查询速度快一些:SELECT 学生.学号, 学生.姓名, 课程.课程名称, 成绩.成绩FROM (成绩 INNER JOIN 课程 ON 成绩.课程号 = 课程.课程号) INNER JOIN 学生 ON 成绩.学号 = 学生.学号WHERE 课程.课程名称="数学分析";...
学生成绩管理系统
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("\\t\\t|...
200班级成绩管理系统c代码解决+200
printf("\\n 1: 按学号查找\\n 2: 按姓名查找\\n 3: 按成绩查找\\n 选择:"); choose=getchar(); switch(choose) { case '1': printf("\\n 请输入要查找的学号: "); fflush(stdin); gets(n); printf("学号\\t 姓名\\t\\t\\t平均成绩\\n\\n"); for(i=0;i<*c;i++) { if(strcmp(n,stu[i]....
学生成绩管理系统课程设计C++
【问题描述】利用线性链表实现学生成绩管理系统,学生信息包含学号、姓名、成绩1、成绩2、总分五项。【基本要求】能实现学生成绩的输入、输出、插入、删除、查找、排序、分类统计等功能;学生成绩的原始状态按学号排序;可以按成绩的高低排序;计算每个同学的总分;计算每门课程的平均分。成绩的内容保存到数据文件中。(有大神...
题目:学生成绩管理系统 功能:学生成绩管理系统,每个学生是一个记录,包...
重点介绍了学生成绩管理系统的实现过程:包括系统分析、 系统调查、 数据流程分析、功能设计、 数据库设计、 系统物理配置方案、 系统实现、 系统测试和调试。本系统主要功能有用户管理、学生注册、班级信息录入、学生信息录入、班级课程录入、学校专业信息录入、课程信息录入、学生成绩录入、教师信息录入、数据。。。包括功...
c语言学生管理系统学生成绩管理系统 功能: 每个学生信息为一个记录,包...
printf("\\t\\t\\t4.按学号查看学生的信息\\n\\n"); \/*按学号查看学生的信息*\/ printf("\\t\\t\\t5.按平均成绩排序\\n\\n"); \/*排序*\/ printf("\\t\\t\\t6.删除学生信息\\n\\n"); \/*删除学生信息*\/ printf("\\t\\t\\t7.保存学生信息\\n\\n"); \/*保存*\/ printf("\\t\\t\\t8.打开文件\\n\\n"); \/*打开...
c语言学生成绩管理系统
goto repeat2; \/*当输入的学号已经存在,程序报错,返回前面重新输入*\/ } } } } printf("请输入学生姓名:"); scanf("%s",&p1->name);\/*输入学生姓名*\/ printf("请输入语文成绩(0~100):"); scanf("%f",&p1->yuwen);\/*输入语文成绩,成绩应在0-100*\/ ...
如何用C语言实现根据学号查询学生成绩信息
printf("欢迎使用学生成绩管理系统\\n"); printf("[1] 输入所有学生信息\\n"); printf("[2] 输出所有学生成绩\\n"); printf("[3] 按学号查找某个学生信息\\n"); printf("[4] 按姓名查找某个学生信息\\n"); printf("[5] 按学号对学生排序\\n"); printf("[6] 按总成绩对学生排序\\n"); printf("[...
学生信息管理系统 学生信息包括:学号,姓名,年龄,性别,出生年月,地址...
cout<<"\\t\\t※ 1.按学生的姓名查找\\n\\t\\t※ 2.按学生学号查找"; cout<<"\\n\\t\\t***\\n请选择:"; cin>>n; switch(n) { case 1: { cout<<"输入要查询的学生姓名"; cin>>Name; if(p=FindName(Name)) { p->Next->Display(); cout<<"输入任意字符!继续……"; getch(); } else {...