概述
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
但是输入两个以上都不输出了怎么回事啊,也不报错
#include
#include
#include
//单链表的存储结构
typedef struct LNode/*结构体是一种构造数据类型,可以由若干个成员组成*/
{
char name[20]; //姓名
char ID[30]; //学号
char sex[20]; //性别
int c; //c语言成绩
int math; //数学成绩
int eng; //英语成绩
float average; //平均分
int sum; //总分
struct LNode *next;
}*LinkLinst;
//创建链表,输入学生信息,后插法
void inputStudent(LinkLinst &L,int n) //放入n个学生的信息
{
L=new LNode; //建立头结点
L->next=NULL;
LinkLinst p;
LinkLinst r;
r=L; //尾指针指向头指针
for(int i=1;i<=n;i++)
{ p=(LinkLinst)malloc(sizeof(LNode)); //动态分配空间,存储学生信息
printf("请输入学生的姓名:");scanf("%s",&p->name);getchar();
printf("请输入学生的学号:");scanf("%s",&p->ID);getchar();
printf("请输入学生的性别:");scanf("%s",&p->sex);getchar(); //字符的输入函数
printf("请输入学生的数学分数:");scanf("%d",&p->math);
printf("请输入学生的c语言分数:");scanf("%d",&p->c);
printf("请输入学生的英语分数:");scanf("%d",&p->eng);
p->sum=p->c+p->eng+p->math ;
printf("学生的总分是:%dn",p->sum);
p->average=p->sum/3.0;
printf("学生的平均分是:%.2fn",p->average);
p->next=NULL;
r->next=p;
r=p;
}
}
//学生信息数目/链表的长度
int length(LinkLinst &L)
{
int len=0;
LinkLinst p;
p=L->next; //指向首元结点
while(p)
{
len++;
p=p->next;
//指向最后一个结点
}
return len;
}
//在表尾插入m个学生信息
void add(LinkLinst &L,int len,int m)
{
LinkLinst p;
p=L; //指向头结点
for(int j=1;j<=len;j++)
{
p=p->next;
}
for(int i=1;i<=m;i++)
{ LinkLinst w=(LinkLinst)malloc(sizeof(LNode)); //动态分配空间,存储学生信息
printf("请输入学生的姓名:");scanf("%s",&w->name);getchar();
printf("请输入学生的学号:");scanf("%s",&w->ID);getchar();
printf("请输入学生的性别:");scanf("%s",&w->sex);getchar(); //字符的输入函数
printf("请输入学生的数学分数:");scanf("%d",&w->math);
printf("请输入学生的c语言分数:");scanf("%d",&w->c);
printf("请输入学生的英语分数:");scanf("%d",&w->eng);
w->sum=w->c+w->eng+w->math ;
printf("学生的总分是:%dn",w->sum);
w->average=w->sum/3.0;
printf("学生的平均分是:%.2lfn",w->average);
p->next=w;
w->next=NULL;
}
}
//查找不及格学生的成绩
void nopass(LinkLinst L)
{
LinkLinst p;
p=L->next;
while(1)
{
if(p&&p->c>=60&&p->eng>=60&&p->math>=60)
p=p->next;
if(p->c<60||p->eng<60||p->math<60)
{
printf("---------------------------------------------------------------------------------------------");
printf( "学生姓名 学号 性别 数学分数 c语言分数 英语分数 平均分 总分n");
printf("---------------------------------------------------------------------------------------------");
printf("n %s %s %s %d %d %d &f %dn",p->name,p->ID,p->sex,p->math,p->c,p->eng,p->average,p->sum);
printf("-----------------------------------------------------------------------------------------------");
}
if(p=NULL) break;
}
}
//按姓名查找学生成绩
void searchname(LinkLinst L) //只输出没有学生信息
{
LinkLinst p;
char ming[10];
printf("请输入学生的姓名:");
scanf("%s",&ming);
getchar();
p=L->next;
int i=strcmp(p->name,ming); //比较字符串的大小
if(p&&i!=0)
p=p->next;
if(p==NULL)
printf("没有该学生的成绩n");
if(i==0)
{
printf("----------------------------------------------------------------------------------------n");
printf("学生姓名 学号 性别 数学分数 c语言分数 英语分数 平均分 总分n");
printf("-----------------------------------------------------------------------------------------");
printf("n %s %s %s %d %d %d %f %d n",p->name,p->ID,p->sex,p->math,p->c,p->eng,p->average,p->sum);
printf("-------------------------------------------------------------------------------------------n");
}
}
//按学号查找学生成绩
void searchID(LinkLinst L)
{
LinkLinst p;
char id[10];
printf("输入学生的学号:");
scanf("%s",&id);
getchar();
p=L->next;
int i=strcmp(p->ID,id);
if(p&&i!=0)
p=p->next;
if(p==NULL)
printf("没有该学生的成绩n");
if(i==0)
{
printf("-----------------------------------------------------------------------------n");
printf("学生姓名 学号 性别 数学分数 c语言分数 英语分数n");
printf("------------------------------------------------------------------------------");
printf("n %s %s %s %d %d %d n",p->name,p->ID,p->sex,p->math,p->c,p->eng);
printf("-----------------------------------------------------------------------------n");
}
}
void main()
{
int a; //项目序号
int n; //输入的学生信息数目
int m; //插入的学生信息数目
LinkLinst L;
while(1)
{
printf(" 欢迎进入学生成绩查询系统 n");
printf("n 请选择功能列表 n");
printf("n 1 录入学生信息
最后
以上就是热心电脑为你收集整理的c语言输入输出一个学生信息,输入一个学生信息,可以输出,不及格那个输出狗后会有程序停止运行...的全部内容,希望文章能够帮你解决c语言输入输出一个学生信息,输入一个学生信息,可以输出,不及格那个输出狗后会有程序停止运行...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复