网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月07日漏签0天
c语言吧 关注:801,741贴子:4,374,716
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 2回复贴,共1页
<<返回c语言吧
>0< 加载中...

大佬们帮看看这程序哪里出错了ヘ(;´Д`ヘ)#include

  • 只看楼主
  • 收藏

  • 回复
  • 可口佛祖
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
大佬们帮看看这程序哪里出错了ヘ(;´Д`ヘ)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct student
{
long num;
char name[10];
int C;
int English;
int Math;
int sum;
struct student *next;
}Student;
//********************************************
Student *InitStudent()
{
Student *p;
p=(Student*)malloc(sizeof(Student));
if (p!=NULL)
{
p->next=NULL;
return p;
}
else
return NULL;
}
//*******************************************
int create(Student *p) //输入学生信息
{
int flag;
Student *s;
while(flag)
{
s=(Student*)malloc(sizeof(Student));
if(s==NULL)
{
printf("创建失败\n");
return 0;
}
printf("输入学号:");
scanf("%ld",&s->num);
printf("输入姓名:");
scanf("%s",s->name);
printf("输入C语言成绩:");
scanf("%d",&s->C);
printf("输入英语成绩:");
scanf("%d",&s->English);
printf("输入数学成绩:");
scanf("%d",&s->Math);
//n=s->num;
s->sum=(s->C+s->English+s->Math);
s->next=p->next;
p->next=s;
printf("是否继续输入信息:1/0\n");
scanf("%d",&flag);
}
printf("输入完毕\n");
return 1;
}
//*******************************************
Student *Find(Student *p,int x) //查询
{
Student *q;
q=p->next;
while(q != NULL&&q->num != x)
q=q->next;
if(q!=NULL)
return q;
else
return NULL;
}
//********************************************
int Modify(Student *p,int x) //修改信息
{
int flag,n;
Student *q;
q=p->next;
while(q!=NULL&&q->num!=x)
q=q->next;
if(q!=NULL)
{
while(n)
{
printf("\n修改学科:1.C语言 2.英语 3.数学:");
scanf("%d",&flag);
if(flag==1)
{
getchar();
printf("\n重新输入C语言成绩:");
scanf("%d",&q->C);
}
else if(flag==2)
{
getchar();
printf("\n重新输入英语成绩:");
scanf("%d",&q->English);
}
else if(flag==3)
{
getchar();
printf("\n重新输入数学成绩:");
scanf("%d",&q->Math);
}
printf("\n是否继续修改成绩:1/0\n");
scanf("%d",&n);
}
return 1;
}
return 0;
}
//****************************************************
Student *Sort(Student *p)//排序
{
Student *a,*b,*t;
int sum=0;
char name[10];
if(p->next==NULL);
{
printf("error!!!\n");
return NULL;
}
for(a=p->next;a;a=a->next)
{
t=a;
for(b=p->next;b;b=b->next)
{
if(t->sum >= a->sum)
{
strcpy(name,t->name);
strcpy(t->name,a->name);
strcpy(a->name,name);
t=a;
}
}
}
}
//**************************************************************
void print(Student *p) //打印成绩
{
Student *q;
q = p;
if(p->next == NULL)
printf("无该学生成绩!");
else
{
printf("结果为:\n");
while(q->next!=NULL)
{
q=q->next;
printf("|学号\t|姓名\t|C语言\t|英语\t|高数\t|总分\t|\n");
printf("|%ld\t|%s\t|%d\t|%d\t|%d\t|%d\t|\n",q->num,q->name,q->C,q->English,q->Math,q->sum);
}
}
}
//***************************************************************
void Menu()
{
int flag,x,y;
Student *p,*q,*r;
x=0;
p=InitStudent();
begin:
printf("\n\t\t\t 学生成绩管理系统\n");
printf("1.输入学生信息 2.修改学生信息 3.查询学生信息\n");
printf("4.学生成绩排序 5.打印学生信息 \n");
printf("\n请输入指令前的序号:");
scanf("%d",&flag);
switch(flag)
{
case 1:create(p);
//print(p);
goto begin;
case 2:while(x==0)
{
printf("输入学号:");
scanf("%d",&x);
}
y=Modify(p,x);
if(y==1)
printf("修改成功!\n");
else
printf("修改失败!\n");
x=0;
goto begin;
case 3:while(x==0)
{
printf("输入学生学号:");
scanf("%ld",&x);
}
q=Find(p,x);
if(q!=NULL)
{
printf("\n查询结果为:\n");
printf("|学号\t|姓名\t|C语言\t|英语\t|高数\t|总分\t|\n");
printf("|%ld\t|%s\t|%d\t|%d\t|%d\t|%d\t|\n",q->num,q->name,q->C,q->English,q->Math,q->sum);
}
else
printf("未查询到!\n");
x=0;
goto begin;
case 4:r=Sort(p);
print(r);
goto begin;
case 5:print(p);
goto begin;
}
}
void main()
{
Menu();
}


  • Cubeneo
  • 大能力者
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
总是有名叫“include<stdio.h>”的话题出现在贴吧


2026-01-07 21:50:32
广告
不感兴趣
开通SVIP免广告
  • 可口佛祖
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
有大佬懂吗?


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 2回复贴,共1页
<<返回c语言吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示