c语言程序设计学生信息管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c语言程序设计学生信息管理系统
学生信息管理是学校管理系统中非常重要的一部分,因此我们需要一个高效的系统进行管理。在此背景下,C语言程序设计可以成为一个非常有用的工具。
首先,我们需要定义学生信息的数据结构。通常情况下,学生信息包括姓名,性别,年龄,出生日期,籍贯,班级等等。我们可以使用结构体来定义这个数据类型,代码如下:
```
typedef struct{
char name[20];
char sex[10];
int age;
char birth[20];
char place[20];
char clazz[20];
}STUDENT;
```
其中,我们使用了char数组来存储字符串类型的数据。在使用数组之前,我们需要考虑数据大小,以免溢出。在这里,我们将数组的大小设置为了20。
接下来,我们需要实现学生信息的输入和输出功能。我们可以使用scanf函数来输入信息,使用printf函数来输出信息。代码如下:```
void input_stu(STUDENT *stu){
printf("Input Student's Name:");
scanf("%s",stu->name);
printf("Input Student's Gender:");
scanf("%s",stu->sex);
printf("Input Student's Age:");
scanf("%d",&stu->age);
printf("Input Student's Birth:");
scanf("%s",stu->birth);
printf("Input Student's Place:");
scanf("%s",stu->place);
printf("Input Student's Class:");
scanf("%s",stu->clazz);
}
void output_stu(STUDENT *stu){
printf("Name:%s\n",stu->name);
printf("Gender:%s\n",stu->sex);
printf("Age:%d\n",stu->age);
printf("Birth:%s\n",stu->birth);
printf("Place:%s\n",stu->place);
printf("Class:%s\n",stu->clazz);
}
```
注意,在使用scanf函数输入字符串类型的数据时,应该使用%s 格式控制符。在使用printf函数输出字符串类型的数据时,应该将字符串类型的参数放在双引号内。
接下来,我们需要实现一个学生信息的管理系统。这个系统可以支持添加学生信息、删除学生信息、修改学生信息以及查找学生信息的功能。代码如下:
```
void add_stu(STUDENT *stu,int n){
printf("Student %d:\n",n+1);
input_stu(stu+n);
printf("\n\n");
}
void del_stu(STUDENT *stu,int *pn){
char name[20];
printf("Input Name to delete:");
scanf("%s",name);
int i;
for(i=0;i<*pn;i++){
if(strcmp(name,stu[i].name)==0){ int j;
for(j=i;j<*pn-1;j++){
stu[j]=stu[j+1];
}
(*pn)--;
break;
}
}
}
void update_stu(STUDENT *stu,int n){ printf("Student %d:\n",n+1);
output_stu(stu+n);
input_stu(stu+n);
printf("\n\n");
}
void search_stu(STUDENT *stu,int n){ char name[20];
printf("Input Name to search:");
scanf("%s",name);
int i;
for(i=0;i if(strcmp(name,stu[i].name)==0){ output_stu(stu+i); break; } } if(i==n){ printf("Not Found!\n"); } } ``` 在这里,我们使用了循环和条件语句来实现相应的功能。注意, 在删除学生信息时,我们使用了strcmp函数来比较学生姓名是否相同。此外,在删除学生信息时,我们还需要移动后面的学生信息,以实现 删除的效果。 最后,我们需要实现一个主函数,以便我们可以运行整个学生信 息管理系统。代码如下: ``` int main(){ int n=0; STUDENT stu[MAX_STU]; int opt=1; while(opt){ printf("-------------------------------------------- \n"); printf("0.Exit\n"); printf("1.Add Student\n"); printf("2.Delete Student by Name\n"); printf("3.Update Student by Name\n"); printf("4.Search Student by Name\n"); printf("-------------------------------------------- \n"); printf("Input your option: "); scanf("%d",&opt); switch(opt){ case 0: