C语言创建简单学生成绩管理系统(数组)
2020-02-02 07:29
916 查看
C语言创建简单成绩管理系统
数组实现
头文件及宏定义
#define SIZE 10 #include<stdio.h> #include<string.h> #include<stdlib.h> typedef struct student { char Name[8]; char ID_number[10]; int math; int english; student() { int i; for(i=0;i<8;i++){ Name[i]='\0'; ID_number[i]='\0'; } } }Student;
排序函数
void swap_students(Student &a,Student &b) { Student temp; temp=a; a=b; b=temp; } void bubble_sort(Student *S) { int i,j; for(i=0;i<SIZE;i++){ for(j=i+1;j<SIZE;j++){ if(strcmp(S[i].ID_number,S[j].ID_number)>0){ swap_students(S[i],S[j]); } } } }
输入函数
void input_data(Student &S) { printf("请输入学生姓名:"); scanf("%s",S.Name); printf("请输入学生学号:"); scanf("%s",S.ID_number); start_m:printf("请输入高数成绩:"); scanf("%d",&S.math); if(S.math<0||S.math>100){ printf("请输入0-100的值\n"); goto start_m; } start_e:printf("请输入英语成绩:"); scanf("%d",&S.english); if(S.english<0||S.english>100){ printf("请输入0-100的值\n"); goto start_e; } } void Input_Students(Student *S) { int i,num; printf("请输入学生数量:"); scanf("%d",&num); for(i=0;i<num;i++){ input_data(S[i]); } bubble_sort(S); }
删除函数
void Del_Student(Student *S,char del[]) { int i,flag=0; for(i=0;i<SIZE;i++){ if(strcmp(del,S[i].ID_number)==0){ S[i].math=-1; S[i].english=-1; strcpy(S[i].Name,"00000000"); strcpy(S[i].ID_number,"0000000000"); flag=1; } } if(flag==0){ printf("未找到\n"); } }
查询函数
void Inquire_Student(Student Stu[],char inq[]) { int i,flag=0; for(i=0;i<SIZE;i++){ if(strcmp(inq,Stu[i].ID_number)==0){ printf("姓名:%s 学号:%s 高数:%d 英语:%d",Stu[i].Name,Stu[i].ID_number,Stu[i].math,Stu[i].english); flag=1; break; } } if(flag==0){ printf("未找到\n"); } }
打印函数
void Print_Students(Student Stu[]) { int i; for(i=0;i<SIZE;i++){ if(Stu[i].english<0||Stu[i].english>100){ continue; } printf("姓名:%s 学号:%s 高数:%d 英语:%d\n",Stu[i].Name,Stu[i].ID_number,Stu[i].math,Stu[i].english); } }
储存函数
void Save_Students(Student *S) { int i; char str[16]={'\0'}; printf("请输入文件名:"); scanf("%s",str); char Enter='\n'; FILE *fp; if((fp = fopen(str,"w"))==NULL){ printf("打开文件出错!\n"); return ; } for(i=0;i<SIZE;i++) { if(S[i].english<0||S[i].english>100){ continue; } fprintf(fp,"姓名:%s 学号:%s 高数:%d 英语:%d%c",S[i].Name,S[i].ID_number,S[i].math,S[i].english,Enter); } fclose(fp); printf("保存完成\n"); }
main函数菜单
int main() { int sl; char del[10]={'\0'}; char inq[10]={'\0'}; Student Stu[SIZE]; do { start:printf("菜单\n输入学生成绩...1\n删除学生成绩...2\n查询学生成绩...3\n打印全部学生信息...4\n退出并存入文件...0\n"); scanf("%d",&sl); switch(sl){ case 0:Save_Students(Stu);exit(0); case 1:Input_Students(Stu);system("pause");system("cls");break; case 2:printf("请输入要删除的学生学号:");scanf("%s",del);Del_Student(Stu,del);system("pause");system("cls");break; case 3:printf("请输入要查询的学生学号:");scanf("%s",inq);Inquire_Student(Stu,inq);system("pause");system("cls");break; case 4:Print_Students(Stu);system("pause");system("cls");break; default:goto start; } }while(1); }
- 点赞 2
- 收藏
- 分享
- 文章举报
相关文章推荐
- C语言创建简单的学生成绩管理系统
- C语言编写的简单的学生成绩管理系统
- C语言编写的简单的学生成绩管理系统
- C_综合使用数组实现简单的学生成绩管理系统
- C语言小项目(简单的学生成绩管理系统)
- C语言实现简单学生成绩管理系统
- 简单的C语言学生管理系统加成绩管理系统
- (C语言)利用结构体数组制作学生成绩管理系统
- C语言利用结构体数组实现学生成绩管理系统
- 用C语言写的炒鸡简单的学生成绩管理系统
- 《C语言编写 学生成绩管理系统》
- C语言实现学生成绩管理系统
- 学生成绩管理系统-C语言
- (C语言) 怎么用代码实现一个学生成绩管理系统
- c语言学生成绩管理系统
- C实现的一个简单的学生成绩管理系统
- 《C语言编写 学生成绩管理系统》
- 运用数组创建控制台输出学生成绩管理【走进JAVA-3.1】
- C编写简单的学生成绩管理系统
- 菜鸟修炼C语言小设计之——学生成绩管理系统