班级学号: 021110212
姓名: 卢荼
同组同学。成绩。
时间: 2011. 6 .28
题目: 班级档案管理系统。
一、设计任务与目标。
对一个有n个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。
功能要求:1)本系统采用一个包含n个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。
2)本系统显示这样的菜单:
请选择系统功能项:
a 学生基本信息录入。
b 学生基本信息显示。
c 学生基本信息保存。
d 学生基本信息删除。
e 学生基本信息修改(要求先输入密码)
f 学生基本信息查询。
1)按学号查询。
2)按姓名查询。
3)按性别查询。
4)按年龄查询。
g. 退出系统。
3)执行一个具体的功能之后,程序将重新显示菜单。
4)将学生基本信息保存到文件中。
5)进入系统之前要先输入密码。
二、方案设计与论证。
主要采用结构体数组,通过scanf函数从键盘输入学生各种信息,每当修改学生信息时需要调用密码验证函数。定义了一个文件指针,密码验证函数中,通过fopen打开已有文本文件,然后通过fgetc逐个读取该文件中的字符来实现。退出系统时向学生信息文件中写入数据并关闭文件就实现了保存文件的功能。
三、概要设计。
主函数: int main()
输入函数: student *create()
显示函数: void print(student *head)
查询函数: void search(student *head)
删除函数: student *delete(student *head)
插入函数: student *insert(student *head,student *new)
保存函数: void s**e(student *head)
输入函数: 随时输入数据。
显示函数: 显示各个函数和数据。
寻找函数: 方便学生查找自己的信息。
删除函数: 方便工作人员修改学生信息。
插入函数: 可以插入新的信息。
保存函数: 保存好学生信息,以免丢失。
.显示模块:
通过设计一个模块,来实现学生信息的显示。以便于浏览学生的信息。
.追加模块:
通过设计一个模块,当要加入新的学生的信息的时候,来实现新学生信息的加入。
查询模块:通过设计一个模块,这个模块可以按学生的学号、姓名来查询学生所有的信息,并显示学生的所有信息,以便查询者阅读。
删除模块:通过设计一个模块,当输入一个学生的学号或者姓名的时候,可以通过这个模块,将输入学号或者姓名的学生的所有信息从数据库中删除出去。以后,这个学生的信息将不再会出现再数据库中。
修改模块:通过设计一个模块,当某个人的信息发生变化的时候,可以通过修改模块来进行修改。修改模块时一具有多级子菜单的摸块。使用十分的方便、灵活。
排序模块:通过设计一个模块,来实现数据库的信息按某项成员名的伸序或者降序排列。这个模块提供了按学号、姓名、年龄三种方式来实现排序,使浏览者一目了然。
四、程序框图或流程图,程序清单与调用关系。
五、程序源**。
#include <>
#include <>
#include <>
#include <>
#define n 3
struct student
char name[10];
char no[10];
char sex;
int age;
char bnote[100];
void print(bool menu)//打印基本信息。
if (!menu)
elseprintf("退出学生信息系统 ,press 7");
bool check(char pas[6])/密码验证。
file *fp;
char ch;
char a[7]=;
int i = 0;
if ((fp=fopen("c:\"))null)
ch=fgetc(fp);
while (ch!=eof&&i<6)
a[6] =0';
if (!strcmp(pas,a))
elsefclose(fp);
void getinfo(struct student *arr,int n)//学生基本信息录入。
for (int i = 0;i
void display(struct student* arr,int n)//学生基本信息显示。
printf("学生信息: name no sex age note");
for (int i = 0;i
void s**e(struct student* arr,int n)//学生基本信息保存,保存在c:\\
file * fp;
fp= fopen("c:\\w+")
if (fp ==null)
fwrite(arr,sizeof(struct student)*n,n,fp);
fclose(fp);
void modfiy(struct student* arr,int n)//学生基本信息修改。
char number[10];
bool flag=false;
char pass[6];
printf("请输入密码:");
scanf("%s",pass);
if (check(pass))
if (flag ==false)
void delete(struct student* arr,int n)//学生基本信息删除。
char number[10];
bool flag=false;
printf("delete information:");
printf("please input the no:");
scanf("%s",number);
for (int i =0;i
if (flag ==true)
高级语言程序设计
总分 100.00,做题时间 90分钟 一 单项选择题 总题数 15,分数 30.00 语言早期规定建立文件缓冲区采用的形式是 分数 2.00 a.缓冲文件系统。b.非缓冲文件系统。c.分页文件系统。解析 2.以下是对二维数组的正确说明的是 分数 2.00 a 3,4 a 1 4 a 3 4 解析 ...
高级语言程序设计
36.下面程序的运行结果是。include void main int a 2,b 1,c 2 if aif b 0 c 0 else c printf c d c 参 考察知识点 if语句的嵌套。运行结果 c 2 下面程序的运行结果是。include void main int a,b,c a 3...
高级语言程序设计A
安徽大学20 20 学年第 1 学期。高级语言程序设计 考试试卷 a卷 闭卷时间120分钟 考场登记表序号。一 单项选择题 每小题2分,共20分 1.以下语句能正确定义整型变量 a b c 的是。a.a,b,c b.int a,b,c c.float a,b,c d.int a b c 2.已知 a...