求【学生信息管理系统设计】程序修改~~~~附【要求】【代码】
【要求】学生信息管理系统设计
学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一个学生信息管理系统,使之能提供以下功能:
1) 系统以菜单方式工作;
2) 学生信息录入功能--输入;
3) 学生信息浏览功能--输出;
4) 学生信息查询功能--算法;
? 按学号查询
? 按姓名查询
5) 学生信息的删除与修改(可选项)
[输入要求]
应用程序运行后,在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。
[输出要求]
1) 应用程序运行后,要在屏幕上显示一个菜单。
2) 要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式。
[提示]
设计一个结构类型和一维数组类型,用来保存学生信息。
【代码】#include<stdio.h>
#include <string.h>
#define NUM 2
typedef struct {
int year;
int month;
int day;
}DATE;
typedef struct {
int number;
char name[24];
char sex[24];
DATE birthday;
char address[80];
long phone;
char email[90];
}STUDENTINFO;
void displayMenu();
int choiceItem();
void inputInfo(STUDENTINFO[]);
void outputInfo(STUDENTINFO[]);
void searchInfo(STUDENTINFO[],int n);
void searchInfoo(STUDENTINFO[],char n[24]);
main()
{
STUDENTINFO s[NUM];
int xuehao;
char xingming[24];
int n,choice;
system("cls");
do{
choice=choiceItem();
switch(choice){
case 1:
inputInfo(s);
break;
case 2:
outputInfo(s);
break;
case 3:
printf("\nenter a xuehao");
scanf("%d",&xuehao);
searchInfo(s,xuehao);
break;
case 4:
printf("\nenter a xingming");
scanf("%s",&xingming);
searchInfo(s,xingming);
break;
}
}while(choice!=0);
printf("\n\nbyebye!!");
inputInfo(s);
outputInfo(s);
}
void displayMenu()
{
printf("\n==========MENU==========\n");
printf("\n 1 ........InputInfo \n");
printf("\n 2 ........OutputInfo \n");
printf("\n 3 ........SearchInfo \n");
printf("\n 4 ........SearchInfo \n");
printf("\n 0 ........Exit \n");
printf("\n Choice:");
}
int choiceItem()
{
int choice;
char line[80];
do{
displayMenu();
gets(line);
choice=atoi(line);
}while(choice<0||choice>4);
return choice;
}
void inputInfo(STUDENTINFO s[])
{
int i;
STUDENTINFO stu;
printf("enter the %d student's information(number name sex birthday address phone email\n):",NUM);
for (i=0; i<NUM; i++){
s[i].number=i+1;
printf("\n number name sex birthday address phone email");
scanf("%d", &stu.number);
scanf("%s", &stu.name);
scanf("%s", &stu.sex);
scanf("%d%d%d", &stu.birthday.year,&stu.birthday.month,&stu.birthday.day);
scanf("%s", &stu.address);
scanf("%lf", &stu.phone);
scanf("%s", &stu.email);
s[i]=stu;
}
}
void outputInfo(STUDENTINFO s[])
{
int i;
printf("\n number name sex birthday address phone email\n");
for (i=0; i<NUM; i++){
printf("\n%4d%14s%14s%4d%4d%4d%20lf%14s",
s[i].number,s[i].name,s[i].sex,
s[i].birthday.year,s[i].birthday.month,s[i].birthday.day,
s[i].address,s[i].phone,s[i].email);
}
}
void searchInfo(STUDENTINFO s[],int n)
{
int i;
for(i=0;i<NUM;i++){
if (s[i].number==n){
printf("\n%4d%14s%14s%4d%4d%4d%20lf%14s",
s[i].number,s[i].name,s[i].sex,
s[i].birthday.year,s[i].birthday.month,s[i].birthday.day,
s[i].address,s[i].phone,s[i].email);
}
}
}
void searchInfoo(STUDENTINFO s[],char n[24])
{
int i;
for(i=0;i<NUM;i++){
if (strcmp(s[i].name,n)==0){
printf("\n%4d%14s%14s%4d%4d%4d%20lf%14s",
s[i].number,s[i].name,s[i].sex,
s[i].birthday.year,s[i].birthday.month,s[i].birthday.day,
s[i].address,s[i].phone,s[i].email);
}
}
}