学生信息系统求助_求助 简单的学生信息管理系统 有问题需要帮助修改

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#include

#define N 65

int choice;

void kaishi(int c_score[],int count)

{

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

printf("* 1---录入信息 *\n");

printf("* 2---浏览信息 *\n");

printf("* 3---添加信息 *\n");

printf("*     4---删除信息 *\n");

printf("* 5---修改信息 *\n");

printf("* 6---查找信息 *\n");

printf("* 7---插入信息 *\n");

printf("* 8---排序信息 *\n");

printf("* 9---退出 *\n");

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

printf("请输入你的选择(1---9):\n");

}

int luru(int c_score[],int count)

{

char ch;

flag:

printf("开始录入信息\n");//BUG:可以随意录入任何数字,字母、没有范围控制

printf("这是录入第%d个学生的信息\n",count+1); //求确认一个范围的代码怎么弄,超出则退出程序

scanf_s("%d",&c_score[count]);

count++;

printf("如果想继续录入请按A或者a\n");

getchar();

ch=getchar();

if(ch=='A'||ch=='a')goto flag;

return count;

}

void liulan(int c_score[],int count)

{

int i;//趟数

printf("开始浏览信息\n");

for(i=0;i

printf("%d ",c_score[i]);

printf("\n");

}

int tianjia(int c_score[],int count)

{

printf("开始添加信息\n");

printf("这是录入第%d个学生的信息\n",count+1);

scanf_s("%d",&c_score[count]);

count++;

return count;

}

int shanchu(int c_score[],int count)

{

int i;

int k;

int sc;//删除专用

printf("开始删除信息\n"); //删除原理:找到要删除数据的位置,

printf("请输入你要删除的信息\n"); //然后将后面的数据往前移动,就是覆盖。

scanf_s("%d",&sc);

for(i=0;i

if(sc==c_score[i])

{

k=i;

for(;k

c_score[k]=c_score[k+1];

}

count--;

printf("删除完毕!\n");

return count;

}

void xiugai(int c_score[],int count)

{

int xg;

printf("开始修改信息\n");

printf("请输入你要修改的信息的位置\n");

scanf_s("%d",&xg);

printf("请输入新的信息\n");

scanf_s("%d",&c_score[xg-1]); //所修改数据位置地址1---n

printf("修改完毕!\n");

}

void chazhao(int c_score[],int count)

{

int i;

int search;//查询的成绩

printf("开始查找信息\n");

printf("请输入要查询的信息\n");

scanf_s("%d",&search);

for(i=0;i

if(search==c_score[i])

printf("这是第%d个学生的信息!\n",i+1);

}

int charu(int c_score[],int count)

{

int i;

int k;

int charu_data;//插入数据

int zhixiang;//指向数组的尾巴

printf("开始插入信息\n");

printf("请输入你要插入的信息\n");//BUG:不能不录入成绩后插入数值;录入信息后插入,数值有大小要求,不能随意输入

scanf_s("%d",&charu_data);//求这个的解决办法,希望可以是代码给我 谢谢

zhixiang=count;

for(i=0;i

if(c_score[i]>charu_data)

{

k=i;//存放插入点的位置

break;

}

for(;k

c_score[zhixiang]=c_score[zhixiang-1];

c_score[k]=charu_data;//对插入点赋值

count++;//插入的数 数组长度加1

printf("插入完毕!\n");

return count;

}

void paixu(int c_score[],int count)

{

int i;

int cishu;//次数

int huhuan; //位置互换所用的第三方变量

printf("开始排序信息\n");

for(i=0;i

for(cishu=0;cishu

if(c_score[cishu]>c_score[cishu+1])

{

huhuan=c_score[cishu]; //位置互换

c_score[cishu]=c_score[cishu+1];

c_score[cishu+1]=huhuan;

}

printf("排序完成!\n");

}

void main()

{

int c_score[N];

int count=0;//全局变量,定义顶部,始值为0

for(;;)

{

system("cls");

kaishi(c_score,count);

scanf_s("%d",&choice);

switch(choice)

{

case 1:count=luru(c_score,count);

system("pause");break;

case 2:liulan(c_score,count);

system("pause");break;

case 3:count=tianjia(c_score,count);

system("pause");break;

case 4:count=shanchu(c_score,count); //舍弃最后一个单元

system("pause");break;

case 5:xiugai(c_score,count);

system("pause");break;

case 6:chazhao(c_score,count);

system("pause");break;

case 7:count=charu(c_score,count);

system("pause");break;

case 8:paixu(c_score,count);

system("pause");break;

case 9:exit(0); //调用系统的退出函数

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值