- ----------------------学生成绩管理程序 - 软件编程课程设计 一、题目 1.利用 C 语言设计一个简单的学生成绩管理程序,主要功能包括: (1)学生成绩纪录输入。 (2)学生成绩查询; (3)学生成绩修改; (4)学生成绩删除。 规定:(1)学生纪录包括学号、姓名和总分三部分; (2)所有的学生纪录全存放在一个文件中; (3)以二进制的形式进行输出。 四、源程序代码 #include /*引用库函数*/ #include #include #include typedef struct /*定义结构体数组*/ { char num[10]; /*学号*/ char name[20]; /*姓名*/ int score; /*成绩*/ }Student; Student stu[80]; /*结构体数组变量*/ int menu_select() /*菜单函数*/ 软件编程课程设计报告 2 { char c; do{ system("cls"); /*运行前清屏*/ printf("\t\t\t****学生成绩管理程序****\n"); /*菜单选择*/ printf("\t\t\t | 1. 请输入学生记录 |\n"); printf("\t\t\t | 2. 删除记录|\n"); printf("\t\t\t | 3. 查找数据 |\n"); printf("\t\t\t | 4. 写入文件 |\n"); printf("\t\t\t | 5. 改写成绩 |\n"); printf("\t\t\t | 0. 退出程序 |\n"); printf("请选择 (0-5):"); c=getchar(); /*读入选择*/ }while(c<'0'||c>'5'); return(c-'0'); /*返回选择*/ } int Input(Student stud[],int n) /*输入若干条记录*/ {int i=0; char sign,x[10]; /*x[10]为清除多余的数据所用*/ while(sign!='n'&&sign!='N') /*判断*/ { printf("\t\t\t学生的学号:"); /*交互输入*/ scanf("\t\t\t%s",stud[n+i].num); printf("\t\t\t 学生的姓名:"); scanf("\t\t\t%s",stud[n+i].name); printf("\t\t\t 学生的成绩:"); scanf("\t\t\t%d",&stud[n+i].score); gets(x); /*清除多余的输入*/ printf("\t\t 是否继续?(Y/N)"); scanf("\t\t\t%c",&sign); /*输入判断*/ i++; } return(n+i); } int Delete_a_record(Student stud[],int n) /*按姓名查找,删除一条记录*/ { char s[20]; int i=0,j; printf("\t\t\ttell me his(her) name:"); /*交互式问寻*/ scanf("%s",s); while(strcmp(stud[i].name,s)!=0&&i