|
|
发表于 2015-12-3 10:37:34
|
显示全部楼层
新增:
修改学生信息,删除学生信息。
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char choice;
char name[50][40];//班级的学生姓名数组 name : 下标为i的学生 的姓名 的数组名
int current = 0; //当前班级学生的数目 0--->current-1
char qname[40];
int i;
int hasfound = 0;
while(1)
{
printf("学生信息管理系统,版本1.0,版权所有2010-2020\n\n");
printf(" 程序功能\n");
printf(" 1:录入学生信息\n");
printf(" 2:查询学生信息\n");
printf(" 3:修改学生信息\n");
printf(" 4:删除学生信息\n");
printf(" 5:列出所有学生信息\n");
printf(" 6:保存学生信息\n");
printf(" 7:加载学生信息\n");
printf(" 0:退出程序\n");
printf("\n");
fflush(stdin);//清空输入缓冲区
choice = getch();
switch(choice)
{
case '1':
if(current >= 50)
{
printf("不可以录入,人数已满\n");
return 0;
}
printf("请输入学生姓名 : ");
//gets(name[current]);
scanf("%s",name[current]);
current++;
break;
case '2':
/*此处添加查询学生的处理代码*/
//strcmp
hasfound = 0;
printf("请输入学生姓名 :");
gets(qname);
for(i=0;i<current;i++)
{
if( strcmp(qname, name) == 0 )
{
hasfound = 1;
printf("找到该学生\n 学号 : %d 姓名 : %s \n", i+1 , qname);
//break;
}
}
if(hasfound == 0)
printf("没有找到该学生\n ");
break;
case '3':
/*此处添加修改学生信息的处理代码*/
hasfound = 0;
printf("请输入需要修改的学生姓名 :");
gets(qname);
for(i=0;i<current;i++)
{
if( strcmp(qname, name) == 0 )
{
hasfound = 1;
printf("找到该学生\n 学号 : %d 姓名 : %s \n", i+1 , qname);
printf("请输入该学生新姓名:");
gets(name);
printf("修改成功!!\n");
//break;
}
}
if(hasfound == 0)
printf("没有找到该学生\n ");
break;
case '4':
/*此处添加删除学生信息的处理代码*/
hasfound = 0;
printf("请输入需要删除学生姓名 :");
gets(qname);
for(i=0;i<current;i++)
{
if( strcmp(qname, name) == 0 )
{
hasfound = 1;
printf("找到该学生\n 学号 : %d 姓名 : %s \n", i+1 , qname);
//删除 name 数组元素
// memmove (目标地址, 源地址, 字节数n);
memmove(name, name[i+1] , (current - 1 - i )*40);
current--;
printf("删除成功!!\n");
//break;
}
}
if(hasfound == 0)
printf("没有找到该学生\n ");
break;
case '5':
/*此处添加列出学生信息的处理代码*/
printf("学号 姓名\n");
printf("======================\n");
for(i=0;i<current;i++)
printf("%2d %6s \n",i+1,name);
break;
case '6':
/*此处添加保存学生信息的处理代码*/ break;
case '7':
/*此处添加加载学生信息的处理代码*/ break;
case '0':
return 0;
default:
printf("非法选择,请重新选择\n");
}
}
return 0; //程序返回
} |
|