学生信息管理系统设计 C语言 谢谢啦
学生信息包括:性别,出学号,姓名,年龄,生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:系统以文本菜单方式工作,
学生信息录入功能(学生信息最好用文件保存)---输入
学生信息浏览功能---输出
查询、排序功能---算法
按学号查询
按姓名查询
学生信息的删除与修改(可选项)
学生信息包括:性别,出学号,姓名,年龄,生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:系统以文本菜单方式工作,
学生信息录入功能(学生信息最好用文件保存)---输入
学生信息浏览功能---输出
查询、排序功能---算法
按学号查询
按姓名查询
学生信息的删除与修改(可选项)
答案:我提供一个程序,可能不太完整,我以前写的。代码并不多,你可以改改.
现在程序是测试通过的
/*
* stumng.h
*/
#ifndef STUMNG_H
#define STUMNG_H
#define ADD 1 /*add student's information */
#define MODIFY 2 /*modify student's information*/
#define SEARCH 3 /*search student's information*/
#define BROWSE 4
#define DELETE 5
#define IMPORT 6
#define EXPORT 7
#define QUIT 8
void on_add();
void on_modify();
void on_search();
void on_browse();
void on_delete();
void on_import();
void on_export();
void on_quit();
#define MAX_STUDENT_NUM 20
struct student {
int sno;
char name[10];
unsigned short age;
char 易做图[5];
char birthday[20];
char address[300];
char tel[5];
char email[30];
} stutab[MAX_STUDENT_NUM];struct menu {
int mno;
char name[50];
void (*handle)();
} menutab[] = {
{ADD, "增加学生信息", on_add},
{MODIFY, "修改学生信息", on_modify},
{SEARCH, "查询学生信息", on_search},
{BROWSE, "浏览学生信息", on_browse},
{DELETE, "删除学生信息", on_delete},
{IMPORT, "导入学生信息", on_import},
{EXPORT, "导出学生信息", on_export},
{QUIT, "退出系统", on_quit},
};#define MENU_NUM (sizeof menutab / sizeof menutab[0])
#endif/*
*file: stumng.c
*/
#include <stdio.h>
#include <string.h>#include "stumng.h"
int next_index = 0;
void on_add()
{
if (next_index == MAX_STUDENT_NUM) {
printf("存储空间已满,最大只能存%d条记录\n", MAX_STUDENT_NUM);
} else {
printf("学号(如:1):");
scanf("%d", &stutab[next_index].sno);
printf("姓名(如:张三):");
scanf("%s", stutab[next_index].name);
printf("年龄(如:20):");
scanf("%d", &stutab[next_index].age);
printf("性别(男、女,如:男):");
scanf("%s", stutab[next_index].易做图);
printf("出生年月(如:1990-01-12):");
scanf("%s", stutab[next_index].birthday);
printf("地址(如:杭州市xx区):");
scanf("%s", stutab[next_index].address);
printf("电话(如:13100000000):");
scanf("%s", stutab[next_index].tel);
printf("E-mail(如:xxx@163.com):");
scanf("%s", stutab[next_index].email);
next_index++;
printf("成功添加1条记录\n");
}
}void on_modify()
{
int sno, index, count = 0;
printf("输入要修改学生的学号:");
scanf("%d", &sno);
if ((index = exists_student(sno)) != -1) {
printf("姓名(%s)修改为:", stutab[index].name);
scanf("%s", stutab[index].name);
printf("年龄(%d)修改为:", stutab[index].age);
scanf("%d", &stutab[index].age);
printf("性别(%s)修改为:", stutab[index].易做图);
scanf("%s", stutab[index].易做图);
printf("出生年月(%s)修改为:", stutab[index].birthday);
scanf("%s", stutab[index].birthday);
printf("地址(%s)修改为:", stutab[index].address);
scanf("%s", stutab[index].address);
printf("电话(%s)修改为:", stutab[index].tel);
scanf("%s", stutab[index].tel);
printf("E-mail(%s)修改为:", stutab[index].email);
scanf("%s", stutab[index].email);
count++;
} else {
printf("没有要修改学生的信息记录\n");
}
printf("%d条记录已被修改!\n", count);
}void on_search()
{
int condition = 0;
int sno;
char name[10];
int index;
int count = 0;
printf("请选择查询条件(1学号, 2姓名):");
scanf("%d", &condition);
if (condition == 1) {
printf("输入学号:");
scanf("%d", &sno);
printf("学号\t姓名\t年龄\t性别\t生日\t地址\t\t电话\tEmail\n");
if ((index = exists_student(sno)) != -1) {
printf("%d\t%s\t%d\t%s\t%s\t%s\t\t%s\t%s\n", stutab[index].sno,
stutab[index].name, stutab[index].age, stutab[index].易做图,
stutab[index].birthday, stutab[index].address, stutab[index].tel,
stutab[index].email);
count++;
}
} else if (condition == 2) {
printf("输入姓名:");
scanf("%s", name);printf("学号\t姓名\t年龄\t性别\t生日\t地址\t\t电话\tEmail\n");
for (index = 0; index < next_index; index++) {
if (strncmp(name, stutab[index].name, strlen(name)) == 0) {
printf("%d\t%s\t%d\t%s\t%s\t%s\t\t%s\t%s\n", stutab[index].sno,
上一个:C语言要学多久才能学好的?
下一个:C语言怎嘛才能学好呢?