c语言print改变保留位数,修改程序,老师说print陷入死循环,这个程序怎么改?我只有20分...

这是一个用C语言编写的简单学生管理系统,包括输入学生信息、按条件查询、排序、修改和主菜单循环操作等功能。程序允许用户输入学生成绩记录,然后进行排序显示,按学期或班级筛选显示成绩,并能查找特定学生的信息。
摘要由CSDN通过智能技术生成

#include

#include

#include

#define NUM 100

struct student

{

int term;

int num;

int classes;

char name[10];

int score[4];

int sum;

float average;

}stu[NUM];

void input()

{

system("cls");

int i;

char a;

for(i=0;i

{

printf("\n请输入学生的学期:");

scanf("%d",&stu[i].term);

printf("\n请输入学生的学号:");

fflush(stdin);

scanf("%d",&stu[i].num);

printf("\n请输入学生的班级:");

scanf("%d",&stu[i].classes);

printf("\n请输入学生的姓名:");

scanf("%s",stu[i].name);

printf("\n请输入语文成绩:");

scanf("%d",&stu[i].score[0]);

printf("\n请输入学生的数学成绩:");

scanf("%d",&stu[i].score[1]);

printf("\n请输入学生的英语成绩:");

scanf("%d",&stu[i].score[2]);

printf("\n请输入学生的计算机成绩:");

scanf("%d",&stu[i].score[3]);

stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]+stu[i].score[3];

stu[i].average=(float)stu[i].sum/4.0;

printf("是否要继续添加(按N&n退出)");

fflush(stdin);

a=getchar();

if(a=='n'||a=='N')

break;

}

}

void search()

{

system("cls");

int number=0,i;

printf("\t\t\t 请输入要查找学生的学号:");

scanf("%d",&number);

printf("学号\t姓名\t班级 语文 数学 英语 计算机 总分 平均分\n");

for(i=0;i

if(number==stu[i].num)break;

if(i

{printf("%d\t%s\t%d%5d%5d%5d%6d%7d%8.2f\n",stu[i].num,stu[i].name,stu[i].classes,

stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].average);

}

else

printf("没找到该学生的信息\n");

system("pause");

}

void print1()

{

int i,m;

printf("请输入学期:\n");

scanf("%d",&m);

printf("学号\t姓名\t班级 语文 数学 英语 计算机 总分 平均分\n");

for(i=0;i

{

if(m==stu[i].term)

printf("%d\t%s\t%d%5d%5d%5d%6d%7d%8.2f\n",stu[i].num,stu[i].name,stu[i].classes,

stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].average);

}

system("pause");system("cls");print();

}

void print2()

{

int i,j,k;

printf("请输入班级:\n");

scanf("%d",&k);

printf("学号\t姓名\t班级 语文 数学 英语 计算机 总分 平均分\n");

for(i=0;i

{

if(k==stu[i].classes)

{

stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]+stu[i].score[3];

stu[i].average=(float)stu[i].sum/4.0;

printf("%d\t%s\t%d%5d%5d%5d%6d%7d%8.2f\n",stu[i].num,stu[i].name,stu[i].classes,

stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].average);

}

}

printf("输出不及格学生名单及成绩:\n");

printf("学号\t姓名\t班级 语文 数学 英语 计算机 \n");

for(i=0;i

{for(j=0;j<4;j++)

{

if(stu[i].score[j]<60&&k==stu[i].classes)

printf("%d\t%s\t%d%5d%5d%5d%6d\n",stu[i].num,stu[i].name,stu[i].classes,

stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3]);

break;

}

}

system("pause");system("cls");print();

}

void print()

{

system("cls");

char a;

printf("1 按学期输出\n");

printf("2 按班级输出\n");

printf("3 返回\n");

fflush(stdin);

a=getchar();

switch(a)

{

case'1':print1();

case'2':print2();

case'3':zcd();

default:print();

}

}

void sort()

{

int i,j=0;

int temp;

for(i=0;i

{

stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]+stu[i].score[3];

stu[i].average=(float)stu[i].sum/4.0;

}

for(i=0;i

{

for(j=i+1;j

{

if(stu[i].sum

{

temp=stu[i].sum;

stu[i].sum=stu[j].sum;

stu[j].sum=temp;

}

}

}

printf("学号\t姓名\t班级 语文 数学 英语 计算机 总分 平均分\n");

for(i=0;i

printf("%d\t%s\t%d%5d%5d%5d%6d%7d%8.2f\n",stu[i].num,stu[i].name,stu[i].classes,

stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].average);

system("pause");system("cls");print();

}

void modify()

{

system("cls");

int number,i;

printf("\t\t\t请输入要修改信息的学生学号:");

scanf("\t\t\t%d",&number);

for(i=0;i

if(number==stu[i].num) break;

if(i

{

printf("请输入修改后的学生信息:");

printf("\n请输入学生的学期:");

scanf("%d,&stu[i].temp");

printf("\n请输入学生的学号:");

fflush(stdin);

scanf("%d",&stu[i].num);

printf("\n请输入学生的班级:");

scanf("%d",&stu[i].classes);

printf("\n请输入学生的姓名:");

scanf("%d",&stu[i].name);

printf("\n请输入学生的语文成绩:");

scanf("%d",&stu[i].score[0]);

printf("\n请输入学生的数学成绩:");

scanf("%d",&stu[i].score[1]);

printf("\n请输入学生的英语成绩:");

scanf("%d",&stu[i].score[2]);

printf("\n请输入学生的计算机成绩:");

scanf("%d",&stu[i].score[3]);

}

else

printf("没找到该学生的信息\n");

system("pause");system("cls");zcd();

}

void zcd()

{

int n=0;

char m;

system("cls");

printf("按任一键进入主菜单\n");

printf("*******************************************************\n");

printf("\t\t贺州学院欢迎您\n");

printf("\n\t\t\t-----欢迎使用学生管理系统\n\n\t\t\t\t\t-----\n");

printf("***********************MENU****************************\n");

printf("\t\t\t1. 输入学生成绩记录\n");

printf("\t\t\t2. 排序并显示\n");

printf("\t\t\t3. 按班级显示成绩单\n");

printf("\t\t\t4. 查找个人成绩\n");

printf("\t\t\t5. 修改\n");

printf("\t\t\t6. 退出\n");

printf("*******************************************************\n");

printf("\n\t\t\t 输入你的选择(1~7):");

fflush(stdin);

m=getchar();

do

{

switch(m)

{

case'1':input();zcd();break;

case'2':sort();system("pause");zcd();break;

case'3':print();system("pause");break;

case'4':search();zcd();break;

case'5':modify();system("pause");zcd();break;

case'6':exit(0);

default:printf("错误命令");getchar();zcd();

}

}while(1);

}

int main()

{

zcd();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值