您现在的位置是:主页 > news > 网站策划包括什么/seo草根博客

网站策划包括什么/seo草根博客

admin2025/4/30 3:59:21news

简介网站策划包括什么,seo草根博客,做网站的图片需要多少钱,网站制作介绍设计要求: 学生信息管理系统 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计学生信息管理系统,使之能提供以下功能: (1…

网站策划包括什么,seo草根博客,做网站的图片需要多少钱,网站制作介绍设计要求: 学生信息管理系统 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计学生信息管理系统,使之能提供以下功能: (1…

设计要求:

学生信息管理系统
学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计学生信息管理系统,使之能提供以下功能:
(1) 系统以菜单方式工作
(2) 学生信息录入功能(学生信息用文件保存)—输入
(3) 学生信息浏览功能—输出
(4) 查询、排序功能—算法
(5) 按学号查询
(6) 按姓名查询
(7) 学生信息的删除与修改

对于文件操作是二进制读入读出,保存数据会保存到和cpp同一文件夹中的data.txt文件中,如果没有在保存数据后会自动创建

对于数据在内存中的临时的储存采用双链表结构

#include <iostream>
#include <cstdio>
#include <stdlib.h>
#include <string.h>using namespace std;const int Len = 20;
/* run this program using the console pauser or add your own getch, system("pause") or input loop *///菜单栏
void menu(void)
{printf("                     ==================================================\n");printf("                    |                     menu                         |\n");printf("                    | 1.学生信息录入                                   |\n");printf("                    | 2.学生信息查询                                   |\n");printf("                    | 3.学生信息删除                                   |\n");printf("                    | 4.学生信息修改                                   |\n");printf("                    | 5.读取数据                                       |\n");printf("                    | 6.保存数据                                       |\n");printf("                    | 7.退出                                           |\n");printf("                     ==================================================\n");	
} //一个学生结构体类型 
typedef struct{char name[Len];int age;char sex[Len];int stnumber;char birthday[Len];char adress[Len];char telephone[Len];char email[Len];
}studentinf;//链表
typedef struct Node
{studentinf data;struct Node *next;struct Node *pre;	
}Node;Node * head = NULL;
Node * end = NULL;//信息读入 
void infinput(void)
{studentinf student;printf("请输入学生姓名:\n"); scanf("%s",student.name);printf("请输入学生年龄:\n"); scanf("%d",&(student.age));printf("请输入学生性别:\n"); scanf("%s",student.sex);printf("请输入学生学号:\n"); scanf("%d",&(student.stnumber));printf("请输入学生生日:\n"); scanf("%s",student.birthday);printf("请输入学生住址:\n"); scanf("%s",student.adress);printf("请输入学生电话:\n"); scanf("%s",student.telephone);printf("请输入学生邮箱:\n"); scanf("%s",student.email);printf("---------------------------------------信息录入成功-------------------------------------------\n");printf("\n");printf("\n");//向链表中插入新结点 Node * temp = (Node*)malloc(sizeof(Node));temp->data = student;//会存在问题---需要全部的data成员都进行了明确的赋值!! printf("录入成功!\n");temp->next = NULL;temp->pre = NULL; if(NULL == head){head = temp;end = temp;}else{end -> next = temp;temp -> pre = end;end = temp;}}//按照姓名 查询 
void fname(char* findname)
{Node *temp = head;if(temp == NULL) printf("请先录入学生信息!\n");while(temp != NULL){//if(temp) printf("temp 有东西\n");if(!(strcmp((temp->data).name,findname))){//输出他的所有信息printf("查询成功!\n");printf("----------------------------\n");printf("姓名:%s\n",(temp->data).name);printf("年龄:%d\n",(temp->data).age);printf("性别:%s\n",(temp->data).sex);printf("学号:%d\n",(temp->data).stnumber);printf("生日:%s\n",(temp->data).birthday);printf("住址:%s\n",(temp->data).adress);printf("电话:%s\n",(temp->data).telephone);printf("邮箱:%s\n",(temp->data).email);printf("----------------------------\n");break;}temp = temp->next;if(temp == NULL) printf("请输入正确学生姓名!\n");	}}
//按照学号查询
void fstnumber(int findstnumber)
{	Node *temp = head;if(temp == NULL) printf("请先录入学生信息!\n");while(temp != NULL){if((temp->data).stnumber == findstnumber){//输出他的所有信息printf("查询成功!\n");printf("----------------------------\n");printf("姓名:%s\n",(temp->data).name);printf("年龄:%d\n",(temp->data).age);printf("性别:%s\n",(temp->data).sex);printf("学号:%d\n",(temp->data).stnumber);printf("生日:%s\n",(temp->data).birthday);printf("住址:%s\n",(temp->data).adress);printf("电话:%s\n",(temp->data).telephone);printf("邮箱:%s\n",(temp->data).email);printf("----------------------------\n");break;}temp = temp->next;if(temp == NULL) printf("请输入正确学生学号!\n");}} //查询菜单及其操作 
void inffind()
{printf("             ==================================================\n");printf("            |                     menu                         |\n");printf("            | 1.按照学生姓名查询                               |\n");printf("            | 2.按照学生学号查询                               |\n");printf("             ==================================================\n");printf("请输入1或2!!!!\n");	int op;//操作序号 while(1){scanf("%d",&op);	if(op == 1){system("cls");printf("请输入查询姓名:\n");char findname[Len];scanf("%s",findname);printf("查询中...\n");fname(findname);break;}else if(op == 2){system("cls");printf("请输入查询学号:\n");int findstnumber;scanf("%d",&findstnumber);fstnumber(findstnumber);break;		}}}void delinf()
{printf("请输入要删除学生信息的姓名:\n");char delname[Len];scanf("%s",delname);//链表查找Node *temp = head;if(temp == NULL) printf("请先录入学生信息!\n");while(temp != NULL){//if(temp) printf("temp 有东西\n");if(!(strcmp((temp->data).name,delname)))//-------------------出现问题!(temp->data).name == delname总是为假 ,因为字符串不能直接比较,需要借用strcmp函数! {//输出他的所有信息printf("----------------------------\n");printf("姓名:%s\n",(temp->data).name);printf("年龄:%d\n",(temp->data).age);printf("性别:%s\n",(temp->data).sex);printf("学号:%d\n",(temp->data).stnumber);printf("生日:%s\n",(temp->data).birthday);printf("住址:%s\n",(temp->data).adress);printf("电话:%s\n",(temp->data).telephone);printf("邮箱:%s\n",(temp->data).email);printf("----------------------------\n");printf("正在删除...\n");if(temp->next == NULL && temp -> pre == NULL){free(temp);printf("删除成功!\n");break;}if(temp->next == NULL)//删除尾结点 {temp->pre->next = NULL;}else if(temp -> pre == NULL)//删除首结点 {temp->next->pre = NULL;}else{temp->pre->next = temp->next;temp->next->pre = temp->pre;}free(temp);printf("删除成功!\n");break;}//printf("===当前遍历到学生%s===\n",(temp->data).name);temp = temp->next;if(temp == NULL) printf("请输入正确学生姓名!\n");	} 
}void changinf()
{Node *temp = head;if(temp == NULL) printf("请先录入学生信息!\n");char changname[Len];printf("输入修改的学生姓名:\n");scanf("%s",changname);while(temp != NULL){//if(temp) printf("temp 有东西\n");if(!(strcmp((temp->data).name,changname))){//输出他的所有信息printf("----------------------------\n");printf("姓名:%s\n",(temp->data).name);printf("年龄:%d\n",(temp->data).age);printf("性别:%s\n",(temp->data).sex);printf("学号:%d\n",(temp->data).stnumber);printf("生日:%s\n",(temp->data).birthday);printf("住址:%s\n",(temp->data).adress);printf("电话:%s\n",(temp->data).telephone);printf("邮箱:%s\n",(temp->data).email);printf("----------------------------\n");//修改操作studentinf student;printf("请输入学生姓名:\n"); scanf("%s",student.name);printf("请输入学生年龄:\n"); scanf("%d",&(student.age));printf("请输入学生性别:\n"); scanf("%s",student.sex);printf("请输入学生学号:\n"); scanf("%d",&(student.stnumber));printf("请输入学生生日:\n"); scanf("%s",student.birthday);printf("请输入学生住址:\n"); scanf("%s",student.adress);printf("请输入学生电话:\n"); scanf("%s",student.telephone);printf("请输入学生邮箱:\n"); scanf("%s",student.email);temp->data = student;printf("---------------------------------------信息修改成功-------------------------------------------\n");printf("\n");printf("\n");printf("----------------------------------------------------------------------------------------------\n");printf("姓名:%s\n",(temp->data).name);printf("年龄:%d\n",(temp->data).age);printf("性别:%s\n",(temp->data).sex);printf("学号:%d\n",(temp->data).stnumber);printf("生日:%s\n",(temp->data).birthday);printf("住址:%s\n",(temp->data).adress);printf("电话:%s\n",(temp->data).telephone);printf("邮箱:%s\n",(temp->data).email);printf("----------------------------------------------------------------------------------------------\n");			 break;}temp = temp->next;if(temp == NULL) printf("请输入正确学生姓名!\n");		
}
}//从文件中读取数据
void read_data()
{printf("读取中...\n");	FILE *fp = NULL;fp = fopen("data.txt","rb");//将data.txt中的数据从文件中读出存入到链表中去while(!feof(fp)){Node * tmp = (Node*)malloc(sizeof(Node));fread(&(tmp->data),sizeof(studentinf),1,fp);tmp->next = NULL;tmp->pre = NULL;if(NULL == head){head = tmp;end = tmp;}	else{end ->next = tmp;tmp ->pre = end;end = tmp;}}fclose(fp);	printf("读取中成功!\n");
} //存数据到文件 
void save_data()
{printf("保存中...\n");	FILE *fp = NULL;fp = fopen("data.txt","wb");//打开一个文件,允许写入文件,默认当前路径 //将链表的所有data 写入到文件data.txt中去Node *tmp = head;while(tmp != NULL){fwrite(&(tmp->data),sizeof(studentinf),1,fp);	tmp = tmp->next;}fclose(fp); 
}
int main()
{menu();int op;//操作序号 printf("请输入1-7的数字!\n");while(1){scanf("%d",&op);	if(op == 1){system("cls");infinput();menu();}else if(op == 2){system("cls");inffind();menu();		}else if(op == 3){system("cls");delinf();menu();	}else if(op == 4){system("cls");changinf();menu();		}else if(op == 5)//读取数据 {system("cls");read_data();menu();}else if(op == 6)//保存数据 {system("cls");save_data();menu();}else if(op == 7){break;}else{printf("input error!\n");}}return 0;
}