c语言程序问答题目及答案,c语言程序设计的题目,急急急,求大神解答

最佳答案

359fafd3244c21121dccd9b5ebcbad4e.png

1fb1a1790f848181f270cce91a6267f3.png

680296a82050352e47918d45e225b820.png

2bb584796501119f7d701ae3e1cd958f.png

#include <>

#include <>

#include <>

#include <>

#define N 1000

typedef struct student

{

int number;

char name[20];

int grade;

int gaoshu;

int yingyu;

int jisuanji;

int sum;

}STUDENT;

STUDENT student[N];

int shuliang=0;

void menu();

void fhzjm()

{

char biaozhi[20];

printf("\n");

printf("还需要***作么?如果需要***作请输入:yes,否则请输入:no\n");

scanf("%s",biaozhi);

if(strcmp(biaozhi,"yes")==0)

{

menu();

}

else if(strcmp(biaozhi,"no")==0)

exit(0);

else

{

printf("请输入正确的字符,谢谢!\n");

fhzjm();

}

}

void DengJi()

{

int rs;

int i,k=1;

system("CLS");

printf("请输入需要输入几个学生信息:");

scanf("%d",&rs);

for(i=shuliang;i

{

printf("请输入第%d个学生的学号:",k);

scanf("%d",&student[i].number);

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

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

printf("请输入学生3门课的成绩\n");

printf("请输入第1门课的成绩:");

scanf("%d",&student[i].gaoshu);

printf("请输入第2门课的成绩:");

scanf("%d",&student[i].yingyu);

printf("请输入第3门课的成绩:");

scanf("%d",&student[i].jisuanji);

}

shuliang=shuliang+rs;

fhzjm();

}

void ShanChu()

{

char shanchuinfo[10];

system("CLS");

printf("删除全部学生信息请输入\"all\",删除指定学号的学生信息请输入\"one\"\n");

scanf("%s",shanchuinfo);

if(strcmp(shanchuinfo,"all")==0)

{

int j;

printf("你删除的学生信息如下:\n");

printf("-----------学号-------------姓名-------------高数--------------英语--------------计算机\t\n");

for(j=0;j

printf("----%d-------%s-------%d-------%d-------%d\t\n",student[j].number,student[j].name,student[j].gaoshu,student[j].jisuanji);

shuliang=0;

printf("删除成功\n\n");

}

else if(strcmp(shanchuinfo,"one")==0)

{

struct student *p=NULL;

int choice;

int i,j,k=0;

printf("请输入你要删除的人的学号:");

scanf("%d",&choice);

for(i=0;i

{

if(choice==student[i].number)

{

k=1;

j=i;

break;

}

}

if(k)

{

if(shuliang==1)

{

p=&student[0];

free(p);

shuliang=0;

}

else

{

for(i=j;i

{

student[i]=student[i+1];

}

shuliang=shuliang-1;

}

printf("删除成功\n\n");

}

else

{

printf("输入数据错误!\n");

}

}

fhzjm();

}

void LiuLan()

{

int i;

system("CLS");

if(shuliang==0)

{

printf("系统里面没有任何学生的信息!\n");

}

else

{

for(i=0;i

{

printf("第%d个学生的学号为:%d\n",i+1,student[i].number);

printf("第%d个学生的姓名为:%s\n",i+1,student[i].name);

printf("第%d个学生的第一门课的成绩为:%d\n",i+1,student[i].gaoshu);

printf("第%d个学生的第二门课的成绩为:%d\n",i+1,student[i].yingyu);

printf("第%d个学生的第三门课的成绩为:%d\n",i+1,student[i].jisuanji);

student[i].sum=student[i].gaoshu+student[i].yingyu+student[i].jisuanji;

printf("第%d个学生的总成绩为:%d\n",i+1,student[i].sum);

}

}

fhzjm();

}

void ChaZhao()

{

int xx;

char choice,yy[20];

int i,j,k=0;

system("CLS");

if(shuliang==0)

{

printf("系统里面没有任何学生的信息!\n");

fhzjm();

}

printf("三种查找方式:学号,姓名,成绩\n");

printf("如果按学号查找请输1,如果按姓名查找请输2,如果按成绩查找请输3\n");

printf("请输入您查找的方式:");

scanf("%s",&choice);

if(choice=='1')

{

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

scanf("%d",&xx);

printf("您所查找的学生的信息为:\n");

printf("----学号----姓名----高数成绩----英语成绩----计算机成绩----\t\n");

for(i=0;i

{

if(xx==student[i].number)

{

j=i;k=1;

printf("----%d-------%s-------%d-------%d-------%d----\t\n",student[j].number,student[j].name,student[j].gaoshu,student[j].yingyu,student[i].jisuanji);

}

}

if(k==0)

printf("输入信息有误:\n");

}

else if(choice=='2')

{

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

scanf("%s",yy);

printf("您所查找的学生的信息为:\n");

printf("----学号----姓名----高数成绩----英语成绩----计算机成绩----\t\n");

for(i=0;i

{

if(strcmp(yy,student[i].name)==0)

{

j=i;k=1;

printf("----%d-------%s-------%d-------%d-------%d----\t\n",student[j].number,student[j].name,student[j].gaoshu,student[j].yingyu,student[j].jisuanji);

}

}

if(k==0)

printf("输入信息有误:\n");

}

else if(choice=='3')

{

printf("请输入需要查找学生的成绩:\n");

scanf("%d",&xx);

printf("您所查找的学生的信息为:\n");

printf("----学号----姓名----高数----英语----计算机----\t\n");

for(i=0;i

{

if(xx==student[i].grade)

{

j=i;k=1;

printf("----%d-------%s-------%d-------%d-------%d----\t\n",student[j].number,student[j].name,student[j].gaoshu,student[j].yingyu,student[i].jisuanji);

}

}

if(k==0)

printf("输入信息有误:\n");

}

fhzjm();

}

void PaiXu()

{

struct student *p1[N],**p2,*temp;

int i,j;

system("CLS");

p2=p1;

for( i=0;i

{

p1[i]=student+i;

}

for( i=0;i

{

for( j=i+1;j

{

if((*(p2+i))->sumsum)

{temp=*(p2+i);*(p2+i)=*(p2+j);*(p2+j)=temp;}

}

}

printf("按照总成绩排序之后的信息为:\n");

printf("----学号----姓名----总成绩----\t\n");

for( i=0;i

{

student[i].sum=student[i].gaoshu+student[i].yingyu+student[i].jisuanji;

printf("----%d-----%s----%d-----\n",(*(p2+i))->number,(*(p2+i))->name,(*(p2+i))->sum);

}

fhzjm();

}

void CunChu()

{

int i;

FILE *rs;

if((rs=fopen("","w"))==NULL)

{

printf("not open");

exit(0);

}

for(i=0;i

{

fwrite(&student[i], sizeof(student[i]), 1, rs);

}

if(ferror(rs))

{

fclose(rs);

perror("写文件失败!\n");

ret***n;

}

printf("存储文件成功!\n");

fclose(rs);

fhzjm();

}

void DaoChu()

{

struct student t;

int i=0;

FILE* fp = fopen("", "r");

shuliang=0;

if(NULL==fp)

{

perror("读取文件打开失败!\n");

ret***n;

}

memset(student,0x0,sizeof(student));

while(1)

{

fread(&t,sizeof(t),1,fp);

if(ferror(fp))

{

fclose(fp);

perror("读文件过程失败!\n");

ret***n;

}

if(feof(fp))

{

break;

}

student[i]=t;

i++;

}

fclose(fp);

shuliang=i;

printf("导出文件成功!\n");

fhzjm();

}

void menu()

{

int n=0;

system("CLS");

printf("           学生信息管理系统\n");

printf("                作者:陈椿\n");

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

printf("         1.登记学生信息\n");

printf("         2.删除学生信息\n");

printf("         3.浏览所有已经登记的学生\n");

printf("         4.查找\n");

printf("           按学号查找\n");

printf("           按姓名查找\n");

printf("           按成绩查找\n");

printf("         5.根据总成绩排序\n");

printf("         6.存储到文件\n");

printf("         7.从文件导出\n");

printf("         8.退出系统\n");

a:printf(" 请选择:");

scanf("%d",&n);

switch (n)

{

case 1:

DengJi();break;

case 2:

ShanChu();break;

case 3:

LiuLan();break;

case 4:

ChaZhao();break;

case 5:

PaiXu();break;

case 6:

CunChu();break;

case 7:

DaoChu();break;

case 8:

exit(0);break;

default:

{

printf("请输入1-8之间的数字,谢谢!\n");

goto a;

}

}

}

main()

{

menu();

}

自己写的,如果要改,给我说,我给你改 追问:谢谢,但是我如果要把上面的学生信息搞上去是不是套用就行了?

有偿服务,代码比较多 追问:咋个偿? 回答:这个类似做一个系统,你觉得多少合适 追问:积分还是现金?积分没得多少,这里追问还要积分,加我QQ1101682752 详谈 回答:你加我Q1209265084 追问:你设置了问题,我加不了啊,谁知道你的真实姓名,你加我吧,我没有设置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值